Fishers exakter Test
Die 2x2-Tafel mit 8, 2, 1 und 5 ergibt einen zweiseitigen p-Wert von 5/143, also unter dem üblichen Niveau von 0,05. Fishers exakter Test bleibt bei kleinen Stichproben und fast leeren Zellen exakt, wo der Chi-Quadrat-Test Warnungen zeigt. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- A
- 8
- B
- 2
- C
- 1
- D
- 5
- N
- 16
- Summe Zeile 1
- 10
- Summe Zeile 2
- 6
- Summe Spalte 1
- 9
Fishers exakter Test beantwortet eine einzige klar gestellte Frage: Wie überraschend ist die beobachtete Assoziation in einer 2x2-Kontingenztafel aus vier nichtnegativen ganzzahligen Häufigkeiten, wenn Zeilen- und Spaltensummen fest wären und die Tafel aus der hypergeometrischen Verteilung gezogen worden wäre? Anders als ein Chi-Quadrat-Unabhängigkeitstest ist Fishers Verfahren exakt bei kleinen Stichproben und dünn besetzten Zellen; es zählt jede Tafel mit denselben Rändern auf und addiert die hypergeometrischen Wahrscheinlichkeiten der Tafeln, die mindestens so extrem sind wie die von Ihnen beobachtete. Dieser Rechner nimmt die vier Zellhäufigkeiten a, b, c und d entgegen, lehnt negative oder nicht ganzzahlige Werte ab statt sie still zu runden, und liefert den zweiseitigen p-Wert nach der Minimum-Likelihood-Definition des klassischen exakten Fisher-Tests.
Wie Fishers exakter Test auf einer 2x2-Tafel definiert ist
Schreiben Sie die vier beobachteten Häufigkeiten in das übliche Lehrbuchschema: a in die linke obere Zelle, b oben rechts, c unten links und d unten rechts. Die Zeilensummen sind a plus b und c plus d; die Spaltensummen sind a plus c und b plus d; die Gesamtsumme ist n gleich a plus b plus c plus d. Fishers Argument bedingt auf diesen vier Rändern.
Unter dieser Bedingung ist die linke obere Häufigkeit eine hypergeometrische Zufallsvariable: die Wahrscheinlichkeit eines zulässigen Wertes k ist das Produkt der beiden zeilenweisen Binomialkoeffizienten C(a+b, k) und C(c+d, Spalte-eins-Summe minus k), geteilt durch C(n, Spalte-eins-Summe). Gleichwertig ist die Wahrscheinlichkeit einer vollständigen Tafel (a+b)! (c+d)! (a+c)!
(b+d)! geteilt durch n! a! b! c! d!. Der zulässige Bereich für k läuft von max(0, Zeile-eins plus Spalte-eins minus n) bis min(Zeile-eins, Spalte-eins).
Der hier gemeldete zweiseitige p-Wert ist die Minimum-Likelihood-Summe des klassischen exakten Fisher-Tests und der zweiseitigen Vorgabe gängiger Statistikbibliotheken: addieren Sie die hypergeometrische Wahrscheinlichkeit jeder Tafel, deren Wahrscheinlichkeit höchstens so groß ist wie die der von Ihnen beobachteten Tafel. Das ist nicht dasselbe wie das Verdoppeln eines einseitigen Schwanzes, und es ist die Größe, die gemeint ist, wenn nach einem Rechner für Fishers exakten Test gesucht wird.
Die Engine berechnet die unnormierten Binomialgewichte mit exakter BigInt-Arithmetik und wandelt erst das Endverhältnis in einen Gleitkomma-p-Wert um, sodass kleine Unterrichtstafeln wie acht, zwei, eins, fünf den Lehrbuchbruch statt einer Chi-Quadrat-Näherung reproduzieren.
Was Sie senden und was Sie zurückerhalten
Senden Sie vier erforderliche nichtnegative ganzzahlige Zellhäufigkeiten namens a, b, c und d. Die Engine akzeptiert außerdem die Matrixaliase n11, n12, n21, n22 und a11, a12, a21, a22, damit ein Skript, das bereits eine Zahlenmatrix speichert, Felder nicht umbenennen muss. Eine negative Häufigkeit wird abgelehnt, weil eine Kontingenztafel keine negative Frequenz halten kann.
Eine nicht ganzzahlige Häufigkeit wird abgelehnt, weil Fishers exakter Test auf diskreten Tafeln definiert ist, nicht auf still gerundeten Messungen. Wenn b und c beide positiv sind, ist das Stichproben-Chancenverhältnis a mal d durch b mal c enthalten; wenn b oder c null ist, ist das Chancenverhältnis undefiniert und jener Schlüssel wird weggelassen statt als null vorgetäuscht. Klassische Prüfungen umfassen die dünne Tafel acht, zwei, eins, fünf, deren zweiseitiger p-Wert fünf durch einhundertdreiundvierzig ist, und eine absichtlich negative Zelle, die scheitern muss.
Wo ein exakter 2x2-Fisher-p-Wert in der Praxis vorkommt
Einführende Biostatistik- und Oberstufenstatistikkurse vergeben ständig 2x2-Unabhängigkeitsübungen mit kleinen Häufigkeiten—Behandlung gegen Kontrolle, exponiert gegen nicht exponiert, genesen gegen verstorben—bei denen erwartete Zellhäufigkeiten unter fünf fallen und in jedem Lehrbuch eine Chi-Quadrat-Warnung steht. Klinische und epidemiologische Teams berichten weiterhin Fishers exakten p-Wert für dünne unerwünschte-Ereignis-Tafeln, Fall-Kontroll-2x2 und frühe binäre Endpunkte, wenn die Stichprobe für einen ehrlichen Chi-Quadrat- oder z-Test der Anteile zu klein ist. A/B-Analysten und Produktforschung haben manchmal winzige Conversion-Tafeln in einem Holdout-Stück und wollen dieselbe zweiseitige Fisher-Zahl, die eine statistische Fachkraft in einem Methodikanhang nennen würde.
Falls Sie später einen Chi-Quadrat-Unabhängigkeitstest, eine Matthews-Korrelation auf denselben vier Zellen, Cohens h für zwei Anteile oder einen gepaarten t-Test von Vorher-Nachher-Messungen brauchen, behandeln Sie diese als getrennte Suchabsichten und Landeseiten, statt diese Rechnerseite für Fishers exakten Test zu überladen.
Anwendungsfälle
Hausaufgabenprüfungen 2x2 bei kleiner Stichprobe
Lernende und Korrektorinnen prüfen den zweiseitigen Fisher-p-Wert aus vier ganzzahligen Zellen, ohne hypergeometrische Tafeln nachzuschlagen oder Häufigkeiten von Hand zu runden.
Dünn besetzte klinische und epidemiologische Tafeln
Analytiker prüfen den Zusammenhang in Behandlungs-mal-Ergebnis-2x2, wenn erwartete Häufigkeiten klein sind und eine Chi-Quadrat-Näherung in die Irre führen würde.
Häufige Fragen
Wie sind die vier Zellen a, b, c und d angeordnet?
Sie bilden eine 2x2-Tafel: a ist Zeile 1 Spalte 1, b ist Zeile 1 Spalte 2, c ist Zeile 2 Spalte 1 und d ist Zeile 2 Spalte 2. Zeilen- und Spaltensummen werden aus diesen vier Häufigkeiten berechnet.
Ist der p-Wert einseitig oder zweiseitig?
Zweiseitig, mit der Minimum-Likelihood-Methode: die Engine addiert die hypergeometrische Wahrscheinlichkeit jeder Tafel mit denselben Rändern, deren Wahrscheinlichkeit höchstens der beobachteten Tafel entspricht.
Was geschieht, wenn eine Zelle negativ oder keine ganze Zahl ist?
Fishers exakter Test ist auf nichtnegative ganzzahlige Häufigkeiten definiert; Brüche und negative Frequenzen werden abgelehnt statt gerundet.
Worin unterscheidet er sich von einem Chi-Quadrat-Unabhängigkeitstest?
Chi-Quadrat ist eine asymptotische Näherung, die große erwartete Häufigkeiten braucht. Fishers exakter Test bedingt auf den Rändern und ist exakt für kleine und dünn besetzte 2x2-Tafeln.
Wie wird der zweiseitige p-Wert berechnet?
Bei festen Zeilen- und Spaltensummen addiert der Rechner die Wahrscheinlichkeiten aller Tafeln, die höchstens so wahrscheinlich sind wie Ihre beobachtete. Das ist nicht dasselbe wie eine einseitige Wahrscheinlichkeit zu verdoppeln.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/stat/fishers-exact-test \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":8,"b":2,"c":1,"d":5}'const res = await fetch("https://api.kit.forhosting.com/stat/fishers-exact-test", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 8,
"b": 2,
"c": 1,
"d": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/fishers-exact-test",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 8,
"b": 2,
"c": 1,
"d": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/fishers-exact-test", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":8,"b":2,"c":1,"d":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":8,"b":2,"c":1,"d":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/fishers-exact-test", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"a": 8,
"b": 2,
"c": 1,
"d": 5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.fishers_exact_test",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_n | 2000 |
max_cell | 2000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Erfolgreiche API-Aufrufe werden zur veröffentlichten Basis von $0.002 je Item berechnet; ungültige Eingaben werden nicht berechnet.
Was Sie senden und was Sie zurückerhalten
Jede Häufigkeit darf als JSON-Ganzzahl oder als Ziffernkette eintreffen; Brüche, Boolesche Werte, NaN, Infinity, leere Zeichenketten und fehlende Felder scheitern mit invalid_input, das die schuldige Zelle nennt. Die Gesamtsumme n ist begrenzt, damit die hypergeometrische Aufzählung im Worker beschränkt bleibt. Bei Erfolg spiegelt die Antwort die vier Zellen und n, meldet die zwei Zeilen- und die zwei Spaltensummen, liefert den auf zwölf Dezimalstellen gerundeten zweiseitigen p_value, setzt significant_at_05 beim üblichen Alpha von 0.05, nennt das Verfahren zweiseitige Minimum-Likelihood und wiederholt die Formel. Verdrahten Sie das kostenlose Browserformular für Hausaufgaben und Demos und rufen Sie danach denselben Vertrag aus Skripten auf, wenn Sie viele 2x2-Tests unter einer JSON-Form brauchen. Der API-Preis erfolgreicher Aufrufe ist die veröffentlichte Basis von $0.002 je Item; fehlgeschlagene Validierung wird nicht berechnet und erfindet niemals einen Chi-Quadrat-Ersatz, um eine Zahl zu erzwingen.
Wo ein exakter 2x2-Fisher-p-Wert in der Praxis vorkommt
Ein einziges vertrauenswürdiges Orakel, das sauberes JSON liefert, beschleunigt die Korrektur, ohne hypergeometrische Schwänze von Hand nachzuschlagen. Qualitäts- und Zuverlässigkeitsingenieure vergleichen Gut-Schlecht-Zählungen vor und nach einer Prozessänderung im selben Zwei-mal-zwei-Schema und brauchen einen exakten p-Wert statt einer asymptotischen Näherung, die die Evidenz überzeichnet. Weil diese Fähigkeit eine reine Parse-Engine ist, ist der API-Preis die veröffentlichte Basis von $0.002 je erfolgreichem Item und fehlgeschlagene Validierung wird nicht berechnet.
Integrationsbeispiele
Prozess-Gut-Schlecht vor und nach einer Änderung
Ingenieure vergleichen zwei binäre Klassifikationen im 2x2-Schema und veröffentlichen den exakten zweiseitigen p-Wert des beobachteten Chancenverhältnisses.
Technische Fragen
Was kostet das?
Das Browserwerkzeug ist kostenlos und läuft örtlich. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Item; ungültige Eingaben werden nicht berechnet.