T-Test ในการเขียนโปรแกรม R: หนึ่งตัวอย่างและ T-Test แบบจับคู่ [ตัวอย่าง]
การอนุมานทางสถิติคืออะไร?
การอนุมานทางสถิติเป็นศิลปะในการสร้างข้อสรุปเกี่ยวกับการกระจายตัวของข้อมูล นักวิทยาศาสตร์ด้านข้อมูลมักต้องเผชิญกับคำถามที่สามารถตอบได้ในเชิงวิทยาศาสตร์เท่านั้น ดังนั้นการอนุมานทางสถิติจึงเป็นกลยุทธ์ในการทดสอบว่าสมมติฐานนั้นเป็นจริงหรือไม่ กล่าวคือ ตรวจสอบความถูกต้องโดยข้อมูล
กลยุทธ์ทั่วไปในการประเมินสมมติฐานคือทำการทดสอบที การทดสอบทีสามารถบอกได้ว่าทั้งสองกลุ่มมีค่าเฉลี่ยเท่ากันหรือไม่ การทดสอบทีเรียกอีกอย่างว่า a การทดสอบนักเรียน- ค่า t-test สามารถประมาณได้สำหรับ:
- เวกเตอร์ตัวเดียว (เช่น การทดสอบทีหนึ่งตัวอย่าง)
- เวกเตอร์สองตัวจากกลุ่มตัวอย่างเดียวกัน (เช่น การทดสอบทีคู่กัน)
คุณถือว่าเวกเตอร์ทั้งสองสุ่มตัวอย่าง เป็นอิสระ และมาจากประชากรที่แจกแจงแบบปกติโดยมีความแปรปรวนที่ไม่ทราบแน่ชัดแต่เท่ากัน
T-Test ในการเขียนโปรแกรม R คืออะไร?
แนวคิดพื้นฐานเบื้องหลังการทดสอบ T คือการใช้สถิติเพื่อประเมินสมมติฐานที่ขัดแย้งกันสองข้อ:
- H0: สมมติฐาน NULL: ค่าเฉลี่ยเท่ากับกลุ่มตัวอย่างที่ใช้
- H3: สมมติฐานที่แท้จริง: ค่าเฉลี่ยแตกต่างจากกลุ่มตัวอย่างที่ใช้
โดยทั่วไปจะใช้การทดสอบ T กับตัวอย่างที่มีขนาดน้อย หากต้องการทำการทดสอบที คุณจะต้องถือว่าข้อมูลเป็นปกติ
ไวยากรณ์ T-Test ใน R
ไวยากรณ์พื้นฐานสำหรับ t.test() ใน R คือ:
t.test(x, y = NULL, mu = 0, var.equal = FALSE) arguments: - x : A vector to compute the one-sample t-test - y: A second vector to compute the two sample t-test - mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`
ตัวอย่าง T-Test หนึ่งตัวอย่างใน R
การทดสอบ t-test ของตัวอย่างเดียว หรือการทดสอบของนักเรียน เป็นการเปรียบเทียบค่าเฉลี่ยของเวกเตอร์กับค่าเฉลี่ยเชิงทฤษฎี - สูตรที่ใช้คำนวณการทดสอบทีคือ:
ที่นี่
หมายถึงค่าเฉลี่ย
ถึงค่าเฉลี่ยทางทฤษฎี
- s คือส่วนเบี่ยงเบนมาตรฐาน
- n จำนวนการสังเกต
ในการประเมินนัยสำคัญทางสถิติของการทดสอบที คุณต้องคำนวณ p-value. p-value มีตั้งแต่ 0 ถึง 1 และตีความได้ดังนี้:
- ค่า p ที่ต่ำกว่า 0.05 หมายความว่าคุณมั่นใจอย่างยิ่งที่จะปฏิเสธสมมติฐานว่าง ดังนั้น H3 จึงได้รับการยอมรับ
- ค่า p ที่สูงกว่า 0.05 แสดงว่าคุณมีหลักฐานไม่เพียงพอที่จะปฏิเสธสมมติฐานที่เป็นโมฆะ
คุณสามารถสร้างค่า p ได้โดยการดูค่าสัมบูรณ์ที่สอดคล้องกันของการทดสอบทีในการแจกแจงของนักเรียนโดยมีระดับความเป็นอิสระเท่ากับ
ตัวอย่างเช่น หากคุณมีข้อสังเกต 5 รายการ คุณต้องเปรียบเทียบค่า t กับค่า t ในการแจกแจงของนักเรียนที่มีระดับความเป็นอิสระ 4 องศาและที่ช่วงความเชื่อมั่น 95 เปอร์เซ็นต์ หากต้องการปฏิเสธสมมติฐานว่าง ค่า t ควรสูงกว่า 2.77
ตาราง CF ด้านล่าง:
ตัวอย่างการทดสอบ T หนึ่งตัวอย่างใน R
สมมติว่าคุณเป็นบริษัทที่ผลิตคุกกี้ คุกกี้แต่ละชิ้นควรมีน้ำตาล 10 กรัม คุกกี้ผลิตโดยเครื่องจักรที่เติมน้ำตาลลงในชามก่อนจะผสมทุกอย่าง คุณเชื่อว่าเครื่องไม่ได้เติมน้ำตาล 10 กรัมต่อคุกกี้แต่ละอัน หากสมมติฐานของคุณเป็นจริง จำเป็นต้องซ่อมเครื่อง คุณเก็บระดับน้ำตาลไว้ที่ XNUMX คุกกี้
หมายเหตุ: คุณสามารถสร้างเวกเตอร์แบบสุ่มด้วยฟังก์ชัน rnorm() ฟังก์ชันนี้สร้างค่าที่แจกแจงแบบปกติ ไวยากรณ์พื้นฐานคือ:
rnorm(n, mean, sd) arguments - n: Number of observations to generate - mean: The mean of the distribution. Optional - sd: The standard deviation of the distribution. Optional
คุณสามารถสร้างการแจกแจงด้วยการสังเกต 30 ครั้ง โดยมีค่าเฉลี่ย 9.99 และค่าเบี่ยงเบนมาตรฐาน 0.04
set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04) head(sugar_cookie)
Output:
## [1] 9.967581 9.980793 10.052348 9.992820 9.995172 10.058603
คุณสามารถใช้การทดสอบแบบตัวอย่างเดียวเพื่อตรวจสอบว่าระดับน้ำตาลแตกต่างจากสูตรหรือไม่ คุณสามารถทำแบบทดสอบสมมติฐานได้:
- H0: ระดับน้ำตาลเฉลี่ยเท่ากับ 10
- H3: ระดับน้ำตาลเฉลี่ยต่างกันกว่า 10
คุณใช้ระดับนัยสำคัญ 0.05
# H0 : mu = 10 t.test(sugar_cookie, mu = 10)
นี่คือผลลัพธ์:
ค่า p ของการทดสอบทีหนึ่งตัวอย่างคือ 0.1079 และสูงกว่า 0.05 มั่นใจได้ถึง 95% ว่าปริมาณน้ำตาลที่เติมในเครื่องอยู่ระหว่าง 9.973 ถึง 10.002 กรัม คุณไม่สามารถปฏิเสธสมมติฐานว่าง (H0) ได้ ไม่มีหลักฐานเพียงพอว่าปริมาณน้ำตาลที่เติมโดยเครื่องไม่เป็นไปตามสูตร
จับคู่ T-Test ใน R
การทดสอบทีแบบคู่หรือการทดสอบทีตัวอย่างตามจะใช้เมื่อคำนวณค่าเฉลี่ยของกลุ่มที่บำบัดสองครั้ง การใช้งานพื้นฐานของ paired t-test คือ:
- การทดสอบ A / B: เปรียบเทียบสองรุ่น
- การศึกษาการควบคุมกรณี: ก่อน/หลังการรักษา
ตัวอย่าง T-Test ที่จับคู่ใน R
บริษัทเครื่องดื่มแห่งหนึ่งสนใจที่จะทราบประสิทธิภาพของโปรแกรมส่วนลดในการขาย บริษัทจึงตัดสินใจติดตามยอดขายรายวันของร้านค้าแห่งหนึ่งที่โปรแกรมดังกล่าวกำลังโปรโมต เมื่อสิ้นสุดโปรแกรม บริษัทต้องการทราบว่ามีข้อแตกต่างทางสถิติระหว่างยอดขายเฉลี่ยของร้านค้าก่อนและหลังโปรแกรมหรือไม่
- บริษัทติดตามยอดขายทุกวันก่อนเริ่มโครงการ นี่คือเวกเตอร์แรกของเรา
- โปรแกรมจะทำการโปรโมตเป็นเวลาหนึ่งสัปดาห์และบันทึกยอดขายทุกวัน นี่คือเวกเตอร์ที่สองของเรา
- คุณจะทำการทดสอบทีเพื่อตัดสินประสิทธิภาพของโปรแกรม สิ่งนี้เรียกว่าการทดสอบทีคู่กัน เนื่องจากค่าของเวกเตอร์ทั้งสองมาจากการแจกแจงแบบเดียวกัน (นั่นคือ ร้านเดียวกัน)
การทดสอบสมมติฐานคือ:
- H0: ค่าเฉลี่ยไม่มีความแตกต่าง
- H3: ทั้งสองวิธีแตกต่างกัน
โปรดจำไว้ว่า สมมติฐานอย่างหนึ่งในการทดสอบทีคือความแปรปรวนที่ไม่ทราบแน่ชัดแต่เท่ากัน ในความเป็นจริง ข้อมูลแทบจะไม่มีค่าเฉลี่ยเท่ากัน และนำไปสู่ผลลัพธ์ที่ไม่ถูกต้องสำหรับการทดสอบที
วิธีแก้ปัญหาวิธีหนึ่งที่จะผ่อนคลายสมมติฐานความแปรปรวนที่เท่ากันคือการใช้การทดสอบของเวลช์ R ถือว่าความแปรปรวนทั้งสองไม่เท่ากันโดยค่าเริ่มต้น ในชุดข้อมูลของคุณ เวกเตอร์ทั้งสองมีความแปรปรวนเท่ากัน คุณสามารถตั้งค่า var.equal= TRUE ได้
คุณสร้างเวกเตอร์สุ่มสองตัวจากการแจกแจงแบบเกาส์เซียนโดยมีค่าเฉลี่ยสูงกว่าสำหรับยอดขายหลังโปรแกรม
set.seed(123) # sales before the program sales_before <- rnorm(7, mean = 50000, sd = 50) # sales after the program.This has higher mean sales_after <- rnorm(7, mean = 50075, sd = 50) # draw the distribution t.test(sales_before, sales_after,var.equal = TRUE)
คุณได้รับค่า p เท่ากับ 0.04606 ซึ่งต่ำกว่าเกณฑ์ 0.05 คุณสรุปได้ว่าค่าเฉลี่ยของทั้งสองกลุ่มมีความแตกต่างกันอย่างมีนัยสำคัญ โปรแกรมช่วยเพิ่มยอดขายของร้านค้า
สรุป
- การอนุมานทางสถิติเป็นศิลปะในการสร้างข้อสรุปเกี่ยวกับการกระจายตัวของข้อมูล
- การทดสอบ T เป็นการทดสอบในกลุ่มสถิติเชิงอนุมาน มักใช้เพื่อหาว่าค่าเฉลี่ยของสองกลุ่มมีค่าต่างกันในทางสถิติหรือไม่
- การทดสอบ t ตัวอย่างเดียวหรือการทดสอบของนักเรียนเป็นการเปรียบเทียบค่าเฉลี่ยของเวกเตอร์กับค่าเฉลี่ยเชิงทฤษฎี
- การทดสอบทีแบบคู่หรือการทดสอบทีตัวอย่างตามจะใช้เมื่อคำนวณค่าเฉลี่ยของกลุ่มที่บำบัดสองครั้ง
เราสามารถสรุปผลการทดสอบ t ได้จากตารางด้านล่างนี้:
เอกสาร | สมมติฐานที่จะทดสอบ | p-value | รหัส | อาร์กิวเมนต์ทางเลือก |
---|---|---|---|---|
การทดสอบทีหนึ่งตัวอย่าง | ค่าเฉลี่ยของเวกเตอร์แตกต่างจากค่าเฉลี่ยทางทฤษฎี | 0.05 |
t.test(x, mu = mean) |
|
จับคู่ตัวอย่างการทดสอบที | ค่าเฉลี่ย A แตกต่างจากค่าเฉลี่ย B ในกลุ่มเดียวกัน | 0.06 |
t.test(A,B, mu = mean) |
var.equal= TRUE |
หากเราถือว่าความแปรปรวนเท่ากัน เราจำเป็นต้องเปลี่ยนพารามิเตอร์ var.equal= TRUE