Afsnit 6.4: Teste varianser ens

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)t(\mathit{df})-fordeling falder, når antallet af frihedsgrader vokser, og frihedsgraderne i tilfældet med ens varianser er n1+n22dfWn_1+n_2-2\geq \mathit{df}_W).
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\sigma_1^2=\sigma_2^2 i Statistisk Model 6.1.1 med XjiN(μj,σj2).X_{ji}\sim N(\mu_j,\sigma_j^2). 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
s12σ12χ2(df1)/df1,s22σ22χ2(df2)/df2.(6.4.1) s_1^2\sim\sigma_1^2\chi^2(\mathit{df}_1)/\mathit{df}_1,\quad s_2^2\sim\sigma_2^2\chi^2(\mathit{df}_2)/\mathit{df}_2. \tag{6.4.1}
Situationen under model Statistisk Model 6.1.1 svarer til df1=n11\mathit{df}_1=n_1-1 og df2=n21.\mathit{df}_2=n_2-1. For at teste hypotesen om samme varians σ12=σ22,\sigma_1^2=\sigma_2^2, vil jeg benytte forholdet s12/s22,s_1^2/s_2^2, som bør være tæt på 1 under hypotesen. Da
s12s22=s12/σ2s22/σ2=s12/σ12s22/σ22 \frac{s_1^2}{s_2^2}=\frac{s_1^2/\sigma^2}{s_2^2/\sigma^2} =\frac{s_1^2/\sigma_1^2}{s_2^2/\sigma_2^2}
under hypotesen, vil fordelingen af s12/s22s_1^2/s_2^2 være fordelingen af V1/V2,V_1/V_2, hvor V1V_1 og V2V_2 er uafhængige og Vjχ2(dfj)/dfj.V_j\sim\chi^2(\mathit{df}_j)/\mathit{df}_j.
Definition 6.4.1. (FF-fordeling)
Lad V1V_1 og V2V_2 være uafhængige, V1χ2(df1)/df1V_1\sim\chi^2(\mathit{df}_1)/\mathit{df}_1 og V2χ2(df2)/df2.V_2\sim\chi^2(\mathit{df}_2)/\mathit{df}_2. Så siges V1/V2V_1/V_2 at følge en FF-fordeling med df1\mathit{df}_1 frihedsgrader i tæller og df2\mathit{df}_2 frihedsgrader i nævner. Fordelingsfunktionen udregnet i xx betegnes Fcdf(x,df1,df2)F_{\text{cdf}}(x,\mathit{df}_1,\mathit{df}_2) og pp-fraktilen betegnes Finv(p,df1,df2).F_{\text{inv}}(p,\mathit{df}_1,\mathit{df}_2). I python er de tilsvarende funktioner st.f.cdf(x,df1,df2)\text{st.f.cdf}(x,\mathit{df}_1,\mathit{df}_2) og st.f.ppf(p,df1,df2)\text{st.f.ppf}(p,\mathit{df}_1,\mathit{df}_2) (hvor scipy.stats er importeret som st).

F-fordeling i python

I nedenstående kodevindue tegnes tætheden for en F(df1,df2)F(\mathit{df}_1,\mathit{df}_2)-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).\text{f.ppf}(\cdot,\mathit{df}_1,\mathit{df}_2). Prøv at køre koden med forskellige valg af frihedsgradsantallene df1\mathit{df}_1 og df2.\mathit{df}_2. 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\sigma_1^2=\sigma_2^2 mod alternativet σ12σ22,\sigma_1^2\neq \sigma_2^2, er både store og små værdier af s12/s22s_1^2/s_2^2 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 FobsF_{\text{obs}} af s12/s22s_1^2/s_2^2 er større end medianen, bruger vi som pp-værdi 2 gange sandsynlighed for at få en værdi over Fobs,F_{\text{obs}}, og hvis FobsF_{\text{obs}} er mindre end medianen, bruger vi 2 gange sandsynlighed for at få en værdi mindre end Fobs.F_{\text{obs}}. 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 FobsF_{\text{obs}} 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\sigma_1^2=\sigma_2^2 mod σ12σ22\sigma_1^2\neq \sigma_2^2 i Statistisk Model 6.1.1 benyttes s12/s22F(df1,df2),s_1^2/s_2^2\sim F(\mathit{df}_1,\mathit{df}_2), og pp-værdi beregnes som
p-værdi=2min{Fcdf(Fobs,df1,df2),1Fcdf(Fobs,df1,df2)}, p\text{-værdi}= 2\cdot \min\{ F_{\text{cdf}}(F_{\text{obs}},\mathit{df}_1,\mathit{df}_2), 1-F_{\text{cdf}}(F_{\text{obs}},\mathit{df}_1,\mathit{df}_2) \},
hvor FobsF_{\text{obs}} er den observerede værdi af s12/s22.s_1^2/s_2^2.
Eksempel 6.4.3. (Opdagelsen af Argon)
Jeg vender tilbage til Eksempel 6.3.2 omkring massen af kvælstof udvundet på to forskellige måder. Vi fandt i eksemplet, at de to variansskøn er
satmos2=2.035108,dfatmos=71=6,skemi2=1.940106,dfkemi=81=7. s_{\text{atmos}}^2=2.035\cdot 10^{-8},\enspace\mathit{df}_{\text{atmos}}=7-1=6,\quad s_{\text{kemi}}^2=1.940\cdot 10^{-6},\enspace\mathit{df}_{\text{kemi}}=8-1=7.
Herudfra kan man beregne FF-teststørrelsen for hypotesen om samme varians, σatmos2=σkemi2,\sigma_{\text{atmos}}^2=\sigma_{\text{kemi}}^2,
F=0.020351.940=0.01049,p-værdi=2Fcdf(0.01049,6,7)=0.00002. F=\frac{0.02035}{1.940}=0.01049,\quad p\text{-værdi}=2\cdot F_{\text{cdf}}(0.01049,6,7)=0.00002.
Da pp-værdien er langt under 0.05, strider data mod hypotesen om samme varians ved de to metoder til udvinding af kvælstof.
ForegåendeNæste