กำลังของการทดสอบ

พื้นฐานการอนุมานทางสถิติด้วย Python

Paul Savala

Assistant Professor of Mathematics

อะไรเป็นตัวกำหนดกำลังของการทดสอบ?

ขนาดกลุ่มตัวอย่าง ขนาดของผล Alpha
ภาพแสดงกลุ่มคนจำนวนมาก ภาพแสดงผู้ป่วยกำลังรับยา ภาพแสดงช่วงความเชื่อมั่น 95 เปอร์เซ็นต์
พื้นฐานการอนุมานทางสถิติด้วย Python

จำลองข้อมูลการลดน้ำหนัก

from scipy.stats import norm


# Control group: Mean 0 pounds, std 1 pound
control = norm.rvs(loc=0,
scale=1,
size=100)
# Treatment group: Mean -2 pounds, std 1 pound
treatment = norm.rvs(loc=-2, scale=1, size=100)
พื้นฐานการอนุมานทางสถิติด้วย Python

T-test

$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
พื้นฐานการอนุมานทางสถิติด้วย Python

ขนาดกลุ่มตัวอย่างเล็กเกินไป

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 ได้ (ผิด)

พื้นฐานการอนุมานทางสถิติด้วย Python

ขนาดของผลเล็กเกินไป

# Weight loss = 0.2 pounds, sample size = 100

treatment = 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
พื้นฐานการอนุมานทางสถิติด้วย Python

ผลเล็ก? เพิ่มขนาดกลุ่มตัวอย่าง!

ภาพแสดงกลุ่มคนขนาดเล็กยืนอยู่ข้างกลุ่มคนขนาดใหญ่

พื้นฐานการอนุมานทางสถิติด้วย Python

ความหมายของกำลังของการทดสอบ

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

ภาพแว่นขยายส่องเชื้อโรคบนมือการ์ตูน

กำลังของการทดสอบ: หาก hypothesis ทางเลือก (Ha) เป็นจริง การทดสอบของเรามีโอกาสปฏิเสธ null (H0) มากแค่ไหน จากข้อมูลที่มี?

คำนวณกำลัง ก่อน เก็บกลุ่มตัวอย่าง

พื้นฐานการอนุมานทางสถิติด้วย Python

การคำนวณกำลังของการทดสอบ

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

โอกาสตรวจจับได้ต่ำมาก!

พื้นฐานการอนุมานทางสถิติด้วย Python

การหาค่ากำลังของการทดสอบ

nobs1 = TTestIndPower().solve_power(effect_size=-0.2, 
                                    nobs1=None, # Solve for
                                    alpha=0.05,
                                    power=0.8)

print(nobs1)
13735.26
พื้นฐานการอนุมานทางสถิติด้วย Python

มาฝึกกันเถอะ!

พื้นฐานการอนุมานทางสถิติด้วย Python

Preparing Video For Download...