Afsnit 8.7: Det generelle F-test

I eksemplet omkring fremføring af medicin i kroppen i foregående afsnit vurderede vi, at der ikke så ud til at være interaktion mellem prodrug og tid. Vi lavede ikke et formelt test, eftersom hypotesen om additivitet svarer til at sætte fire parametre lig med nul, og dermed ikke kan aflæses fra parametertabellen. Generelt i den tosidede variansanalysemodel, her betegnet med M1,M_1, fjernes d(M1)d(M2)=km(k+m1)=(k1)(m1)d(M_1)-d(M_2)=km-(k+m-1)=(k-1)(m-1) parametre, når vi reducerer til den addititve model, her betegnet med M2,M_2, hvor kk og mm er antallet af niveauer i de to faktorer. Hvordan laver vi et test for denne reduktion? Ligesom i den ensidede variansanalysemodel skal varians "mellem grupper" sammenlignes med varians "inden for grupper". Jeg beskriver nu testet i en meget generel ramme.
En generel lineær normal model er på formen:
M:XiN(ξi,σ2),i=1,,n,(ξ1,,ξn)L(M), M:\enspace X_i\sim N\big(\xi_i,\sigma^2\big),\enspace i=1,\ldots,n,\enspace (\xi_1,\ldots,\xi_n)\in L(M),
hvor L(M)L(M) er et lineært underrum af Rn.\mathbf{R}^n. Det sidste betyder blot, at der findes et kk og faste vektorer v1,,vkv_1,\ldots,v_k, vj=(vj1,,vjn),v_j=(v_{j1},\ldots,v_{jn}), således at vektoren af middelværdier kan skrives på formen
(ξ1,,ξn)=θ1v1+θ2v2++θkvk,(8.7.1) (\xi_1,\ldots,\xi_n)=\theta_1v_1+\theta_2v_2+\cdots+ \theta_kv_k, \tag{8.7.1}
hvor (θ1,,θk)(\theta_1,\ldots,\theta_k) er ukendte parametre, som vi ønsker at estimere ud fra data. Dette kan virke noget abstrakt, men tænk på følgende to eksempler. For to grupper af observationer med hver sin middelværdi, hvor gruppe 1 kommer først, kan vi skrive
(ξ1,,ξn)=μ1(1,1,,1,0,0,,0)+μ2(0,0,,0,1,1,,1), (\xi_1,\ldots,\xi_n)=\mu_1(1,1,\ldots,1,0,0,\ldots,0)+ \mu_2(0,0,\ldots,0,1,1,\ldots,1),
eller for den simple regressionsmodel, kan vi skrive
(ξ1,,ξn)=α(1,1,,1)+β(t1,t2,,tn). (\xi_1,\ldots,\xi_n)=\alpha(1,1,\ldots,1)+ \beta(t_1,t_2,\ldots,t_n).
I det generelle FF-test ønsker vi at teste reduktionen fra en model M1M_1 til en undermodel M2,M_2, hvor L(M2)L(M_2) er et underrum af L(M1).L(M_1). I praksis betyder det sidste typisk, at man tester en hypotese om, at nogle angivne parametre er nul.
Resultat 8.7.1. (Det generelle FF-test)
Betragt to modeller M1M_1 og M2,M_2, hvor M2M_2 er en undermodel af M1.M_1. Lad ξ^i(M1)\hat\xi_i(M_1) og ξ^i(M2)\hat\xi_i(M_2), i=1,,ni=1,\ldots,n, være de forventede værdier i de to modeller, så er FF-teststørrelsen for reduktion fra model M1M_1 til model M2M_2 på formen
F=s2(M1,M2)s2(M1)=i(ξ^i(M1)ξ^i(M2))2/(d(M1)d(M2))s2(M1)=(SSD(M2)SSD(M1))/(df(M2)df(M1))s2(M1).\begin{aligned} F &=\frac{s^2(M_1,M_2)}{s^2(M_1)}= \frac{\sum_i(\hat\xi_i(M_1)-\hat\xi_i(M_2))^2/(d(M_1)-d(M_2))}{s^2(M_1)} \\ & =\frac{(\mathit{SSD}(M_2)-\mathit{SSD}(M_1))/ (\mathit{df}(M_2)-\mathit{df}(M_1))}{s^2(M_1)}. \end{aligned}
Under model M2M_2 beregnes pp-værdien for testet som
p-værdi=1Fcdf(F,df(M2)df(M1),df(M1)). p\text{-værdi}=1-F_{\text{cdf}} (F,\mathit{df}(M_2)-\mathit{df}(M_1),\mathit{df}(M_1)).
Testet beregnes i python ved kommandoen
anova_lm(lmUD2,lmUD1), \text{anova\textunderscore lm(lmUD2,lmUD1)},
hvor lmUD1 og lmUD2 er output fra ols i python for de to modeller M1M_1 og M2.M_2.
Output fra kaldet af anova\textunderscore lm er en testtabel med to rækker og seks søjler:
df_residssrdf_diffss_difFPr(>F)01 \begin{array}{rrrrrrr} \hline & \text{df\textunderscore resid} & \text{ssr} & \text{df\textunderscore diff} & \text{ss\textunderscore dif} & \text{F} & \text{Pr(>F)} \\ \hline 0 & - & - & & & & \\ 1 & - & - & - & - & - & -\\ \hline \end{array}
Første række vedrører model M2M_2 og anden række model M1M_1. Søjlen ssr indeholder SSD(M)\mathit{SSD}(M) for de to modeller, og df_\text{\textunderscore}resid de tilhørende frihedsgrader. Indholdet i anden række i søjlen df_\text{\textunderscore}diff er differensen mellem de to værdier under df_\text{\textunderscore}resid, og ss_\text{\textunderscore}dif er differensen mellem de to værdier under ssr. De to sidste søjler indeholder selve FF-teststørrelsen og den tilhørende pp-værdi i anden række.
Måske har I bemærket, at i output fra summaryLM i python står der i sidste linje "F-statistics". Dette er FF-teststørrelsen, hvor modellen fra kaldet af estimationsfunktionen sammenlignes med modellen med konstant middelværdi, svarende til modelformlen respons\sim1. Selvom slutmodellen i dette test altid er den samme, vil pp-værdien afhænge af startmodellen givet gennem kaldet til estimationsfunktionen. I kan se dette konkret i output fra det skjulte kodevindue i eksempel 8.6.1.
Eksempel 8.7.2. (Fremføring af medicin)
I kodevinduet nedenfor vises beregningen af FF-test for reduktion fra den tosidede variansanalysemodel til den additive model. Derudover vises de to FF-test for henholdsvis ingen effekt af prodrug og ingen effekt af tid.

8.7.3 Test for additive undermodel

Se opstartskoden (til/fra)

Kør koden og genfind pp-værdierne fra Eksempel 8.6.1.

ForegåendeNæste