Afsnit 1.8: Permutationstest og Fishers eksakte test
Hvis vi prøver at lave uafhængighedstestet for data fra
Homers Illiade, finder man, at -teststørrelsen er 14.0, og de
forventede antal er
Vi kan se her, at de forventede antal er ikke alle større end
eller lig med 5, og vi kan ikke umiddelbart bruge
Resultat 1.7.1.
Ofte bruger man et mindre restriktivt krav, der kendes under
betegnelsen
Cochran regel.
Denne regel siger, at
alle de forventede skal være større end eller lig med 1,
og højst 20 procent må være under 5.
I eksemplet ovenfor med data fra Homers Illiade er der 5 ud af 8
forventede antal, der er under 5, hvilket er langt over grænsen
på de 20 procent. Vi bør derfor ikke bruge -fordelingen
til at beregne en approksimativ -værdi
(hvis vi gør det alligevel, bliver -værdien 0.0029).Jeg vil nu beskrive en måde til at simulere en -værdi
for test af uafhængighedshypotesen fra (1.7.1).
De underliggende data består af kategorierne for
elementer hvor er kategorien
efter det første kriterie, og er kategorien
efter det andet kriterie. Nedenfor viser jeg, at under
uafhængighedshypotesen vil
være uniformt fordelt i den betingede fordeling givet
rækkesummerne og
søjlesummerne Lad
være en fast følge, hvor antallet i de
forskellige kategorier efter det første inddelingskriterie
er og lad
være en fast følge, hvor antallet i de
forskellige kategorier efter det andet inddelingskriterie
er
Så siger resultatet, at alle mulige ombytninger af
og alle mulige ombytninger af er lige
sandsynlige i den betingede fordeling givet rækkesummer og
søjlesummer. En simuleret -værdi kan nu findes ved for
hver simuleret ombytning at finde antallene i de
celler af tabellen, beregne -teststørrelsen
og se, hvor ofte vi får en værdi, der ligger over -teststørrelsen
for de oprindelige data,
Resultat 1.8.1.
Permutationstest for uafhængighedshypotesen
Lad være en tilfældig permutation af tallene
og lad være de ombyttede -værdier.
Dan ud fra data en tabel
med antallene i de celler, og dan ud fra denne
tabel -teststørrelsen betegnet med . Så gælder, at
En tilfældig ombytning (permutation) af elementerne i en vektor
kan i R simuleres ved kommandoen sample(v).
I det følgende kodevindue simuleres -værdien for
uafhængighedstestet for data fra Homers Illiade.
Her følger en række spørgsmål til forståelsen af koden.
Gfct beregner -tesstørrelsen baseret på
en matriks med antallene i de forskellige kategorier.
I -teststørrelsen vil vi få et problem, hvis det
observerede antal i et af leddene er nul, idet R
ikke kan beregne . For at få den rigtige værdi,
nemlig nul, skriver vi i stedet .
Funktionen table laver matricen med de observerede
antal i kategorierne , og
Under uafhængighedshypotesen betragtes den betingede fordeling
af givet rækkesummerne
og søjlesummerne
For at finde den betingede
fordeling bruges at
Idet rækkesummer og søjlesummer er uafhængige (se skjulte punkt
i foregående afsnit), kan den betingede sandsynlighed
nu skrives som
Da denne sandsynlighed ikke afhænger af ,
har alle værdier af disse, der opfylder at rækkesummerne er
og søjlesummerne er
lige stor sandsynlighed.
1.8.1 Fishers eksakte test
Den betingede fordeling, der simuleres i permutationstestet
ovenfor, kan beregnes direkte i en tabel.
Når vi betinger med de to rækkesummer og de to søjlesummer,
er der kun n indgang tilbage i matricen
, der kan variere frit.
Lad , , og
så kan vi skrive som
Den betingede sandsynlighed kan beregnes som
Fordelingen, der optræder her, kendes under navnet
den hypergeometriske fordeling.
For enhver mulig værdi af beregner vi
-teststørrelsen, og beregner -værdien
for uafhænighedstestet som
Testet baseret på den betingede fordeling kaldes
Fishers eksakte test.
I R er dette test
implementeret i funktionen fisher.test, men her
beregnes -værdien lidt anderledes end i
(1.8.1). Når vi bruger (1.8.1), rangordnes
de forskellige udfald det vil sige -indgangen i
matricen, ud fra -teststørrelsen. I fisher.test
rangordnes udfaldene efter værdien af den betingede sandsynlighed
således at -værdien er
Eksempel 1.8.3.
Homers Illiade
Vi betragter igen data fra Homers Illiade, men benytter kun
data fra 13 hændelser, hvor skaden er på enten hånd eller arm:
De forventde antal under hypotesen om uafhængighed mellem sted på
kroppen og dødelighed er 0.9 og 3.1 i første række og
2.1 og 6.9 i anden række. Disse opfylder ikke Cochrans regel, og man
kan derfor
ikke stole på -værdien beregnet fra en -fordeling.
Gennemfører vi beregningerne, fås og
I det næste kodevindue beregner jeg det eksakte test baseret på
den betingede fordeling givet rækkesummer og søjlesummer.
Det betingede test baseret på -teststørrelsen giver en
-værdi på 0.31, hvorimod det betingede test baseret på
(1.8.2) giver en -værdi på 0.50. I begge tilfælde en
noget højere -værdi end den approksimative fra
-fordelingen. Forskellen mellem de to betingede tests ligger i, at den sidste -værdi
er beregnet ud fra de tre udfald 0, 2 og 3 for antallet af døde,
hvor skaden er i hånden, i forhold til -værdien baseret på
, hvor kun udfaldene 0 og 3 medtages.
Vektoren xvek indeholder de mulige værdier af
-indgangen i datamatricen når rækkesummer og søjlesummer
holdes fast. I det konkrete eksempel bliver dette værdierne
0, 1, 2 og 3.
Funktionen dhyper beregner de
betingede sandsynligheder .
Kodevinduet køres igen med
Aobs=rbind(c(9,3),c(1,8)). Den betingede -værdi bliver
0.0075.