Tukey-HSD-Post-hoc: paarweise Vergleiche nach ANOVA, gratis
Finden Sie heraus, welche Gruppenmittelwerte sich nach einer ANOVA unterscheiden: Bei Mittelwerten von 2, 6 und 4 erklärt der Tukey-Test alle drei Paare auf dem Niveau 0,05 für verschieden. Sie sehen Mittelwerte, kritischen Wert und eine Tabelle aller Paare. 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
- Beschriftungen
- A, B, C
- Alpha
- 0,05
- K
- 3
- N gesamt
- 12
- Df Fehler
- 9
- Mse
- 0,6666666667
Nachdem eine einfaktorielle ANOVA die globale Nullhypothese verworfen hat, dass alle Gruppenmittelwerte gleich sind, müssen Forschende dennoch wissen, welche Paare sich unterscheiden. Tukeys „honest significant difference“ (HSD) und ihre Tukey-Kramer-Form für ungleiche Stichprobenumfänge beantworten diese Frage mit einer einzigen versuchsweiten Fehlerrate: Jede paarweise Mittelwertdifferenz wird mit einem kritischen Wert verglichen, der aus dem Residuen-Mittelquadrat, den Gruppengrößen und dem Quantil der studentisierten Spannweite für die Anzahl der Gruppen und die Fehlerfreiheitsgrade gebildet wird. Diese Fähigkeit nimmt zwei oder mehr numerische Gruppen-Arrays entgegen, optionale Bezeichnungen und Alpha, und liefert dann Gruppenmittelwerte, das Residuen-MSE, das kritische q, das gemeinsame HSD bei gleichen Umfängen sowie eine vollständige Paartabelle mit Signifikanzmarkierungen.
Was Tukey HSD nach einer signifikanten ANOVA bedeutet
Die Varianzanalyse prüft, ob sich mindestens ein Mittelwert unter k Gruppen unterscheidet, benennt die Paare jedoch nicht. Gewöhnliche Zweistichproben-t-Tests auf jedes Paar anzuwenden erhöht die Wahrscheinlichkeit eines falschen Positivs, je größer die Zahl der Vergleiche wird. Tukeys Verfahren kontrolliert die versuchsweite Fehlerrate für alle paarweisen Kontraste gleichzeitig über die Verteilung der studentisierten Spannweite: Der kritische Abstand hängt davon ab, wie groß die größte Lücke unter k Mittelwerten unter der Nullhypothese aussähe, skaliert mit dem residualen Standardfehler.
Wenn jede Gruppe denselben Stichprobenumfang n hat, wird dieser Abstand oft als eine einzige „honest significant difference“ geschrieben: HSD gleich q-Alpha von k und residualen Freiheitsgraden mal der Quadratwurzel aus MSE geteilt durch n. Jede absolute Mittelwertdifferenz größer als HSD gilt beim gewählten Alpha als signifikant. Bei ungleichen Stichprobenumfängen ersetzt die Tukey-Kramer-Anpassung das gemeinsame n durch einen paarspezifischen Standardfehler mit eins durch n-i plus eins durch n-j, sodass jeder Vergleich seine eigene kritische Differenz hat und dennoch denselben kritischen q-Wert teilt.
Lehrbücher führen HSD direkt nach der einfaktoriellen ANOVA in Psychologie, Biologie, Landwirtschaft und A/B-Produktexperimenten ein. Die Handrechnung scheitert, wenn das MSE aus der ANOVA-Tabelle falsch abgeschrieben wird, wenn df-Fehler um eins daneben liegt, wenn Bezeichnungen vertauscht werden oder wenn ungleiche n ignoriert werden. Den Weg von den Rohbeobachtungen über MSE bis zu den Paarmarkierungen zu automatisieren beseitigt diese Ausrutscher und legt zugleich die Zwischengrößen offen, die eine ausgearbeitete Lösung erwartet.
Wo Sie es einsetzen und was es kostet
Typische Einsätze sind das Bestätigen, welche Diät-, Dünger- oder UI-Varianten sich nach einer signifikanten einfaktoriellen ANOVA im Mittel trennen, das Erzeugen von Lösungsschlüsseln, die jedes Paar neben seiner kritischen Differenz auflisten, das Vermitteln des Unterschieds zwischen einem globalen F-Test und paarweisen HSD-Entscheidungen sowie das Einspeisen von Signifikanzmarkierungen in Berichte, die bereits rohe Gruppenvektoren speichern. Der Browser-Weg läuft lokal und braucht kein Konto.
Halten Sie mindestens zwei Gruppen mit genügend gruppeninterner Wiederholung für residuale df von mindestens eins vor, bevorzugen Sie das serverseitig berechnete mse und die Vergleiche gegenüber dem erneuten Herleiten von Gleitkomma-Pfaden in ad-hoc-Tabellenkalkulationen, und behandeln Sie das Ergebnis als Post-hoc-Schritt nach der ANOVA und nicht als Ersatz für die Prüfung von Annahmen wie Unabhängigkeit und annähernd vergleichbarer Residualvarianz.
Anwendungsfälle
Lösungsschlüssel für Hausaufgaben und Prüfungen
Nachdem Studierende eine einfaktorielle ANOVA gerechnet haben, prüfen Sie mit einer kanonischen Paartabelle und einem HSD-Wert, welche Gruppenpaare Tukey HSD überschreiten.
Labor- und Feldexperimente
Übergeben Sie Replikat-Arrays aus Behandlungen aus Biologie- oder Landwirtschaftsversuchen und speichern Sie signifikante Paarmarkierungen neben dem Residuen-MSE.
Häufige Fragen
Warum nicht einfach für jedes Gruppenpaar einen t-Test rechnen?
Weil jeder zusätzliche Test eine weitere Chance auf ein falsch positives Ergebnis bringt und sich die Fehler bei vielen Paaren summieren. Tukey HSD vergleicht alle Paare gleichzeitig und hält dabei eine einzige Gesamtfehlerrate ein.
Kann ich den Tukey-Test bei unterschiedlich großen Gruppen verwenden?
Ja. Bei ungleichen Größen wechselt der Rechner zur Tukey-Kramer-Variante, die jedem Paar eine eigene kritische Differenz nach den beiden Gruppengrößen gibt, bei gleichem kritischem q-Wert.
Wie lese ich die Tabelle der paarweisen Vergleiche?
Jede Zeile vergleicht zwei Gruppen. Ist der absolute Abstand ihrer Mittelwerte größer als die kritische Differenz, wird das Paar als signifikant markiert. Bei Mittelwerten von 2, 6 und 4 liegen die Abstände 4, 2 und 2 alle darüber.
Welches Signifikanzniveau verwendet der Test?
Er verwendet 0,05, sofern Sie kein anderes wählen, etwa 0,01 oder 0,10. Das Niveau gilt für die gesamte Familie der Vergleiche und nicht für jedes Paar einzeln.
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/tukey-hsd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}'const res = await fetch("https://api.kit.forhosting.com/stat/tukey-hsd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/tukey-hsd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/tukey-hsd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"groups":[[1,2,3,2],[5,6,7,6],[3,4,5,4]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/tukey-hsd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"groups": [
[
1,
2,
3,
2
],
[
5,
6,
7,
6
],
[
3,
4,
5,
4
]
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.tukey_hsd",
"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.
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
Wie diese Fähigkeit die Antwort berechnet
Sie berechnet jeden Gruppenmittelwert und die gruppeninterne Quadratsumme, bündelt die residuale SSE zu MSE gleich SSE durch N minus k, nähert den kritischen Wert q der studentisierten Spannweite für alpha, k und df-Fehler an und bildet dann jedes ungeordnete Paar. Bei gleichen Stichprobenumfängen meldet sie zusätzlich den einzelnen HSD-Wert; bei ungleichen Umfängen verwendet sie paarspezifische kritische Tukey-Kramer-Differenzen. Jeder Vergleich listet beide Mittelwerte, die vorzeichenbehaftete und die absolute Differenz, die Stichprobenumfänge, den spannweitenskalierten Standardfehler, die kritische Differenz, die beobachtete q-Statistik, sofern definiert, und eine boolesche Signifikanzmarkierung. Die Antwort liefert außerdem Methodenname, k, n-total, df-Fehler, mse, sse, q-crit, equal-sample-sizes, eine Gruppenzusammenfassung mit Mittelwerten und Stichprobenvarianzen sowie eine Anzahl signifikanter Paare. Sie senden einen JSON-Body mit einem erforderlichen Feld groups: entweder ein Array aus mindestens zwei numerischen Arrays oder ein Objekt, das Zeichenketten-Bezeichnungen auf numerische Arrays abbildet. Optionale labels benennen Gruppen, wenn Sie ein einfaches Array aus Arrays übergeben; optionales alpha legt das versuchsweite Niveau fest und ist standardmäßig null Komma null fünf. Die Engine parst endliche Zahlen aus JSON-Zahlen oder einfachen numerischen Zeichenketten, weist weniger als zwei Gruppen, leere Gruppen, nicht-numerische Zellen, Alpha außerhalb des offenen Einheitsintervalls sowie Designs mit residualen Freiheitsgraden unter eins zurück, alles mit invalid_input und ohne Berechnung. Es gibt keinen Zufall, keine Uhr und kein Netzwerk; identische Eingaben liefern stets identisches JSON. Die Arbeit besteht aus Validierung plus O der Gesamtbeobachtungen plus O der k-Quadrat-Paararithmetik, was innerhalb des analytischen Kostenmodells für diese Tier-A-Parse-Fähigkeit mit $0.002 pro erfolgreicher Anfrage liegt.
Wo Sie es einsetzen und was es kostet
Nutzen Sie das kostenlose Browser-Werkzeug für eine Hausaufgabenkontrolle oder eine rasche Post-hoc-Analyse an einem kleinen Experiment, oder rufen Sie die API auf, wenn ein Notebook, ein Notenbuch, eine Labor-Pipeline oder ein Produktanalyse-Job viele Mehrgruppenvergleiche jedes Mal auf dieselbe Weise auflösen muss. Die API-Nutzung zieht vom vorausbezahlten KIT-Guthaben zum ausgewiesenen Grundpreis von $0.002 pro erfolgreicher Anfrage ab; eine fehlgeschlagene Validierung wird nicht berechnet.
Integrationsbeispiele
Produkt-A/B/n-Analytik
Verarbeiten Sie Metrik-Stichproben mehrerer Varianten im Batch über die API und melden Sie, welche Varianten sich unter einem gemeinsamen versuchsweiten Alpha unterscheiden.
Technische Fragen
Wie betreibe ich mit dieser API einen Tukey-HSD-Rechner?
Senden Sie per POST JSON mit groups als Array numerischer Arrays (oder als Bezeichnungs-Map), optional alpha und labels. Die Antwort enthält mse, q_crit, hsd bei passenden Umfängen und eine comparisons-Tabelle mit Signifikanzmarkierungen.
Was, wenn meine Gruppen unterschiedliche Stichprobenumfänge haben?
Die Engine verwendet die Tukey-Kramer-Form: Jedes Paar erhält seine eigene kritische Differenz aus dem MSE und den beiden Stichprobenumfängen und teilt dennoch ein q_crit der studentisierten Spannweite für k und df_error.
Welchen Fehler erhalte ich bei weniger als zwei Gruppen?
Die Validierung schlägt mit invalid_input fehl und weist darauf hin, dass Tukey HSD mindestens zwei Gruppen erfordert. Dieser Fehlschlag wird nicht berechnet.
Ist der Tukey-HSD-Rechner kostenlos?
Das Browser-Widget ist kostenlos und läuft lokal. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zum ausgewiesenen Grundpreis von $0.002; ungültige Eingaben werden nicht berechnet.
Ist das Ergebnis für dieselben Eingaben immer gleich?
Ja. Der Algorithmus ist reine analytische Arithmetik mit einer festen Näherung des kritischen Werts, ohne Zufall oder Zeitstempel, sodass identische Gruppen und identisches Alpha identisches JSON erzeugen.