Σ
SDCalc
ŚredniozaawansowanyZastosowania·12 min

d Cohena i obliczanie wielkości efektu

Opanuj obliczanie wielkości efektu, w tym d Cohena, g Hedgesa i deltę Glassa. Naucz się mierzyć znaczenie praktyczne wykraczające poza wartości p za pomocą odchylenia standardowego.

Poza istotność statystyczną: wielkość efektu

Wielkość efektu mierzy faktyczną wielkość różnicy lub związku, niezależnie od wielkości próbki. Podczas gdy wartości p mówią, czy efekt jest istotny statystycznie, wielkości efektu mówią, jak istotny jest on praktycznie. To rozróżnienie jest kluczowe dla podejmowania decyzji opartych na dowodach w badaniach naukowych, medycynie, edukacji i biznesie.

Rozważ badanie kliniczne, w którym nowy lek wykazuje istotną statystycznie poprawę (p < 0,001) w porównaniu z placebo. Bez wielkości efektu nie wiesz, czy poprawa wynosi 0,1% czy 50%. Wielkość efektu dostarcza tego kluczowego kontekstu, pomagając interesariuszom ocenić, czy efekt jest wart kosztów, skutków ubocznych czy wysiłku wdrożeniowego.

Najczęstszą miarą wielkości efektu do porównywania dwóch grup jest d Cohena, które wyraża różnicę między średnimi w jednostkach odchylenia standardowego. Ta standaryzacja pozwala na porównania między różnymi badaniami i skalami pomiarowymi.

Dlaczego wielkość efektu ma znaczenie

Istotność statystyczna jest silnie uzależniona od wielkości próbki. Przy wystarczająco dużej próbce nawet trywialne różnice stają się “istotne”. Odwrotnie, ważne efekty mogą nie osiągnąć istotności w małych próbkach. Wielkość efektu rozwiązuje ten problem, dostarczając miarę niezależną od wielkości próbki.

Pułapka istotności

Badanie z n=10 000 może wykazać p < 0,001 dla różnicy 0,5 punktu na skali 100-punktowej. Jest to istotne statystycznie, ale praktycznie bez znaczenia (d ≈ 0,05). Zawsze raportuj wielkości efektu obok wartości p.

Kluczowe powody stosowania wielkości efektu:

  • Metaanaliza: Wielkości efektu można łączyć między badaniami w celu oszacowania efektów ogólnych
  • Analiza mocy: Wymagana do obliczenia niezbędnej wielkości próbki w przyszłych badaniach
  • Decyzje praktyczne: Pomaga określić, czy interwencje są warte wdrożenia
  • Replikacja: Dostarcza cel, który badania replikacyjne powinny osiągnąć

d Cohena: standardowa miara wielkości efektu

d Cohena wyraża różnicę między średnimi dwóch grup w jednostkach łączonego odchylenia standardowego:

d Cohena

d = (M₁ - M₂) / sp

Gdzie M₁ i M₂ to średnie grupowe, a sp to łączone odchylenie standardowe obliczane jako:

Łączone odchylenie standardowe

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

Znak d wskazuje kierunek: dodatni gdy M₁ > M₂, ujemny gdy M₁ < M₂. Często raportuje się wartość bezwzględną |d|, gdy kierunek jest oczywisty z kontekstu.

Dlaczego łączymy odchylenie?

Łączenie zakłada, że obie grupy mają równe wariancje populacyjne. Daje to stabilniejsze oszacowanie niż użycie odchylenia którejkolwiek grupy osobno i odpowiada założeniom testu t dla prób niezależnych.

Alternatywne miary wielkości efektu

Choć d Cohena jest najpopularniejsze, istnieją alternatywy dla konkretnych sytuacji:

g Hedgesa: wielkość efektu z korektą obciążenia

d Cohena nieznacznie przeszacowuje populacyjną wielkość efektu w małych próbkach. g Hedgesa stosuje współczynnik korekcyjny:

Korekta g Hedgesa

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

Dla prób powyżej 20 na grupę różnica jest znikoma. Dla małych prób (n < 20) preferowane jest g Hedgesa.

Δ Glassa: gdy wariancje się różnią

Gdy jedna grupa jest kontrolną o znanej zmienności, używamy tylko odchylenia standardowego grupy kontrolnej jako mianownika:

Delta Glassa

Δ = (M₁ - M₂) / s_kontrolna

Jest to przydatne, gdy interwencja może wpływać na wariancję (np. program, który pomaga słabszym uczniom bardziej niż lepszym).

Interpretacja wielkości efektu: wytyczne Cohena

Jacob Cohen zaproponował następujące konwencje interpretacji wartości d:

Wielkość efektu (d)InterpretacjaPokrywanie się
0,2Mały85% pokrywania się grup
0,5Średni67% pokrywania się grup
0,8Duży53% pokrywania się grup
1,2Bardzo duży40% pokrywania się grup
2,0Ogromny19% pokrywania się grup

Kontekst ma znaczenie

To są przybliżone wytyczne, nie bezwzględne reguły. W niektórych dziedzinach d = 0,2 może być wysoce znaczące (np. zmniejszenie ryzyka zawału serca), podczas gdy w innych d = 0,8 może być oczekiwane (np. korepetycje vs. brak nauczania).

Rozwiązany przykład: interwencja edukacyjna

Szkoła testuje nowy program czytelniczy. Grupa kontrolna (n=25): średnia=72, SD=12. Grupa eksperymentalna (n=30): średnia=79, SD=14. Oblicz d Cohena:

1

Oblicz łączoną wariancję

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

Oblicz łączone odchylenie

sp = √172,45 = 13,13
3

Oblicz d Cohena

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

Zinterpretuj

Średnia wielkość efektu (d = 0,53). Grupa eksperymentalna uzyskuje wyniki o około pół odchylenia standardowego wyższe niż kontrolna.

Oznacza to, że gdybyś losowo wybrał ucznia z grupy eksperymentalnej i ucznia z kontrolnej, uczeń z grupy eksperymentalnej uzyskałby wyższy wynik w około 64% przypadków (obliczone z pokrywania się).

Implementacja w Pythonie

Oblicz wielkości efektu programowo z przedziałami ufności:

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