Fisher's exact toets
Auteur | ir. N. van Geloven | |
Co-Auteur | ||
auteurschap op deze site |
Fisher's exact toets beoordeelt of het verschil tussen proporties werkelijk bestaat of slechts "toevallig" is.
Wanneer gebruik ik Fisher's exact test?
Fisher's exact test kan gebruikt worden om te toetsen of het verschil tussen twee proporties in een klassieke 2x2 tabel significant is. Dergelijke tabellen worden meestal geanalyseerd met een Chi-kwadraat toets. Traditioneel wordt er voor de Fisher's exact test gekozen ipv een Chi-kwadraat wanneer er lage aantallen (geobserveerde count ~<10 of expected count <5) in de 2x2 tabel voorkomen. De Chi-kwadraat test is dan niet meer nauwkeurig. Omdat Fisher's Exact test in de huidige statistische pakketten even snel uitgerekend kan worden als een chi-kwadraat test is er geen bezwaar meer om deze exacte test (chi-kwadraat gebruikt een benadering) altijd te gebruiken bij het analyseren van een 2x2 tabel. Er bestaat ook een generalisatie van de Fisher Exact test naar een (grotere) m x n tabel. In het algemeen zal de Chi-kwadraat toets minder conservatief (sneller significant) toetsen dan de Fisher's exact toets.
Voorbeeld van een klassieke 2x2 tabel:
cases | controls | totals | |
men | 0 | 10 | 10 |
woman | 12 | 2 | 14 |
totals | 12 | 12 | 24 |
Moet ik Chi-kwadraat of Fisher's exact toetsen gebruiken?
Voor mijn onderzoek heb ik een aantal uitkomsten geanalyseerd met X2-testen. Het is niet een heel grote studie (75 patienten), dus de aantallen patienten met de symptomen waar het om gaat zijn soms klein. In principe heb ik X2-testen gebruikt, alleen in het geval van een "expected count" van minder dan 5 in 20% of meer van de cellen in de tabel heb ik een Fisher's exact test gedaan. Nu doen we deze studie samen met een sponsor en zij hebben ook statistische analyses gedaan. Ik kreeg net de resultaten en zij blijken voor alle uitkomsten Fisher's exact testen gedaan te hebben (ipv X2). Dit is nogal jammer want een aantal statistisch significante uitkomsten die ik vond met de X2-testen (en die allemaal in dezelfde richting wezen dus leken te kloppen) zijn nu net niet significant meer (tenminste niet als je de uitkomsten van de two-tailed Fisher neemt, zoals de sponsor heeft gedaan). Wat is jullie mening hierover?
De sponsor heeft een punt: Fisher's exact toets is nauwkeuriger dan de X2 toets en kan tegenwoordig even gemakkelijk uitgerekend worden. In het algemeen: de uitkomst/interpretatie van je studie zou niet moeten hangen om een p-waarde van 0.04 of 0.06, er zijn veel belangrijkere punten te maken dan het wel of niet onder de 0.05 uitkomen van een p-waarde.
Ik heb in mijn controlearm 0 events, kan ik het verschil tussen beide armen nog wel toetsen?
Ik heb het voorkomen van hyperthyreoidie bij patienten met veneuze trombose vs controles bekeken. Van de 173 cases hadden 3 patienten een hyperthyreoidie vs 0 van de 344 controles. Statische analyse met behulp van de Fisher's exact test toont dat hyperthyreoidie en veneuze trombose vaker samen voorkomen dan op basis van toeval verwacht kan worden (p=0.037). Volgens een van mijn professoren kunnen bovenstaande getallen echter geen significant verschil opleveren. Kan ik Fisher's exact test wel gebruiken in dit geval?
Jouw berekeningen kloppen: 3 uit 173 (1.7%) is significant verschillend van 0 uit 344 (0%) en de p-waarde is inderdaad 0.037. Ik kan me de scepsis van de prof wel voorstellen want 3 events is natuurlijk niet heel veel, maar misschien helpt het als je benadrukt dat 0 events uit 344 observaties al behoorlijk veel evidence geeft dat de event-rate in de controls heel erg laag is; feitelijk loopt het 95% betrouwbaarheidsinterval nul tot 1.07%, dus de kans dat het in de buurt van de 1.7% ligt is heel erg gering. Je zult wellicht dezelfde scepsis ontmoeten als je dit resultaat wilt publiceren, dus misschien moet je nog wat meer evidence verzamelen.
Ik heb in mijn controlearm 0 events, hoe reken ik nu de odds ratio uit?
Ik heb een 0 in een aantal 2x2 tabellen waardoor ik geen OR kan berekenen. Wat is de gebruikelijke oplossing hiervoor?
De meest gebruikte methode om toch een OR te kunnen uitrekenen, waneer een van de cellen in de tabel nul is, is bij ALLE cellen 0.5 op te tellen. Dit resulteert waarschijnlijk wel in een groter betrouwbaarheidsinterval. Een referentie voor deze correctie en de SE is: Agresti A (1990) Categorical Data Analysis. John Wiley & sons, New York. p. 54.
Waar vind ik Fisher's exact test in SPSS?
Je vindt de test in SPSS 16 onder Analyse->Descriptive Statistics->Crosstabs. Vink onder de knop "Statistics..." Chi-square aan. Wanneer er voor beide opgegeven variabelen slechts 2 categorieën zijn (en het dus gaat om een 2x2 tabel), krijg je naast de Chi-kwadraat toets automatisch ook Fisher's exact test in de output. Bij een (grotere) m x n tabel moet er onder het kopje Exact... aanvullend gevraagd worden om een Monte Carlo of Exact berekening.
Ik krijg iedere keer een andere p-waarde uit mijn Fisher exact toets, hoe kan dat?
Voor een van mijn deelvragen wil ik bepalen of er een verschil is voor het aantal voorgeschreven medicijnen tussen verschillende bloostellingsgroepen. Ik wilde dit weergeven in een 8 x 13 tabel. Waarbij van elk voorkomend aantal medicijnen het percentage wordt weergegeven. De aantallen zijn volgens mij ongepaard en discreet omdat er alleen hele getallen als uitkomst kunnen voorkomen. Als ik dan op wikistatistiek kijk bij 'keuze toets' zou ik een Chi-kwadraat toets kunnen doen. Omdat sommige cellen kleine aantallen bevatten (ook wel eens 0) dacht ik dat het beter was om een Fisher's exact test te doen. Maar als ik de toets herhaal blijkt de uitkomst van de Fisher's exact test steeds te veranderen. De uitkomst van de Chi-kwadraat toets blijft hetzelfde en ik heb tussendoor ook niets aan de data veranderd. Gebruik ik de verkeerde test en kan ik toch beter de Chi-kwadraat test gebruiken?
Voor het berekenen van de Fisher exact test bij een tabel groter dan 2x2 kun je in SPSS kiezen uit 2 berekenmethoden. Een is de 'exacte', omdat deze lang kan duren kun je aangeven hoelang je max wilt dat er gerekend wordt. De tweede is een 'monte carlo' simulatie. Hierbij wordt er gebruik gemaakt van simulatie. Bij simulatie kan er bij iedere run net op basis van toeval een andere set gesimuleerd worden en kun je dus bij iedere run een ander antwoord krijgen. Dat verklaart waarschijnlijk jouw observatie. Je zou de analyse eens met de instelling 'exact' kunnen draaien. Let overigens op dat bij grote tabellen met lage frequenties er wellicht weinig power is om verschillen te vinden. Het samenvoegen van categorien is soms nodig om meer krachtige vergelijkingen te doen.
Ik heb meer dan twee categorieën. Kan ik dan ook Fisher's exact toets gebruiken?
Strikt genomen, nee. Maar de Fisher-Freeman-Halton exact toets is een uitbreiding van Fisher's exact toets naar de situatie waarin er meer dan twee categorieën zijn. Je kunt hier meer lezen over het uitvoeren van de Fisher-Freeman-Halton exact toets in SPSS 20.
Reference: Freeman, G.H., & Halton, T.R. (1951). Note on exact treatment of contingency, goodness-of-fit and other problems of significance. Biometrika, 38, 141-149.
Referenties
- Agresti A (1990) Categorical Data Analysis. John Wiley & sons, New York.
- Mehta, C. R.& Patel, N. R. 1997. Exact inference in categorical data. Biometrics, 53(1), 112-117.
Terug naar OVERZICHT voor een overzicht van alle statistische onderwerpen op deze wiki.
Terug naar KEUZE TOETS voor hulp bij het uitzoeken van een geschikte toets of analyse.