Hvor vigtigt er det, om man dividerer med n eller n-1 når spredningen udregnes?

I statistiklitteraturen gør man mange steder et stor nummer ud af, at det er vigtigt at dividere med \(n-1\) i stedet for \(n\), når man udregner stikprøvespredningen. Argumentet for dette er baseret på, at variansestimatet så bliver centralt, men dette resultat holder alligevel ikke for spredningsestimatet, og i virkeligheden burde man hellere bekymre sig om direkte at udregne et centralt estimat for spredningen.

Formlen for stikprøvespredningen for en stikprøve \(x_1,\dots,x_n\) fra en fordeling af uafhængige, identisk fordelte variable med middelværdi \(\mu\) og spredning \(\sigma\) er typisk givet som kvadratroden af variansen, \[ s = \sqrt{s^2}, \] hvor \(s^2\) er stikprøvevariansen, der estimeres ved \[ s^2 = \frac 1 {n-1} \sum_{i=1}^n (x_i - \bar x)^2, \] hvor \(\bar{x}\) er gennemsnittet \[ \bar x = \frac 1 n \sum_{i=1}^n x_i = \frac 1 n (x_1 + x_2 + \dots + x_n) \]

Både \(s^2\) og \(s\) måler, hvor meget observationerne er spredt ud omkring gennemsnittet. Man bruger oftest \(s\) i forbindelse med en konkret dataanalyse af følgende grunde: Hvis enheden af \(x_i\)’erne er f.eks. \(meter\) så er enheden af gennemsnittet også \(meter\), men enheden på \(s^2\) er \(meter^2\), og det er en sær størrelse at se på i relation til gennemsnittet. Spredningen derimod har også enheden \(meter\), hvilket gør spredningen meget lettere at forholde sig til, og det er også denne størrelse, der indgår i et udregningen af konfidensintervaller for en middelværdi. 95% konfidensintervallet for middelværdien har tilnærmelsesvist formen

\[ [\bar x - 1.96 \frac{s}{\sqrt{n}}; \bar x + 1.96 \frac{s}{\sqrt{n}}], \] hvor spredningen \(s\) indgår i udregningen, men ikke \(s^2\).

Hvorfor dividerer man med n-1 i stedet for med n?

Hvorfor bruger vi ikke bare

\[v^2 = \frac 1{n} \sum_{i=1}^n (x_i - \bar x)^2,\]

og dermed også

\[v = \sqrt{v^2}\]

som estimater for variansen og spredningen? Først og fremmest må der gælde, at hvis \(n\) er stor så er det ligegyldigt om man dividerer med \(n-1\) eller \(n\). Hvis \(n\) ikke er stor er svaret lidt anderledes. Det korte svar er, at dividerer man med \(n-1\) så bliver estimatet for stikprøvevariansen \(s^2\) centralt.1 Man har altså, at \(\mathbb{E}(s^2) = \sigma^2\). Beviset for at det gælder er ikke så kompliceret, og et eksempel kan ses her. Dividerer man i stedet med \(n\) så bliver estimatet for variansen i gennemsnit lidt for lavt; vi underestimerer variansen.

Figur 1: Forholdet mellem \(n-1\) og \(n\) som funktion af \(n\). Når \(n\) bliver stor går forholdet mod 1, men når \(n\) er lille kan \(v^2\) være en del mindre end s^2.

Men … i formlen for konfidensintervallet,

\[ [\bar x - 1.96 s/\sqrt{n}; \bar x + 1.96 s/\sqrt{n}] \]

indgår jo ikke \(s^2\), men \(s = \sqrt{s^2}\). I praksis bruger vi kun \(s\) i udregningerne, og \(s\) er ikke et centralt estimat for spredningen \(\sigma\).2 Dette resultat følger direkte af Jensens ulighed: Kvadratroden er en konkav funktion, og Jensens ulighed siger, at \(\sigma = \sqrt{\sigma^2} = \sqrt{\mathbb{E}(s^2)} \geq \mathbb{E}(\sqrt{s^2}) = \mathbb{E}(s)\). \(s\) underestimerer systematisk spredningen selvom \(s^2\) er et centralt estimat for variansen, og det betyder, at konfidensintervallerne i praksis er lidt for smalle. Baserer man intervallet på \(v\) i stedet for \(s\) så bliver intervallet endnu mere for snævert. Om den fejl man begår har nogen praktiske betydning må vurderes i den konkrete sammenhæng.

Vi kan illustrere problemstillingen ved hjælp af simulation. I figuren nedenfor udregnes det gennemsnitlige estimat \(s\) og \(v\) for en spredning når \(n\) varierer på baggrund af normalfordelte data.

Figur 2: Gennemsnitlig estimat for \(s\) og \(v\) over 10000 simulationer fra en normalfordeling med spredning N(0, 2). Hvis estimaterne var centrale skulle de ligge omkring 2, men både \(s\) og \(v\) underestimerer den sande spredning.

Det ses, at både \(s\) og \(v\) underestimerer den sande spredning, og at \(v\) er værre end \(s\). \(s\) er altså stadig et bedre bud på spredningen end \(v\), men det er alligevel lidt utilfredsstillende at al den tid og energi, der i undervisningen går på at snakke om, hvor vigtigt det er at dividere med \(n-1\) i stedet for \(n\) faktisk ikke rigtig fikser det reelle problem.

Kan man gøre det bedre?

Er det overhovedet muligt at lave et centralt estimat for spredningen selv? Ja det er det faktisk - i hvert fald i det tilfælde, hvor data er uafhængige og følger en normalfordeling.3 Beviset følger af at vise, at variansestimatet følger en \(\sigma^2\chi^2\)-fordeling med \(n-1\) frihedsgrader. Hvis man dividerer det almindelige spredningsestimat \(s\) med faktoren

\[c(n) \approx 1 - \frac{1}{4n} - \frac{7}{32n^2} - \frac{19}{128n^3}\]

så vil \[s_c = \frac{s}{c(n)}\] være et centralt estimat for selve spredningen.4 De sidste par led i korrektionsfaktoren går meget hurtigt mod 0, så i de fleste tilfælde kan man nøjes med bare at bruge korrektionsfaktoren \(1 - \frac{1}{4n}.\)

Hertil kan man sige, at hvis man synes det er svært at overbevise sig selv eller andre om fornuften i at dividere med \(n-1\) fremfor \(n\), når man beregner \(s^2\) så bliver den pædagogiske øvelse bare endnu sværere, hvis man skal retfærdiggøre ovenstående korrektionsfaktor for et centralt estimat for spredningen. Det viser sig, at approksimationen

\[w = \sqrt{\frac 1 {n-1.5} \sum_{i=1}^n (x_i - \bar x)^2}\]

faktisk giver ret pæne resultater selv for små stikprøver. Dette fremgår af simulationerne i nedenstående figur.

Figur 2: Gennemsnitlig estimat for \(s_c\), \(w\), \(s\) og \(v\) over 10000 simulationer fra en normalfordeling med spredning N(0, 2). Hvis estimaterne var centrale skulle de ligge omkring 2, men både \(s\) og \(v\) underestimerer den sande spredning. Både \(s_c\) og \(w\) rammer meget hurtigt den rigtige værdi, og gør det begge bedre end det almindelige spredningsestimat \(s\).

Vi ser, at det korrigerede estimat for spredningen er spot on i forhold til den sande værdi, og det samme gør sig gældende for approksimationen \(w\). Det er illustrativt at beregne hvor stor korrektionen \((1-\frac 1 {4n})\) er for forskellige (små) værdier af \(n\):

Tabel 1: Korrektionsfaktoren \(c(n)\) for \(s\) for forskellige værdier af stikprøvestørrelsen \(n\). Allerede fra omkring \(n=20\) observationer bliver korrektionen meget lille.
n c(n)
3 0.887
7 0.959
10 0.973
15 0.982
20 0.987

Konklusionen må være:

  1. at når \(n\) ikke er alt for lille så har det stort set ingen betydning om man dividerer med \(n\) eller \(n-1\), når man udregner et estimat for spredningen.
  2. Når \(n\) er lille kan det have en betydning, om man dividerer med \(n\) eller \(n-1\), og så virker det mindre relevant, at studerende bliver introduceret til en formel der giver et centralt estimat for variansen, som de ikke efterfølgende skal bruge.
  3. \(s\) klarer sig bedre end \(v\), så ud fra det synspunkt kan man argumentere for, at det stadig bedre at bruge \(n-1\) end at bruge \(n\), men hvis man er så bekymret omkring præcisionen, så bør man overveje at bruge et af de justerede estimater til at udregne den spredning, der indgår i formlen for konfidensintervallerne.5 Udregningen er fx implementeret i R i funktionen usd() fra pakken MESS.

Som afsluttende bemærkning kan man nævne, at et alternativ til at korrigere estimatet er at lave et bias-korrigeret bootstrapinterval.

comments powered by Disqus