การทดสอบสมมติฐานด้วย Python
James Chapman
Curriculum Manager, DataCamp
age_first_code_cut จำแนกช่วงเวลาที่ผู้ใช้ Stack Overflow เริ่มเขียนโปรแกรมครั้งแรก"adult" หมายถึงเริ่มต้นเมื่ออายุ 14 ปีขึ้นไป"child" หมายถึงเริ่มต้นก่อนอายุ 14 ปีสมมติฐาน คือข้อความเกี่ยวกับพารามิเตอร์ของประชากรที่ยังไม่ทราบค่า
การทดสอบสมมติฐาน คือการทดสอบสมมติฐานสองข้อที่แข่งขันกัน
สมมติฐานว่าง ($H_{0}$) คือแนวคิดที่มีอยู่เดิม
สมมติฐานทางเลือก ($H_{A}$) คือแนวคิด "ท้าทาย" ใหม่ของนักวิจัย
สำหรับปัญหาของเรา:
ระดับนัยสำคัญ คือ "เกินกว่าข้อสงสัยที่สมเหตุสมผล" ในการทดสอบสมมติฐาน

การทดสอบสมมติฐานจะตรวจสอบว่าค่าสถิติจากตัวอย่างอยู่ในหางของ null distribution หรือไม่
| การทดสอบ | หาง |
|---|---|
| ทางเลือก แตกต่างจาก ค่าว่าง | สองหาง |
| ทางเลือก มากกว่า ค่าว่าง | หางขวา |
| ทางเลือก น้อยกว่า ค่าว่าง | หางซ้าย |
$H_{A}$: สัดส่วนของนักวิทยาศาสตร์ข้อมูลที่เริ่มเขียนโปรแกรมตั้งแต่วัยเด็กมากกว่า 35%
นี่คือการทดสอบหางขวา

p-values: ความน่าจะเป็นของการได้ผลลัพธ์นั้น โดยสมมติว่าสมมติฐานว่างเป็นจริง
prop_child_samp = (stack_overflow['age_first_code_cut'] == "child").mean()
0.39141972578505085
prop_child_hyp = 0.35
std_error = np.std(first_code_boot_distn, ddof=1)
0.010351057228878566
z_score = (prop_child_samp - prop_child_hyp) / std_error
4.001497129152506
norm.cdf() คือ normal CDF จาก scipy.statsnorm.cdf()1 - norm.cdf()
from scipy.stats import norm
1 - norm.cdf(z_score, loc=0, scale=1)
3.1471479512323874e-05
การทดสอบสมมติฐานด้วย Python