Intervallo di confidenza della differenza tra proporzioni
Questo calcolatore stima quanto possano differire due proporzioni della popolazione usando proporzioni osservate, numerosità di campioni indipendenti e livello di confidenza prescelto.
Esegui gratis nel browser
Applica l’approssimazione normale non aggregata e restituisce la prima proporzione meno la seconda, insieme a errore standard, margine di errore, valore critico e limiti. Lo utilizzi quando ogni campione rappresenta un gruppo distinto e l’approssimazione normale è ragionevole.
Inserisca correttamente proporzioni e numerosità
Inserisca ogni proporzione osservata come decimale da zero a uno: usi 0.62, non 62, per rappresentare il 62 per cento. Abbini ogni proporzione al numero totale di osservazioni indipendenti impiegato per calcolarla. L’ordine conta, perché la stima è la proporzione uno meno la proporzione due: un risultato positivo indica un tasso maggiore nel primo gruppo, mentre uno negativo indica un tasso minore. Le numerosità devono essere interi non inferiori a uno. Inserisca anche il livello di confidenza bilaterale come decimale strettamente tra zero e uno; 0.95 richiede un intervallo al 95 per cento. Sono accettate proporzioni pari a zero o uno, sebbene l’approssimazione normale possa essere inadeguata agli estremi. Se dispone di conteggi di eventi, li divida per i totali corrispondenti senza arrotondare troppo. Entrambi i campioni devono misurare lo stesso esito binario con definizioni compatibili ed essere indipendenti; osservazioni appaiate richiedono un metodo diverso.
Segua il calcolo normale non aggregato
La differenza osservata è p uno meno p due. L’errore standard stimato è la radice quadrata della somma di p uno per uno meno p uno diviso n uno e p due per uno meno p due diviso n due. È definito non aggregato perché ogni campione fornisce la propria stima della varianza. Il livello di confidenza determina un valore critico normale standard bilaterale. Moltiplicandolo per l’errore standard si ottiene il margine di errore, che viene sottratto e aggiunto alla differenza per formare i limiti. Gli estremi non sono troncati a meno uno e uno. Sebbene la differenza reale debba rientrare in tale intervallo, i limiti di Wald possono superarlo; conservarli rende esplicito il metodo. La funzione normale inversa usa un’approssimazione razionale deterministica senza simulazione, rete o orologio. I valori intermedi consentono di verificare o riprodurre il risultato in un altro programma statistico.
Interpreti l’intervallo e valuti l’idoneità di Wald
Interpreti l’intervallo come incertezza sulla differenza nella popolazione, non come probabilità che un parametro fisso cada tra i limiti dopo aver osservato i dati. Con campionamenti ripetuti e rispettando le ipotesi, una procedura al 95 per cento coprirebbe la vera differenza circa il 95 per cento delle volte. Se l’intervallo contiene zero, la differenza non è chiaramente separata da zero al corrispondente livello bilaterale; ciò non dimostra uguaglianza né irrilevanza pratica. L’approssimazione normale è più credibile quando ogni campione contiene abbastanza eventi e non eventi. Verifichi che n per p e n per uno meno p non siano piccoli. Campioni minimi, eventi rari o proporzioni estreme possono rendere Wald fuorviante; valuti metodi esatti, score o Newcombe. Indipendenza, rappresentatività, definizioni coerenti e assenza di forti distorsioni sono essenziali. Per i report automatici, l’API restituisce lo stesso calcolo deterministico al costo di $0.002 per richiesta.
Casi d'uso
Confrontare tassi di conversione
Stimi la differenza tra conversioni di due gruppi assegnati indipendentemente e riporti l’incertezza con la stima puntuale.
Confrontare risposte a un sondaggio
Riassuma come differiscono due popolazioni campionate indipendentemente sulla stessa domanda binaria.
Riportare una differenza di rischio
Esprima la differenza assoluta tra proporzioni di eventi in due coorti indipendenti con un intervallo riproducibile.
Domande frequenti
In quale direzione viene calcolata la differenza?
Il risultato è la proporzione uno meno la proporzione due. Inverta i gruppi se desidera la direzione opposta.
Devo inserire 62 o 0.62 per indicare il 62 per cento?
Inserisca 0.62. Ogni proporzione deve essere un decimale da zero a uno, estremi inclusi.
Perché un limite può superare meno uno o uno?
La formula di Wald non aggregata non preserva l’intervallo. Il calcolatore mostra i limiti originali per rendere trasparente il metodo.
Posso usarlo per osservazioni appaiate?
No. La formula presuppone campioni indipendenti. Coppie abbinate e misure ripetute richiedono un metodo per proporzioni appaiate.
Cosa accade se una numerosità è inferiore a uno?
La richiesta restituisce un errore di input non valido, poiché una proporzione non può riferirsi a un campione vuoto o negativo.
Quanto costa usare l’API?
Ogni richiesta API costa $0.002; il calcolo nel browser è disponibile anche senza effettuare una richiesta API.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"proportion_1": 0.62,
"size_1": 200,
"proportion_2": 0.51,
"size_2": 180,
"confidence_level": 0.95
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.ci_diff_proportions",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |