Test dokładny Fishera - kiedy zamiast chi-kwadrat i jak go opisać

Dobór testu · 9 min czytania
Ilustracja do artykułu: Test dokładny Fishera - kiedy zamiast chi-kwadrat i jak go opisać
W skrócie: test dokładny Fishera sprawdza związek dwóch zmiennych kategorialnych w tabeli 2×2, licząc dokładne prawdopodobieństwo zamiast przybliżenia chi-kwadrat. Stosujesz go, gdy liczności oczekiwane są małe (reguła Cochrana), a dla większych tabel jego rozszerzeniem jest test Freemana-Haltona. Domyślnie raportujesz p dwustronne, odsetki w grupach i iloraz szans z przedziałem ufności. To inny test niż test F Fishera-Snedecora z analizy wariancji.

Test dokładny Fishera to rozwiązanie na sytuację, w której test chi-kwadrat przestaje być wiarygodny: masz tabelę krzyżową, ale za mało obserwacji w niektórych komórkach. Zamiast przybliżenia rozkładem chi-kwadrat test liczy dokładne prawdopodobieństwo uzyskania takiej tabeli przy założeniu braku związku. W tym wpisie znajdziesz zasady wyboru między testem Fishera a chi-kwadrat, mechanikę liczenia na przykładowych danych, różnicę między wersją jednostronną i dwustronną, iloraz szans z przedziałem ufności, rozszerzenie Freemana-Haltona dla większych tabel oraz gotowy zapis w APA 7.

Czym jest test dokładny Fishera

Test zaproponował Ronald A. Fisher w latach 20. i 30. XX wieku. Dotyczy tabeli 2×2, czyli dwóch zmiennych dwuwartościowych, np. metoda leczenia (A lub B) i powikłanie (tak lub nie). Test zakłada, że sumy wierszy i kolumn są ustalone, i pyta: spośród wszystkich tabel o tych samych sumach brzegowych, jak prawdopodobna jest tabela obserwowana lub jeszcze bardziej skrajna, jeśli zmienne są niezależne? Prawdopodobieństwa te wynikają z rozkładu hipergeometrycznego i można je policzyć bez żadnego przybliżenia, stąd nazwa „dokładny”.

Hipotezy są takie same jak w teście chi-kwadrat niezależności. H0: zmienne są niezależne, czyli odsetek powikłań jest taki sam w obu grupach (iloraz szans równy 1). H1: odsetki się różnią (wersja dwustronna) albo różnią się w określonym kierunku (wersja jednostronna).

Test Fishera to nie test F Fishera-Snedecora

Wpisując w wyszukiwarkę „test Fishera statystyka”, łatwo trafić na dwa różne narzędzia. Test dokładny Fishera dotyczy tabel krzyżowych i liczności. Test F (Fishera-Snedecora) to porównanie wariancji: używa go analiza wariancji, regresja i test porównujący wariancje dwóch grup, a jego statystyka F ma rozkład F Snedecora. Oba noszą nazwisko tego samego statystyka, ale służą do czegoś zupełnie innego. Jeśli promotor prosi o „test Fishera” przy tabeli krzyżowej, chodzi o test dokładny, a jeśli przy porównaniu średnich kilku grup, chodzi o statystykę F z ANOVA.

Test Fishera: kiedy stosować zamiast chi-kwadrat

Test chi-kwadrat korzysta z przybliżenia, które działa dobrze tylko wtedy, gdy liczności oczekiwane (nie obserwowane) nie są zbyt małe. Najczęściej cytowane kryteria pochodzą od Cochrana (1954) i omawiamy je szczegółowo we wpisie chi-kwadrat: kiedy i jakie założenia. Dla tabeli 2×2 sprowadzają się do prostej reguły:

  • N < 20: wybierz test Fishera,
  • N od 20 do 40 i najmniejsza liczność oczekiwana poniżej 5: wybierz test Fishera,
  • N > 40 albo wszystkie liczności oczekiwane co najmniej 5: test chi-kwadrat jest akceptowalny, choć test Fishera nadal jest poprawny.

Dla większych tabel obowiązuje reguła, że nie więcej niż 20% komórek może mieć liczność oczekiwaną poniżej 5, a żadna nie może mieć poniżej 1. Gdy reguła nie jest spełniona, a łączenie kategorii nie ma sensu merytorycznego, sięgasz po rozszerzenie Freemana-Haltona opisane niżej.

Reguły pochodzą z czasów, gdy test dokładny liczyło się ręcznie. Dziś program robi to w ułamku sekundy, dlatego przy małej tabeli 2×2 test dokładny jest po prostu bezpiecznym wyborem, także gdy reguły Cochrana są spełnione na granicy. W pracy wystarczy jedno zdanie uzasadnienia: „Ze względu na liczności oczekiwane poniżej 5 zastosowano test dokładny Fishera”.

Jak działa test: rozkład hipergeometryczny

Oznacz komórki tabeli literami a, b (pierwszy wiersz) oraz c, d (drugi wiersz), a N to suma wszystkich. Prawdopodobieństwo konkretnej tabeli przy ustalonych sumach brzegowych wynosi:

P = [(a + b)! · (c + d)! · (a + c)! · (b + d)!] / [N! · a! · b! · c! · d!]

Program wypisuje wszystkie tabele o tych samych sumach brzegowych, liczy prawdopodobieństwo każdej z nich i sumuje te, które są co najmniej tak skrajne jak tabela obserwowana. Ta suma to wartość p. Najłatwiej zobaczyć to na przykładzie.

Test dokładny Fishera: przykład

Przykładowe dane: 25 pacjentów po zabiegu ortopedycznym, 13 prowadzonych według standardowego schematu i 12 według nowego protokołu wczesnej mobilizacji. Zmienna wynikowa to wystąpienie powikłania w ciągu miesiąca.

GrupaPowikłanie: takPowikłanie: nieRazem
Schemat standardowy7 (54%)613
Nowy protokół1 (8%)1112
Razem81725

Liczności oczekiwane w kolumnie „powikłanie: tak” wynoszą 13 · 8 / 25 = 4,16 oraz 12 · 8 / 25 = 3,84. Dwie z czterech komórek (50%) mają liczność oczekiwaną poniżej 5, a N = 25 mieści się w przedziale 20-40, więc według Cochrana właściwy jest test Fishera.

Przy ustalonych sumach (8 powikłań, 12 osób w grupie z nowym protokołem) liczba powikłań w tej grupie mogła wynieść od 0 do 8. Prawdopodobieństwo każdej możliwości przy braku związku:

Powikłania w grupie z nowym protokołemPrawdopodobieństwo
00,0012
1 (wynik obserwowany)0,0190
20,1047
30,2618
40,3272
50,2094
60,0666
70,0095
80,0005

Jednostronne p (nowy protokół daje mniej powikłań) to suma prawdopodobieństw wyniku obserwowanego i bardziej skrajnych w tym samym kierunku: 0,0190 + 0,0012 = 0,020. Dwustronne p w wersji stosowanej m.in. przez R i SciPy to suma wszystkich tabel, których prawdopodobieństwo nie przekracza prawdopodobieństwa tabeli obserwowanej (0,0190): 0,0012 + 0,0190 + 0,0095 + 0,0005 = 0,030. Dla porównania test chi-kwadrat na tych samych danych daje χ2(1) = 5,94, p = 0,015, a z poprawką Yatesa χ2(1) = 4,03, p = 0,045. Klasyczny chi-kwadrat przy małych licznościach zaniża p, a poprawka Yatesa idzie w drugą stronę.

Test jednostronny czy dwustronny

Programy zwykle podają obie wersje, np. SPSS w kolumnach „Exact Sig. (2-sided)” i „Exact Sig. (1-sided)”. Domyślnie raportujesz wersję dwustronną. Jednostronną możesz podać tylko wtedy, gdy kierunek różnicy zapisałeś w hipotezie przed zebraniem danych i wynik w przeciwnym kierunku nie miałby dla Ciebie znaczenia. Wybór wersji jednostronnej po to, aby p spadło poniżej 0,05, to błąd metodologiczny, który recenzenci łatwo wychwytują. Jak precyzyjnie zapisać hipotezę kierunkową, pokazujemy w tekście o hipotezie zerowej i alternatywnej.

Test Fishera jest testem zachowawczym: z powodu dyskretnego rozkładu rzeczywisty poziom błędu I rodzaju bywa niższy niż deklarowane 0,05. Niektórzy autorzy proponują w związku z tym wersję mid-p, ale w pracach dyplomowych standardem pozostaje klasyczne p dokładne.

Iloraz szans z przedziałem ufności

Wartość p mówi tylko, czy związek jest prawdopodobny. Siłę związku w tabeli 2×2 opisuje iloraz szans (OR). Szansa powikłania w grupie standardowej to 7/6, a w grupie z nowym protokołem 1/11, więc z tabeli:

OR = (a · d) / (b · c) = (7 · 11) / (6 · 1) = 12,83

Programy oparte na teście Fishera (np. R) podają zwykle inny estymator: warunkowy iloraz szans o największej wiarygodności, tu OR = 11,53, z dokładnym 95% przedziałem ufności od 1,08 do 629,47. Przedział nie obejmuje 1, co jest zgodne z istotnym wynikiem testu, ale jest ogromnie szeroki. To uczciwy obraz małej próby: wiadomo, że szansa powikłania w grupie standardowej jest wyższa, ale nie wiadomo, czy dwukrotnie, czy stukrotnie. Napisz w pracy, który estymator raportujesz, bo oba funkcjonują w programach.

Uzupełniająco możesz podać współczynnik phi (tu φ = 0,49) oraz różnicę odsetków: powikłania wystąpiły u 54% pacjentów ze schematem standardowym i u 8% z nowym protokołem. Więcej o miarach efektu przeczytasz we wpisie o wielkości efektu.

Test Fishera-Freemana-Haltona dla tabel większych niż 2×2

Freeman i Halton (1951) uogólnili test Fishera na tabele o dowolnej liczbie wierszy i kolumn. Logika jest identyczna: program przegląda wszystkie tabele o tych samych sumach brzegowych i sumuje prawdopodobieństwa tych, które są nie bardziej prawdopodobne niż tabela obserwowana. W literaturze test nazywa się testem Freemana-Haltona albo rozszerzonym testem dokładnym Fishera.

Przykładowe dane: 24 pacjentów z trzech form terapii (po 8 osób), zmienna wynikowa to poprawa po 3 miesiącach.

Forma terapiiPoprawa: takPoprawa: nie
Indywidualna7 (88%)1
Grupowa4 (50%)4
Online2 (25%)6

Wszystkie sześć liczności oczekiwanych jest mniejszych od 5 (4,33 i 3,67), więc reguła Cochrana jest wyraźnie złamana. Test chi-kwadrat dałby χ2(2) = 6,38, p = 0,041, czyli wynik istotny. Test Freemana-Haltona, który przegląda wszystkie 60 możliwych tabel o tych sumach brzegowych, daje p = 0,060, czyli wynik nieistotny przy α = 0,05. Ta sama tabela prowadzi do dwóch różnych wniosków, a wiarygodny jest test dokładny. V Cramera wynosi 0,52, więc różnice w odsetkach (88%, 50% i 25%) są wyraźne, ale przy 24 osobach dane nie pozwalają odrzucić hipotezy zerowej. Taki wynik opisz jako tendencję wymagającą sprawdzenia na większej próbie, a nie jako „brak różnic”.

Przy dużych tabelach i większych próbach liczba możliwych tabel rośnie bardzo szybko i obliczenia dokładne mogą trwać długo. Programy oferują wtedy przybliżenie metodą Monte Carlo, które losuje np. 10 000 tabel z tymi samymi sumami brzegowymi. Raportując taki wynik, podaj, że p oszacowano metodą Monte Carlo.

Jak opisać test Fishera w APA 7

Test dokładny nie ma statystyki z rozkładu, więc zapis składa się z liczności, odsetków, p i miary efektu. Przykład dla tabeli 2×2:

Ze względu na liczności oczekiwane poniżej 5 do porównania częstości powikłań zastosowano dwustronny test dokładny Fishera. Powikłania występowały istotnie częściej u pacjentów prowadzonych według schematu standardowego (7 z 13, 54%) niż według nowego protokołu (1 z 12, 8%), p = 0,030, OR = 11,53, 95% CI [1,08; 629,47].

Dla tabeli 3×2: „Odsetek pacjentów z poprawą wynosił 88% w terapii indywidualnej, 50% w grupowej i 25% w terapii online. Test dokładny Fishera-Freemana-Haltona nie wykazał istotnego związku formy terapii z poprawą, p = 0,060, V = 0,52”. Tabelę z licznościami i odsetkami umieść przed opisem, zgodnie z zasadami z poradnika jak zaraportować wynik testu w APA 7.

Test Fishera w SPSS i jamovi

  • SPSS: Analyze > Descriptive Statistics > Crosstabs, w oknie Statistics zaznacz Chi-square. Dla tabeli 2×2 wiersz Fisher's Exact Test pojawia się w tabeli wyników automatycznie. Dla większych tabel test dokładny wymaga modułu Exact Tests (przycisk Exact w oknie Crosstabs albo w składni /METHOD=EXACT; wariant Monte Carlo to /METHOD=MC).
  • SPSS, iloraz szans: w tym samym oknie Statistics zaznacz Risk. Program podaje wtedy iloraz szans z próby i jego przedział ufności oparty na przybliżeniu, a nie warunkowy estymator z testu Fishera.
  • jamovi: Analyses > Frequencies > Contingency Tables > Independent Samples, w sekcji statystyk zaznacz Fisher's exact test. Iloraz szans jest dostępny tylko dla tabel 2×2.

Nie wiesz, czy Twoja tabela wymaga testu Fishera, czy wystarczy chi-kwadrat? Sprawdź przewodnik „Który test wybrać?” w darmowych narzędziach. Tabele krzyżowe z testem chi-kwadrat lub Fishera i miarą siły związku wchodzą w zakres wyliczenia automatycznego, które zamawiasz przez kreator wyceny.

Typowe błędy

  • Sprawdzanie liczności obserwowanych zamiast oczekiwanych przy wyborze między chi-kwadrat a testem Fishera.
  • Raportowanie chi-kwadrat mimo komunikatu programu, że część komórek ma liczność oczekiwaną poniżej 5.
  • Wybór wersji jednostronnej po obejrzeniu wyniku.
  • Podawanie samego p bez odsetków w grupach i bez ilorazu szans.
  • Pomylenie testu dokładnego Fishera z testem F z analizy wariancji.
  • Zapis „brak różnic” przy nieistotnym wyniku z bardzo małej próby, zamiast informacji o niewystarczającej mocy.

Z ostatnim punktem wiąże się właściwa interpretacja wartości p, którą wyjaśniamy we wpisie wartość p: co naprawdę oznacza.

Najczęstsze pytania

Kiedy stosować test Fishera zamiast chi-kwadrat?
Gdy w tabeli 2×2 liczność całkowita jest mniejsza niż 20 albo mieści się między 20 a 40, a najmniejsza liczność oczekiwana jest mniejsza od 5. W większych tabelach sygnałem jest więcej niż 20% komórek z licznością oczekiwaną poniżej 5. Test Fishera jest poprawny także przy większych próbach.
Czy test Fishera można zrobić dla tabeli większej niż 2×2?
Tak, służy do tego rozszerzenie Freemana-Haltona, nazywane też testem Fishera-Freemana-Haltona. W SPSS wymaga modułu Exact Tests, a przy dużych tabelach programy szacują p metodą Monte Carlo.
Czym różni się test Fishera od testu F?
Test dokładny Fishera dotyczy liczności w tabelach krzyżowych. Test F Fishera-Snedecora porównuje wariancje i jest używany w analizie wariancji oraz regresji. Mają wspólnego patrona, ale służą do zupełnie innych celów.
Jednostronny czy dwustronny test Fishera?
Domyślnie raportuj p dwustronne. Wersję jednostronną możesz podać tylko wtedy, gdy kierunek różnicy zapisałeś w hipotezie przed zebraniem danych.
Co podać w pracy po teście Fishera?
Tabelę z licznościami i odsetkami, informację, dlaczego wybrano test dokładny, dwustronne p oraz iloraz szans z 95% przedziałem ufności lub współczynnik phi. Test nie ma statystyki z rozkładu, więc nie wpisuj wartości χ².
Źródła:
  • Fisher, R. A. (1922). On the interpretation of χ² from contingency tables, and the calculation of P. Journal of the Royal Statistical Society, 85(1), 87-94. https://doi.org/10.2307/2340521
  • Freeman, G. H., & Halton, J. H. (1951). Note on an exact treatment of contingency, goodness of fit and other problems of significance. Biometrika, 38(1-2), 141-149. https://doi.org/10.1093/biomet/38.1-2.141
  • Cochran, W. G. (1954). Some methods for strengthening the common χ² tests. Biometrics, 10(4), 417-451.
  • Agresti, A. (2019). An introduction to categorical data analysis (3rd ed.). Wiley.
Policzymy to za Ciebie
Test dobrany do hipotez, tabele, wykresy i opis w standardzie APA.
Wyceń analizę
Artykuł ma charakter edukacyjny. W razie wątpliwości skorzystaj z kreatora doboru analiz lub napisz do statystyka.