Jeg har ovenfor indført to tests af hypotesen om ens middelværdier i
to normalfordelte populationer. Et test i situationen hvor
varianserne er ens og et andet, når varianserne i de to grupper er
forskellige. Hvorfor bruger vi to test i stedet for blot at nøjes
med testet, hvor det ikke antages, at varianserne er ens?
Svaret er, at hvis data ikke strider mod fælles varians, så får vi
et stærkere test for hypotesen om samme middelværdi. Et stærkere
test betyder, at man har nemmere ved at opdage en forskel i middelværdi,
hvilket kan aflæses i, at konfidensintervallet for forskellen
mellem de to middelværdier er smallere (97.5%-fraktilen i en
t(df)-fordeling falder, når antallet af frihedsgrader vokser, og
frihedsgraderne i tilfældet med ens varianser er
n1+n2−2≥dfW).For at kunne afgøre hvilket af de to tests der skal bruges, skal man
overveje, om de to varianser er ens. Vi betragter derfor hypotesen
σ12=σ22 i
Statistisk Model 6.1.1
med Xji∼N(μj,σj2).
Samme varians svarer i et qqplot af de to observationssæt til, at
data snor sig om parallelle linjer. I et boxplot skal de
to kasser være cirka lige store.For at kunne bruge det test jeg nu vil indføre i andre modelsammenhænge,
betragter jeg en lidt mere generel situation. Antag, at vi har to
uafhængige variansskøn
Situationen under model
Statistisk Model 6.1.1
svarer til
df1=n1−1 og df2=n2−1. For at teste
hypotesen om samme varians σ12=σ22, vil jeg benytte
forholdet s12/s22, som bør være tæt på 1 under hypotesen.
Da
s22s12=s22/σ2s12/σ2=s22/σ22s12/σ12
under hypotesen, vil fordelingen af s12/s22 være fordelingen af
V1/V2, hvor V1 og V2 er uafhængige og
Vj∼χ2(dfj)/dfj.
Definition 6.4.1.
(F-fordeling)
Lad V1 og V2 være uafhængige,
V1∼χ2(df1)/df1 og
V2∼χ2(df2)/df2. Så siges V1/V2
at følge en F-fordeling med df1 frihedsgrader i tæller
og df2 frihedsgrader i nævner.
Fordelingsfunktionen udregnet i x betegnes
Fcdf(x,df1,df2)
og p-fraktilen betegnes
Finv(p,df1,df2). I
python er de tilsvarende funktioner
st.f.cdf(x,df1,df2) og
st.f.ppf(p,df1,df2)
(hvor scipy.stats er importeret som st).
I nedenstående kodevindue tegnes tætheden for en
F(df1,df2)-fordeling, og 2.5% og 97.5%
fraktilerne markeres. Desuden er medianen for fordelingen
markeret. Tætheden findes i python med kommandoen
f.ppf(⋅,df1,df2).
Prøv at køre koden med forskellige valg af
frihedsgradsantallene df1 og df2.
Ved det test, der laves nedenfor, bliver 2.5% og 97.5%
fraktilerne grænserne for, hvornår vi accepterer, og hvornår
vi forkaster.
Når man laver et test for hypotesen σ12=σ22
mod alternativet σ12=σ22, er både store og små
værdier af s12/s22 kritiske. Store og små værdier skal ses i
forhold til et midtpunkt for fordelingen (medianen), som er det punkt
hvor der er sandsynlighed 0.5 for værdier under og
sandsynlighed 0.5 for værdier over.
Hvis derfor den oberverede værdi Fobs af
s12/s22 er større end medianen, bruger vi som p-værdi 2 gange
sandsynlighed for at få en værdi over Fobs, og hvis
Fobs er mindre end medianen, bruger vi 2 gange
sandsynlighed for at få en værdi mindre end Fobs.
Med andre ord siger vi, at der er lige så stor en sandsynlighed
for kritiske værdier på den anden side af medianen som på den side
af medianen, hvor Fobs ligger. For at undgå at finde
medianen implementerer vi beregningen som i det følgende resultat.
Resultat 6.4.2.
(Teste to varianser ens)
For test af hypotesen σ12=σ22
mod σ12=σ22 i
Statistisk Model 6.1.1
benyttes s12/s22∼F(df1,df2), og
p-værdi beregnes som