Konfidenzintervall für die Differenz zweier Anteile
Dieser Rechner schätzt anhand beobachteter Anteile, unabhängiger Stichprobengrößen und eines gewählten Konfidenzniveaus, wie stark sich zwei Populationsanteile unterscheiden können.
Im Browser ausführen – kostenlos
Er verwendet die ungepoolte Normalapproximation und gibt den ersten Anteil minus den zweiten sowie Standardfehler, Fehlerspanne, kritischen Wert und Intervallgrenzen aus. Verwenden Sie ihn, wenn jede Stichprobe eine eigene Gruppe darstellt und die Normalapproximation angemessen ist.
Geben Sie Anteile und Stichprobengrößen korrekt ein
Tragen Sie jeden beobachteten Anteil als Dezimalzahl zwischen null und eins ein: Verwenden Sie 0.62 statt 62 für 62 Prozent. Ordnen Sie jedem Anteil die Gesamtzahl der unabhängigen Beobachtungen zu, aus denen er berechnet wurde. Die Reihenfolge ist wichtig, denn die Schätzung lautet Anteil eins minus Anteil zwei: Ein positives Ergebnis bedeutet eine höhere Rate in der ersten Gruppe, ein negatives eine niedrigere. Stichprobengrößen müssen ganze Zahlen von mindestens eins sein. Geben Sie das zweiseitige Konfidenzniveau ebenfalls als Dezimalzahl strikt zwischen null und eins an; 0.95 fordert ein 95-Prozent-Intervall an. Anteile von null oder eins sind zulässig, obwohl die gewöhnliche Normalapproximation an diesen Grenzen schlecht funktionieren kann. Teilen Sie Ereigniszahlen durch die jeweilige Gesamtzahl und vermeiden Sie unnötiges Runden. Beide Stichproben müssen dasselbe binäre Ergebnis nach vereinbaren Definitionen messen und unabhängig sein; gepaarte Vorher-Nachher-Daten benötigen ein anderes Verfahren.
Verstehen Sie die ungepoolte Normalberechnung
Die beobachtete Differenz ist p eins minus p zwei. Ihr geschätzter Standardfehler ist die Quadratwurzel aus der Summe zweier Terme: p eins mal eins minus p eins geteilt durch n eins, plus p zwei mal eins minus p zwei geteilt durch n zwei. Er heißt ungepoolt, weil jede Stichprobe ihre eigene Varianzschätzung liefert. Das Konfidenzniveau bestimmt einen zweiseitigen kritischen Wert der Standardnormalverteilung. Mit dem Standardfehler multipliziert ergibt er die Fehlerspanne, die von der Differenz abgezogen und zu ihr addiert wird. Die Grenzen werden nicht auf minus eins und eins beschnitten. Obwohl die wahre Differenz in diesem Bereich liegt, können Wald-Grenzen darüber hinausreichen; ihre unveränderte Ausgabe macht die Methode transparent. Die inverse Normalfunktion nutzt eine deterministische rationale Approximation ohne Simulation, Netzwerk oder Uhrzeit. Ausgegebene Zwischenwerte erleichtern die Prüfung und Reproduktion in anderer Statistiksoftware.
Deuten Sie das Intervall und prüfen Sie Walds Eignung
Deuten Sie das Intervall als Unsicherheit der Populationsdifferenz und nicht als Wahrscheinlichkeit, dass ein fester Parameter nach Beobachtung der Daten zwischen den Grenzen liegt. Bei wiederholten Stichproben und gültigen Modellannahmen würde ein 95-Prozent-Verfahren die wahre Differenz ungefähr in 95 Prozent der Fälle erfassen. Enthält das Intervall null, ist die Differenz auf dem entsprechenden zweiseitigen Niveau nicht klar von null getrennt; dies beweist weder Gleichheit noch praktische Bedeutungslosigkeit. Die Normalapproximation ist glaubwürdiger, wenn jede Stichprobe genügend Ereignisse und Nicht-Ereignisse enthält. Prüfen Sie, dass n mal p und n mal eins minus p in keiner Gruppe klein sind. Sehr kleine Stichproben, seltene Ereignisse oder extreme Anteile können irreführende Wald-Intervalle ergeben; exakte, Score- oder Newcombe-Verfahren können besser sein. Unabhängigkeit, repräsentative Auswahl, konsistente Definitionen und geringe Verzerrung bleiben entscheidend. Für automatisierte Berichte liefert die API dieselbe deterministische Berechnung für $0.002 pro Anfrage.
Anwendungsfälle
Konversionsraten vergleichen
Schätzen Sie den Unterschied zwischen den Konversionsanteilen zweier unabhängig zugewiesener Gruppen samt Unsicherheit.
Umfrageantworten gegenüberstellen
Fassen Sie den Unterschied zweier unabhängig gezogener Populationen bei derselben Ja-Nein-Frage zusammen.
Eine Risikodifferenz berichten
Drücken Sie die absolute Differenz der Ereignisanteile zweier unabhängiger Kohorten mit einem reproduzierbaren Intervall aus.
Häufige Fragen
In welcher Richtung wird die Differenz berechnet?
Das Ergebnis ist Anteil eins minus Anteil zwei. Vertauschen Sie die Gruppen, wenn Sie die Gegenrichtung benötigen.
Soll ich für 62 Prozent 62 oder 0.62 eingeben?
Geben Sie 0.62 ein. Jeder Anteil muss eine Dezimalzahl von null bis eins einschließlich der Grenzen sein.
Warum kann eine Grenze außerhalb von minus eins und eins liegen?
Die ungepoolte Wald-Formel bewahrt diesen Bereich nicht. Der Rechner zeigt unveränderte Grenzen, damit die Methode transparent bleibt.
Kann ich gepaarte Beobachtungen verwenden?
Nein. Die Formel setzt unabhängige Stichproben voraus. Zugeordnete Paare und Wiederholungsmessungen erfordern ein gepaartes Verfahren.
Was geschieht bei einer Stichprobengröße unter eins?
Die Anfrage meldet eine ungültige Eingabe, da ein Anteil keiner leeren oder negativen Stichprobe zugeordnet werden kann.
Was kostet die Nutzung der API?
Jede API-Anfrage kostet $0.002; die Berechnung im Browser ist auch ohne API-Anfrage verfügbar.
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/ci-diff-proportions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}'const res = await fetch("https://api.kit.forhosting.com/stat/ci-diff-proportions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/ci-diff-proportions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/ci-diff-proportions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"proportion_1":0.62,"size_1":200,"proportion_2":0.51,"size_2":180,"confidence_level":0.95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/ci-diff-proportions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.ci_diff_proportions",
"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. |