Σ
SDCalc
PertengahanAplikasi·12 min

Cohen's d dan Pengiraan Saiz Kesan

Kuasai pengiraan saiz kesan termasuk Cohen's d, Hedges' g, dan Glass's delta. Pelajari cara mengukur kepentingan praktikal melebihi nilai-p menggunakan sisihan piawai.

Melampaui Kepentingan Statistik: Memahami Saiz Kesan

Saiz kesan mengukur magnitud sesuatu perbezaan atau hubungan, tanpa bergantung pada saiz sampel. Sementara nilai-p memberitahu anda sama ada kesan itu signifikan secara statistik, saiz kesan memberitahu anda betapa bermakna secara praktikal kesan itu. Perbezaan ini penting untuk membuat keputusan berasaskan bukti dalam penyelidikan, perubatan, pendidikan, dan perniagaan.

Pertimbangkan ujian farmaseutikal di mana ubat baharu menunjukkan peningkatan yang signifikan secara statistik (p < 0.001) berbanding plasebo. Tanpa saiz kesan, anda tidak tahu sama ada peningkatan itu 0.1% atau 50%. Saiz kesan memberikan konteks penting ini, membantu pihak berkepentingan menentukan sama ada kesan itu berbaloi dengan kos, kesan sampingan, atau usaha pelaksanaan.

Ukuran saiz kesan yang paling biasa untuk membandingkan dua kumpulan ialah Cohen's d, yang menyatakan perbezaan antara min dalam unit sisihan piawai. Penstandardan ini membolehkan perbandingan merentasi kajian dan skala pengukuran yang berbeza.

Mengapa Saiz Kesan Penting

Kepentingan statistik sangat dipengaruhi oleh saiz sampel. Dengan sampel yang cukup besar, perbezaan yang remeh pun menjadi “signifikan.” Sebaliknya, kesan penting mungkin tidak mencapai kepentingan dalam sampel kecil. Saiz kesan menyelesaikan masalah ini dengan menyediakan ukuran yang bebas daripada saiz sampel.

Perangkap Kepentingan

Kajian dengan n=10,000 mungkin menunjukkan p < 0.001 untuk perbezaan 0.5 mata pada skala 100 mata. Ini signifikan secara statistik tetapi tidak bermakna secara praktikal (d ≈ 0.05). Sentiasa laporkan saiz kesan bersama nilai-p.

Sebab utama menggunakan saiz kesan:

  • Meta-analisis: Saiz kesan boleh digabungkan merentasi kajian untuk menganggar kesan keseluruhan
  • Analisis kuasa: Diperlukan untuk mengira saiz sampel yang diperlukan untuk kajian masa depan
  • Keputusan praktikal: Membantu menentukan sama ada intervensi berbaloi untuk dilaksanakan
  • Replikasi: Menyediakan sasaran untuk kajian replikasi yang perlu dipadankan

Cohen's d: Ukuran Saiz Kesan Piawai

Cohen's d menyatakan perbezaan antara dua min kumpulan dalam unit sisihan piawai terkumpul:

Cohen's d

d = (M₁ - M₂) / sp

Di mana M₁ dan M₂ ialah min kumpulan, dan sp ialah sisihan piawai terkumpul yang dikira sebagai:

Pooled Standard Deviation

sp = √[((n₁-1)s₁² + (n₂-1)s₂²) / (n₁+n₂-2)]

Tanda d menunjukkan arah: positif apabila M₁ > M₂, negatif apabila M₁ < M₂. Selalunya nilai mutlak |d| dilaporkan apabila arah sudah jelas daripada konteks.

Mengapa Terkumpulkan Sisihan Piawai?

Pengumpulan mengandaikan kedua-dua kumpulan mempunyai varians populasi yang sama. Ini memberikan anggaran yang lebih stabil berbanding menggunakan SD satu kumpulan sahaja, dan sejajar dengan andaian ujian-t sampel bebas.

Ukuran Saiz Kesan Alternatif

Walaupun Cohen's d yang paling biasa, alternatif wujud untuk situasi tertentu:

Hedges' g: Saiz Kesan Diperbetulkan Bias

Cohen's d sedikit melebih-anggarkan saiz kesan populasi dalam sampel kecil. Hedges' g mengaplikasikan faktor pembetulan:

Hedges' g Correction

g = d × (1 - 3/(4(n₁+n₂) - 9))

Untuk sampel melebihi 20 setiap kumpulan, perbezaannya tidak ketara. Untuk sampel kecil (n < 20), Hedges' g lebih diutamakan.

Glass's Δ: Apabila Varians Berbeza

Apabila satu kumpulan ialah kawalan dengan kebolehubahan yang diketahui, gunakan hanya sisihan piawai kumpulan kawalan sebagai penyebut:

Glass's Delta

Δ = (M₁ - M₂) / s_control

Ini berguna apabila rawatan mungkin mempengaruhi varians (contohnya, intervensi yang membantu pelajar lemah lebih daripada pelajar cemerlang).

Mentafsir Saiz Kesan: Panduan Cohen

Jacob Cohen mencadangkan konvensyen berikut untuk mentafsir nilai d:

Saiz Kesan (d)TafsiranPertindihan
0.2Kecil85% pertindihan antara kumpulan
0.5Sederhana67% pertindihan antara kumpulan
0.8Besar53% pertindihan antara kumpulan
1.2Sangat Besar40% pertindihan antara kumpulan
2.0Amat Besar19% pertindihan antara kumpulan

Konteks Penting

Ini ialah panduan kasar, bukan peraturan mutlak. Dalam sesetengah bidang, d = 0.2 mungkin sangat bermakna (contohnya, mengurangkan risiko serangan jantung), manakala dalam bidang lain d = 0.8 mungkin dijangka (contohnya, tunjuk ajar berbanding tiada pengajaran).

Contoh Terperinci: Intervensi Pendidikan

Sebuah sekolah menguji program bacaan baharu. Kumpulan kawalan (n=25): min=72, SD=12. Kumpulan rawatan (n=30): min=79, SD=14. Kira Cohen's d:

1

Kira Varians Terkumpul

sp² = [(25-1)(12)² + (30-1)(14)²] / (25+30-2) = [24×144 + 29×196] / 53 = [3456 + 5684] / 53 = 172.45
2

Kira SD Terkumpul

sp = √172.45 = 13.13
3

Kira Cohen's d

d = (79 - 72) / 13.13 = 7 / 13.13 = 0.53
4

Tafsirkan

Saiz kesan sederhana (d = 0.53). Kumpulan rawatan mendapat markah kira-kira separuh sisihan piawai lebih tinggi daripada kawalan.

Ini bermakna jika anda mengambil seorang pelajar secara rawak daripada kumpulan rawatan dan seorang daripada kumpulan kawalan, pelajar rawatan akan mendapat markah lebih tinggi kira-kira 64% daripada masa (dikira daripada pertindihan).

Pelaksanaan Python

Kira saiz kesan secara pengaturcaraan dengan selang keyakinan:

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}")