เหนือกว่านัยสำคัญทางสถิติ: ทำความเข้าใจขนาดอิทธิพล
ขนาดอิทธิพล วัดขนาดของความแตกต่างหรือความสัมพันธ์ โดยไม่ขึ้นกับขนาดตัวอย่าง ในขณะที่ค่า p บอกว่าอิทธิพลมีนัยสำคัญทางสถิติหรือไม่ ขนาดอิทธิพลบอกว่ามันมีความหมายในทางปฏิบัติมากเพียงใด ความแตกต่างนี้สำคัญมากสำหรับการตัดสินใจบนหลักฐานในการวิจัย การแพทย์ การศึกษา และธุรกิจ
พิจารณาการทดลองยาที่ยาใหม่แสดงการปรับปรุงที่มีนัยสำคัญทางสถิติ (p < 0.001) เหนือยาหลอก หากไม่มีขนาดอิทธิพล คุณไม่รู้ว่าการปรับปรุงนั้นเป็น 0.1% หรือ 50% ขนาดอิทธิพลให้บริบทสำคัญนี้ ช่วยผู้มีส่วนได้เสียตัดสินว่าอิทธิพลคุ้มค่ากับค่าใช้จ่าย ผลข้างเคียง หรือความพยายามในการนำไปใช้หรือไม่
ตัววัดขนาดอิทธิพลที่ใช้กันมากที่สุดสำหรับการเปรียบเทียบสองกลุ่มคือ Cohen's d ซึ่งแสดงความแตกต่างระหว่างค่าเฉลี่ยในหน่วยส่วนเบี่ยงเบนมาตรฐาน การมาตรฐานนี้ช่วยให้เปรียบเทียบข้ามงานวิจัยและมาตราส่วนการวัดที่แตกต่างกันได้
ทำไมขนาดอิทธิพลจึงสำคัญ
นัยสำคัญทางสถิติได้รับอิทธิพลอย่างมากจากขนาดตัวอย่าง ด้วยตัวอย่างใหญ่พอ แม้ความแตกต่างเล็กน้อยก็กลายเป็น “มีนัยสำคัญ” ในทางกลับกัน อิทธิพลที่สำคัญอาจไม่ถึงนัยสำคัญในตัวอย่างเล็ก ขนาดอิทธิพลแก้ปัญหานี้โดยให้ตัววัดที่ไม่ขึ้นกับขนาดตัวอย่าง
กับดักนัยสำคัญ
เหตุผลสำคัญในการใช้ขนาดอิทธิพล:
- การวิเคราะห์อภิมาน: ขนาดอิทธิพลสามารถรวมข้ามงานวิจัยเพื่อประมาณอิทธิพลโดยรวม
- การวิเคราะห์กำลัง: จำเป็นสำหรับคำนวณขนาดตัวอย่างที่ต้องการสำหรับงานวิจัยในอนาคต
- การตัดสินใจเชิงปฏิบัติ: ช่วยตัดสินว่าการแทรกแซงคุ้มค่ากับการนำไปใช้หรือไม่
- การทำซ้ำ: ให้เป้าหมายสำหรับงานวิจัยทำซ้ำที่จะจับคู่
Cohen's d: ตัววัดขนาดอิทธิพลมาตรฐาน
Cohen's d แสดงความแตกต่างระหว่างค่าเฉลี่ยสองกลุ่มในหน่วยส่วนเบี่ยงเบนมาตรฐานรวม:
Cohen's d
โดยที่ M₁ และ M₂ คือค่าเฉลี่ยกลุ่ม และ sp คือส่วนเบี่ยงเบนมาตรฐานรวม:
ส่วนเบี่ยงเบนมาตรฐานรวม
เครื่องหมายของ d บ่งชี้ทิศทาง: บวกเมื่อ M₁ > M₂ ลบเมื่อ M₁ < M₂ มักรายงานค่าสัมบูรณ์ |d| เมื่อทิศทางชัดเจนจากบริบท
ทำไมต้องรวมส่วนเบี่ยงเบนมาตรฐาน?
ตัววัดขนาดอิทธิพลทางเลือก
แม้ Cohen's d จะใช้กันมากที่สุด แต่มีทางเลือกสำหรับสถานการณ์เฉพาะ:
Hedges' g: ขนาดอิทธิพลที่แก้ไขความเอนเอียง
Cohen's d ประมาณค่าขนาดอิทธิพลของประชากรสูงเกินไปเล็กน้อยในตัวอย่างเล็ก Hedges' g ใช้ตัวคูณแก้ไข:
การแก้ไข Hedges' g
สำหรับตัวอย่างที่มีมากกว่า 20 ต่อกลุ่ม ความแตกต่างน้อยมาก สำหรับตัวอย่างเล็ก (n < 20) แนะนำให้ใช้ Hedges' g
Glass's Δ: เมื่อความแปรปรวนต่างกัน
เมื่อกลุ่มหนึ่งเป็นกลุ่มควบคุมที่มีความแปรผันที่ทราบ ใช้เฉพาะส่วนเบี่ยงเบนมาตรฐานของกลุ่มควบคุมเป็นตัวส่วน:
Glass's Delta
สิ่งนี้มีประโยชน์เมื่อการรักษาอาจส่งผลต่อความแปรปรวน (เช่น การแทรกแซงที่ช่วยผู้ที่มีผลงานต่ำมากกว่าผู้ที่มีผลงานสูง)
การตีความขนาดอิทธิพล: แนวทางของ Cohen
Jacob Cohen เสนอแนวปฏิบัตินี้สำหรับการตีความค่า d:
| ขนาดอิทธิพล (d) | การตีความ | การทับซ้อน |
|---|---|---|
| 0.2 | เล็ก | ทับซ้อน 85% ระหว่างกลุ่ม |
| 0.5 | ปานกลาง | ทับซ้อน 67% ระหว่างกลุ่ม |
| 0.8 | ใหญ่ | ทับซ้อน 53% ระหว่างกลุ่ม |
| 1.2 | ใหญ่มาก | ทับซ้อน 40% ระหว่างกลุ่ม |
| 2.0 | มหาศาล | ทับซ้อน 19% ระหว่างกลุ่ม |
บริบทมีความสำคัญ
ตัวอย่างพร้อมวิธีทำ: การแทรกแซงทางการศึกษา
โรงเรียนทดสอบโปรแกรมการอ่านใหม่ กลุ่มควบคุม (n=25): ค่าเฉลี่ย=72, SD=12 กลุ่มทดลอง (n=30): ค่าเฉลี่ย=79, SD=14 คำนวณ Cohen's d:
คำนวณความแปรปรวนรวม
คำนวณ SD รวม
คำนวณ Cohen's d
ตีความ
นี่หมายความว่าถ้าคุณสุ่มนักเรียนหนึ่งคนจากกลุ่มทดลองและหนึ่งคนจากกลุ่มควบคุม นักเรียนกลุ่มทดลองจะได้คะแนนสูงกว่าประมาณ 64% ของเวลา (คำนวณจากการทับซ้อน)
การนำไปใช้ด้วย Python
คำนวณขนาดอิทธิพลโดยโปรแกรมพร้อมช่วงความเชื่อมั่น:
import numpy as np
from scipy import stats
def cohens_d(group1, group2):
"""Calculate Cohen's d for two independent groups."""
n1, n2 = len(group1), len(group2)
var1, var2 = np.var(group1, ddof=1), np.var(group2, ddof=1)
# Pooled standard deviation
pooled_std = np.sqrt(((n1-1)*var1 + (n2-1)*var2) / (n1+n2-2))
# Cohen's d
d = (np.mean(group1) - np.mean(group2)) / pooled_std
return d
def hedges_g(group1, group2):
"""Calculate Hedges' g (bias-corrected effect size)."""
n1, n2 = len(group1), len(group2)
d = cohens_d(group1, group2)
# Correction factor for small sample bias
correction = 1 - 3 / (4*(n1+n2) - 9)
return d * correction
# Example usage
control = [68, 72, 75, 70, 69, 74, 71, 73, 76, 72]
treatment = [75, 79, 82, 78, 80, 77, 81, 76, 83, 79]
d = cohens_d(treatment, control)
g = hedges_g(treatment, control)
print(f"Cohen's d: {d:.3f}")
print(f"Hedges' g: {g:.3f}")