Ud over statistisk signifikans: Forståelse af effektstørrelse
Effektstørrelse måler størrelsen af en forskel eller sammenhæng uafhængigt af stikprøvestørrelse. Mens p-værdier fortæller dig, om en effekt er statistisk signifikant, fortæller effektstørrelser dig, hvor praktisk meningsfuld effekten er. Denne skelnen er afgørende for evidensbaseret beslutningstagning inden for forskning, medicin, uddannelse og erhvervsliv.
Forestil dig et lægemiddelforsøg, hvor et nyt præparat viser en statistisk signifikant forbedring (p < 0,001) i forhold til placebo. Uden effektstørrelse ved du ikke, om forbedringen er 0,1% eller 50%. Effektstørrelse giver denne afgørende kontekst og hjælper interessenter med at afgøre, om effekten er værd at investere i med hensyn til omkostninger, bivirkninger eller implementeringsindsats.
Det mest anvendte effektstørrelsesmål til sammenligning af to grupper er Cohens d, som udtrykker forskellen mellem gennemsnit i standardafvigelsesenheder. Denne standardisering muliggør sammenligning på tværs af forskellige studier og måleskalaer.
Hvorfor effektstørrelse er vigtig
Statistisk signifikans er stærkt påvirket af stikprøvestørrelse. Med en tilstrækkeligt stor stikprøve bliver selv trivielle forskelle “signifikante”. Omvendt opnår vigtige effekter måske ikke signifikans i små stikprøver. Effektstørrelse løser dette problem ved at give et stikprøvestørrelseuafhængigt mål.
Signifikansfælden
Centrale grunde til at bruge effektstørrelse:
- Metaanalyse: Effektstørrelser kan kombineres på tværs af studier for at estimere overordnede effekter
- Styrkeanalyse: Nødvendig for at beregne den påkrævede stikprøvestørrelse til fremtidige studier
- Praktiske beslutninger: Hjælper med at afgøre, om interventioner er værd at implementere
- Replikation: Giver et mål for replikationsstudier at matche
Cohens d: Standardmålet for effektstørrelse
Cohens d udtrykker forskellen mellem to gruppegennemsnit i enheder af den poolede standardafvigelse:
Cohen's d
Hvor M₁ og M₂ er gruppegennemsnittene, og sp er den poolede standardafvigelse beregnet som:
Pooled Standard Deviation
Fortegnet for d angiver retningen: positivt når M₁ > M₂, negativt når M₁ < M₂. Ofte rapporteres den absolutte værdi |d|, når retningen er indlysende fra konteksten.
Hvorfor poole standardafvigelsen?
Alternative effektstørrelsesmål
Selvom Cohens d er mest udbredt, findes der alternativer til specifikke situationer:
Hedges’ g: Biaskorrigeret effektstørrelse
Cohens d overvurderer populationens effektstørrelse en smule i små stikprøver. Hedges’ g anvender en korrektionsfaktor:
Hedges' g Correction
For stikprøver over 20 pr. gruppe er forskellen ubetydelig. For små stikprøver (n < 20) foretrækkes Hedges’ g.
Glass’s Δ: Når varianserne er forskellige
Når den ene gruppe er en kontrolgruppe med kendt variabilitet, bruges kun kontrolgruppens standardafvigelse som nævner:
Glass's Delta
Dette er nyttigt, når behandlingen kan påvirke variansen (f.eks. en intervention, der hjælper svage elever mere end stærke).
Fortolkning af effektstørrelser: Cohens retningslinjer
Jacob Cohen foreslog disse konventioner til fortolkning af d-værdier:
| Effektstørrelse (d) | Fortolkning | Overlap |
|---|---|---|
| 0.2 | Lille | 85% overlap mellem grupper |
| 0.5 | Middel | 67% overlap mellem grupper |
| 0.8 | Stor | 53% overlap mellem grupper |
| 1.2 | Meget stor | 40% overlap mellem grupper |
| 2.0 | Enorm | 19% overlap mellem grupper |
Kontekst er afgørende
Gennemregnet eksempel: Uddannelsesintervention
En skole tester et nyt læseprogram. Kontrolgruppe (n=25): gennemsnit=72, SA=12. Interventionsgruppe (n=30): gennemsnit=79, SA=14. Beregn Cohens d:
Beregn den poolede varians
Beregn den poolede SA
Beregn Cohens d
Fortolkning
Det betyder, at hvis man tager en tilfældig elev fra interventionsgruppen og en tilfældig elev fra kontrolgruppen, vil interventionseleven score højere ca. 64% af tiden (beregnet ud fra overlappet).
Python-implementering
Beregn effektstørrelser programmatisk med konfidensintervaller:
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}")