Σ
SDCalc
KözéphaladóAlkalmazások·12 min

Cohen-féle d és hatásméret-számítások

Sajátítsd el a hatásméret-számításokat: Cohen-féle d, Hedges-féle g és Glass-féle delta. Tanuld meg mérni a gyakorlati szignifikanciát a p-értékeken túl, a szórás felhasználásával.

A statisztikai szignifikancián túl: a hatásméret megértése

A hatásméret a különbség vagy kapcsolat nagyságrendjét méri, függetlenül a mintamérettől. Míg a p-értékek megmondják, hogy egy hatás statisztikailag szignifikáns-e, a hatásméret megmutatja, mennyire gyakorlatilag jelentős az adott hatás. Ez a megkülönböztetés kulcsfontosságú a bizonyítékokon alapuló döntéshozatalban a kutatásban, orvostudományban, oktatásban és üzleti életben.

Gondolj egy gyógyszeripari vizsgálatra, ahol egy új gyógyszer statisztikailag szignifikáns javulást mutat (p < 0,001) a placebóhoz képest. Hatásméret nélkül nem tudod, hogy a javulás 0,1% vagy 50%. A hatásméret biztosítja ezt a döntő fontosságú kontextust, segítve az érintetteket annak meghatározásában, hogy a hatás megéri-e a költségeket, mellékhatásokat vagy a bevezetési erőfeszítést.

A két csoport összehasonlításának leggyakoribb hatásméret-mutatója a Cohen-féle d, amely az átlagok közötti különbséget szórásegységekben fejezi ki. Ez a standardizálás lehetővé teszi az összehasonlítást különböző vizsgálatok és mérési skálák között.

Miért fontos a hatásméret?

A statisztikai szignifikanciát nagymértékben befolyásolja a mintaméret. Elegendően nagy mintánál még a jelentéktelen különbségek is „szignifikánssá” válnak. Fordítva, fontos hatások kis mintáknál nem feltétlenül érik el a szignifikanciaszintet. A hatásméret megoldja ezt a problémát azáltal, hogy mintamérettől független mérőszámot biztosít.

A szignifikancia csapdája

Egy n=10 000-es vizsgálat p < 0,001 értéket mutathat egy 0,5 pontos különbségre egy 100 pontos skálán. Ez statisztikailag szignifikáns, de gyakorlatilag értelmetlen (d ≈ 0,05). Mindig közöld a hatásméretet a p-értékek mellett.

A hatásméret használatának fő okai:

  • Metaanalízis: A hatásméretek vizsgálatok között kombinálhatók az összesített hatás becsléséhez
  • Statisztikai erő elemzése: Szükséges a jövőbeli vizsgálatokhoz szükséges mintaméret kiszámításához
  • Gyakorlati döntések: Segít meghatározni, hogy érdemes-e beavatkozásokat bevezetni
  • Replikáció: Célértéket biztosít, amelyet a megismétlő vizsgálatoknak el kell érniük

Cohen-féle d: a standard hatásméret-mutató

A Cohen-féle d a két csoportátlag közötti különbséget az összesített szórás egységeiben fejezi ki:

Cohen's d

d = (M₁ - M₂) / sp

Ahol M₁ és M₂ a csoportátlagok, sp pedig az összesített szórás, amelyet a következőképpen számítunk ki:

Pooled Standard Deviation

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

A d előjele az irányt jelzi: pozitív, ha M₁ > M₂, negatív, ha M₁ < M₂. Gyakran az abszolút értéket |d| közlik, ha az irány nyilvánvaló a kontextusból.

Miért összesítjük a szórást?

Az összesítés feltételezi, hogy mindkét csoport azonos populációs varianciával rendelkezik. Ez stabilabb becslést ad, mint bármelyik csoport szórásának önálló használata, és megfelel a független mintás t-próba feltételezéseinek.

Alternatív hatásméret-mutatók

Bár a Cohen-féle d a legelterjedtebb, léteznek alternatívák meghatározott helyzetekre:

Hedges-féle g: torzítás-korrigált hatásméret

A Cohen-féle d kis mintáknál enyhén felülbecsüli a populációs hatásméretet. A Hedges-féle g korrekciós tényezőt alkalmaz:

Hedges' g Correction

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

20 fős csoportméret felett a különbség elhanyagolható. Kis minták (n < 20) esetén a Hedges-féle g előnyben részesítendő.

Glass-féle Δ: ha a varianciák eltérnek

Ha az egyik csoport egy ismert változékonyságú kontrollcsoport, csak a kontrollcsoport szórását használjuk nevezőként:

Glass's Delta

Δ = (M₁ - M₂) / s_control

Akkor hasznos, ha a kezelés befolyásolhatja a varianciát (pl. olyan beavatkozás, amely jobban segít a gyengébben teljesítőknek, mint a jól teljesítőknek).

Hatásméretek értelmezése: Cohen irányelvei

Jacob Cohen a következő konvenciókat javasolta a d értékek értelmezéséhez:

Hatásméret (d)ÉrtelmezésÁtfedés
0,2Kis85% átfedés a csoportok között
0,5Közepes67% átfedés a csoportok között
0,8Nagy53% átfedés a csoportok között
1,2Nagyon nagy40% átfedés a csoportok között
2,0Hatalmas19% átfedés a csoportok között

A kontextus számít

Ezek durva irányelvek, nem abszolút szabályok. Egyes területeken a d = 0,2 rendkívül jelentős lehet (pl. a szívroham kockázatának csökkentése), míg más területeken a d = 0,8 elvárható (pl. korrepetálás vs. nincs oktatás).

Kidolgozott példa: oktatási beavatkozás

Egy iskola új olvasási programot tesztel. Kontrollcsoport (n=25): átlag=72, SD=12. Kezelési csoport (n=30): átlag=79, SD=14. Számítsuk ki a Cohen-féle d-t:

1

Összesített variancia kiszámítása

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

Összesített szórás kiszámítása

sp = √172,45 = 13,13
3

Cohen-féle d kiszámítása

d = (79 - 72) / 13,13 = 7 / 13,13 = 0,53
4

Értelmezés

Közepes hatásméret (d = 0,53). A kezelési csoport mintegy fél szórásnyi értékkel magasabb eredményeket ért el, mint a kontrollcsoport.

Ez azt jelenti, hogy ha véletlenszerűen kiválasztanánk egy tanulót a kezelési és egy tanulót a kontrollcsoportból, a kezelési csoportbeli tanuló az esetek mintegy 64%-ában jobban teljesítene (az átfedésből számítva).

Python implementáció

Hatásméretek programozott kiszámítása konfidenciaintervallumokkal:

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