พื้นฐานการอนุมานทางสถิติด้วย Python
Paul Savala
Assistant Professor of Mathematics
| ขนาดกลุ่มตัวอย่าง | ขนาดของผล | Alpha |
|---|---|---|
![]() |
![]() |
![]() |
from scipy.stats import norm# Control group: Mean 0 pounds, std 1 poundcontrol = norm.rvs(loc=0,scale=1,size=100)# Treatment group: Mean -2 pounds, std 1 poundtreatment = norm.rvs(loc=-2, scale=1, size=100)
$H_0$: ไม่มีความแตกต่างในการลดน้ำหนัก (ผิด)
$H_a$: กลุ่มที่ได้รับการรักษาลดน้ำหนักได้ (ถูก)
สรุป: ปฏิเสธ $H_0$ อย่างถูกต้องโดยสนับสนุน $H_a$
from scipy.stats import ttest_ind# Conduct a t-test alpha = 0.05 t_test = ttest_ind(treatment, control, alternative='less')# Check the significance print(t_test.pvalue < alpha)
TRUE
control = norm.rvs(loc=0, scale=1, size=5) treatment = norm.rvs(loc=-2, scale=1, size=5)# Conduct a t-test tt = ttest_ind(treatment, control, alternative='less')print(tt.pvalue < 0.05)
FALSE
สรุป: ไม่สามารถปฏิเสธ H0 ได้ (ผิด)
# Weight loss = 0.2 pounds, sample size = 100treatment = norm.rvs(loc=-0.2, scale=1, size=100)# Conduct a t-test t_test = ttest_ind(treatment, control, alternative='less')print(t_test.pvalue < 0.05)
FALSE

หากมีผลที่มีนัยสำคัญ การทดสอบของเราจะตรวจจับได้หรือไม่?

กำลังของการทดสอบ: หาก hypothesis ทางเลือก (Ha) เป็นจริง การทดสอบของเรามีโอกาสปฏิเสธ null (H0) มากแค่ไหน จากข้อมูลที่มี?
คำนวณกำลัง ก่อน เก็บกลุ่มตัวอย่าง
from statsmodels.stats import power # Power function tt_power = power.TTestIndPower()# Calculate power pwr = tt_power.power(effect_size=0.2,nobs1=100,alpha=0.05)print(pwr)
0.291
โอกาสตรวจจับได้ต่ำมาก!
nobs1 = TTestIndPower().solve_power(effect_size=-0.2, nobs1=None, # Solve for alpha=0.05, power=0.8)print(nobs1)
13735.26
พื้นฐานการอนุมานทางสถิติด้วย Python