วิธีการทดสอบสมมติฐานใน 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 ตัวอย่างที่จับคู่

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *