วิธีการทดสอบสมมติฐานใน python (พร้อมตัวอย่าง)
การทดสอบสมมติฐาน คือการทดสอบทางสถิติอย่างเป็นทางการที่เราใช้เพื่อปฏิเสธหรือไม่ปฏิเสธสมมติฐานทางสถิติ
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการทดสอบสมมติฐานต่อไปนี้ใน Python:
- ตัวอย่างการทดสอบ
- การทดสอบ T สองตัวอย่าง
- จับคู่ตัวอย่างการทดสอบที
ไปกันเถอะ!
ตัวอย่างที่ 1: ตัวอย่างของการทดสอบ t-test ใน Python
การทดสอบทีแบบตัวอย่างเดียว ใช้เพื่อทดสอบว่าค่าเฉลี่ยของประชากรเท่ากับค่าที่กำหนดหรือไม่
ตัวอย่างเช่น สมมติว่าเราต้องการทราบว่าน้ำหนักเฉลี่ยของเต่าบางสายพันธุ์คือ 310 ปอนด์หรือไม่
เพื่อทดสอบสิ่งนี้ เราได้รวบรวมตัวอย่างเต่าสุ่มง่ายๆ ที่มีน้ำหนักดังต่อไปนี้:
น้ำหนัก : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน ttest_1samp() ในไลบรารี scipy.stats เพื่อทำการทดสอบ t-test แบบตัวอย่างเดียว:
import scipy.stats as stats #define data data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] #perform one sample t-test stats. ttest_1samp (a=data, popmean= 310 ) Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)
สถิติการทดสอบทีคือ -1.5848 และค่า p-value สองด้านที่สอดคล้องกันคือ 0.1389
สมมติฐานทั้งสองสำหรับการทดสอบทีนี้กับตัวอย่างเฉพาะมีดังนี้:
- H 0 : µ = 310 (น้ำหนักเฉลี่ยของเต่าสายพันธุ์นี้คือ 310 ปอนด์)
- HA : µ ≠310 (น้ำหนักเฉลี่ยไม่ใช่ 310 ปอนด์)
เนื่องจากค่า p ของการทดสอบของเรา (0.1389) มากกว่าอัลฟา = 0.05 เราจึงไม่สามารถปฏิเสธสมมติฐานว่างของการทดสอบได้
เราไม่มีหลักฐานเพียงพอที่จะบอกว่าน้ำหนักเฉลี่ยของเต่าสายพันธุ์นี้อยู่ที่ 310 ปอนด์
ตัวอย่างที่ 2: การทดสอบ t-test สองตัวอย่างใน Python
การทดสอบทีแบบสองตัวอย่าง ใช้เพื่อทดสอบว่าค่าเฉลี่ยของประชากรทั้งสองเท่ากันหรือไม่
ตัวอย่างเช่น สมมติว่าเราต้องการทราบว่าน้ำหนักเฉลี่ยของเต่าสองสายพันธุ์ที่แตกต่างกันเท่ากันหรือไม่
เพื่อทดสอบสิ่งนี้ เราได้รวบรวมตัวอย่างเต่าแต่ละสายพันธุ์แบบสุ่มอย่างง่ายโดยมีน้ำหนักดังต่อไปนี้:
ตัวอย่างที่ 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303
ตัวอย่างที่ 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน ttest_ind() ในไลบรารี scipy.stats เพื่อดำเนินการตัวอย่างการทดสอบ t-test ทั้งสองตัวอย่างนี้:
import scipy. stats as stats #define array of turtle weights for each sample sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303] sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305] #perform two sample t-tests stats. ttest_ind (a=sample1, b=sample2) Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)
สถิติการทดสอบทีคือ –2.1009 และค่า p-value สองด้านที่สอดคล้องกันคือ 0.0463
สมมติฐานสองข้อสำหรับการทดสอบทีสองตัวอย่างนี้คือ:
- H 0 : µ 1 = µ 2 (น้ำหนักเฉลี่ยระหว่างสองสายพันธุ์เท่ากัน)
- H A : µ 1 ≠ µ 2 (น้ำหนักเฉลี่ยระหว่างสองสายพันธุ์ไม่เท่ากัน)
เนื่องจากค่า p ของการทดสอบ (0.0463) น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่าง
ซึ่งหมายความว่าเรามีหลักฐานเพียงพอที่จะบอกว่าน้ำหนักเฉลี่ยระหว่างทั้งสองสายพันธุ์ไม่เท่ากัน
ตัวอย่างที่ 3: ตัวอย่างการจับคู่ t-test ใน Python
การทดสอบทีแบบจับคู่ตัวอย่าง ใช้เพื่อเปรียบเทียบค่าเฉลี่ยของสองตัวอย่าง เมื่อการสังเกตแต่ละครั้งในตัวอย่างหนึ่งสามารถเชื่อมโยงกับการสังเกตในอีกตัวอย่างหนึ่งได้
ตัวอย่างเช่น สมมติว่าเราต้องการทราบว่าโปรแกรมการฝึกบางอย่างสามารถเพิ่มการกระโดดในแนวดิ่งสูงสุดของผู้เล่นบาสเก็ตบอลได้หรือไม่
เพื่อทดสอบสิ่งนี้ เราสามารถสุ่มตัวอย่างง่ายๆ จากผู้เล่นบาสเกตบอลระดับวิทยาลัย 12 คน และวัดการกระโดดในแนวดิ่งสูงสุดแต่ละครั้ง จากนั้นเราจะให้ผู้เล่นแต่ละคนใช้โปรแกรมการฝึกเป็นเวลาหนึ่งเดือน แล้ววัดการกระโดดแนวดิ่งสูงสุดของพวกเขาอีกครั้งในช่วงปลายเดือน
ข้อมูลต่อไปนี้แสดงความสูงในการกระโดดสูงสุด (หน่วยเป็นนิ้ว) ก่อนและหลังการใช้โปรแกรมการฝึกสำหรับผู้เล่นแต่ละคน:
ด้านหน้า : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21
หลัง : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20
รหัสต่อไปนี้แสดงวิธีใช้ ฟังก์ชัน ttest_rel() ในไลบรารี scipy.stats เพื่อทำการทดสอบทีแบบจับคู่ตัวอย่างนี้:
import scipy. stats as stats #define before and after max jump heights before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21] after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20] #perform paired samples t-test stats. ttest_rel (a=before, b=after) Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)
สถิติการทดสอบทีคือ –2.5289 และค่า p-value สองด้านที่สอดคล้องกันคือ 0.0280
สมมติฐานสองข้อสำหรับการทดสอบค่าทีที่จับคู่กันโดยเฉพาะนี้คือ:
- H 0 : µ 1 = µ 2 (ความสูงเฉลี่ยของการกระโดดก่อนและหลังการใช้โปรแกรมเท่ากัน)
- H A : µ 1 ≠ µ 2 (ความสูงเฉลี่ยของการกระโดดก่อนและหลังใช้โปรแกรมไม่เท่ากัน)
เนื่องจากค่า p ของการทดสอบ (0.0280) น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่าง
ซึ่งหมายความว่าเรามีหลักฐานเพียงพอที่จะบอกว่าความสูงเฉลี่ยของการกระโดดก่อนและหลังใช้โปรแกรมการฝึกไม่เท่ากัน
แหล่งข้อมูลเพิ่มเติม
คุณสามารถใช้เครื่องคิดเลขออนไลน์ต่อไปนี้เพื่อทำการทดสอบทีต่างๆ ได้โดยอัตโนมัติ:
ตัวอย่างเครื่องคิดเลขทดสอบที
เครื่องคิดเลขทดสอบทีสองตัวอย่าง
เครื่องคำนวณ t-Test ตัวอย่างที่จับคู่