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

1.8.2 Beregning i R af permutations p-værdi

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.
  1. Hvad beregnes i Gfct?
  2. Hvad er formålet med A1 inde i Gfct?
  3. Hvad tror du funktionen table laver?

Svar

  1. Gfct beregner -tesstørrelsen baseret på en matriks med antallene i de forskellige kategorier.
  2. 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 .
  3. Funktionen table laver matricen med de observerede antal i kategorierne , og

Betingede sandsynlighed

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.

Bruge R-funktionen fisher.test

Sammenligne eksakte tests

Her følger en række spørgsmål til forståelsen af koden.
  1. Hvad indeholder vektoren xvek?
  2. Hvad tror du hxvek indeholder?
  3. Lav et test for uafhængighed mellem sted og dødelighed, når du kun betragter hændelser i Homers Illiade, hvor skaden er på enten skulder eller ben.

Svar: Eksakt test

  1. 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.
  2. Funktionen dhyper beregner de betingede sandsynligheder .
  3. Kodevinduet køres igen med Aobs=rbind(c(9,3),c(1,8)). Den betingede -værdi bliver 0.0075.

ForegåendeNæste