Calcolatore del test z per due proporzioni
Questo calcolatore del test z per due proporzioni confronta i tassi di successo di due campioni indipendenti.
Esegui gratis nel browser
Inserisca il numero di successi e la numerosità totale di ciascun gruppo: otterrà le proporzioni osservate, la proporzione aggregata sotto l'ipotesi nulla, l'errore standard aggregato, la statistica z con segno e il valore p bilaterale. Il calcolo è deterministico e trasparente, quindi è adatto ad analisi rapide, relazioni riproducibili e controlli automatizzati quando l'approssimazione normale è appropriata.
Inserisca i conteggi di due gruppi indipendenti
Per ciascun gruppo, indichi il numero di successi e il totale delle osservazioni. Un successo è l'evento che desidera confrontare, per esempio un acquisto, un controllo superato, una risposta a un sondaggio o il raggiungimento di un esito clinico prestabilito. Il numero di successi deve essere un intero compreso tra zero e la corrispondente numerosità, mentre ogni numerosità deve essere un intero pari almeno a uno. Applichi la stessa definizione di successo e lo stesso periodo di osservazione a entrambi i gruppi; altrimenti il confronto numerico risponderebbe a una domanda incoerente. I gruppi devono inoltre essere indipendenti: un'osservazione non deve comparire in entrambi i campioni né essere abbinata intenzionalmente. Gruppi assegnati separatamente in un esperimento sono normalmente indipendenti, mentre misure rilevate sulle stesse persone prima e dopo richiedono un altro metodo. Inserisca i conteggi grezzi, non percentuali arrotondate, per conservare i denominatori reali. Il confronto sottrae sempre il gruppo due dal gruppo uno; scelga l'ordine coerente con l'interpretazione desiderata.
Comprenda il calcolo del test z aggregato
L'ipotesi nulla afferma che le due proporzioni della popolazione siano uguali. In base a tale ipotesi, i successi dei due campioni vengono combinati per stimare un'unica proporzione aggregata: successi totali divisi per osservazioni totali. L'errore standard aggregato è la radice quadrata della proporzione aggregata moltiplicata per uno meno tale proporzione e per la somma dei reciproci delle numerosità campionarie. La statistica z divide quindi la differenza osservata, proporzione uno meno proporzione due, per questo errore. Un valore positivo indica un tasso maggiore nel primo gruppo, mentre uno negativo indica un tasso minore. Il valore p è bilaterale: misura l'evidenza contro l'uguaglianza in entrambe le direzioni ed equivale al doppio della probabilità di coda normale oltre il valore assoluto di z. Non viene applicata alcuna correzione di continuità. Se entrambi i gruppi contengono solo insuccessi o solo successi, i tassi coincidono e la varianza è zero; il risultato riporta z uguale a zero e valore p uguale a uno. I valori intermedi rendono verificabile il calcolo.
Interpreti il valore p e verifichi l'approssimazione
Un valore p piccolo indica che una differenza almeno altrettanto estrema sarebbe insolita se le proporzioni della popolazione fossero davvero uguali e le ipotesi di campionamento fossero soddisfatte. Non rappresenta la probabilità che l'ipotesi nulla sia vera, non misura l'importanza pratica della differenza e non dimostra un nesso causale. Esamini anche le due proporzioni osservate e valuti se comunicare un intervallo di confidenza o una misura dell'effetto. Prima di affidarsi all'approssimazione normale, verifichi che i numeri attesi di successi e insuccessi sotto l'ipotesi aggregata siano sufficientemente grandi in entrambi i gruppi. Una regola comune richiede almeno cinque per ciascun conteggio atteso, sebbene possano essere opportuni limiti più severi. Dati scarsi, eventi rari, campioni molto piccoli o tassi vicini a zero o uno possono rendere preferibile un metodo esatto, come il test di Fisher. Indipendenza e disegno dello studio restano essenziali: distorsioni di selezione, osservazioni ripetute, definizioni incoerenti o molti confronti non pianificati possono invalidare un valore p apparentemente convincente. L'API deterministica costa $0.002 per richiesta e riproduce la stessa formula.
Casi d'uso
Confrontare le conversioni di un esperimento
Verifichi se varianti assegnate in modo indipendente mostrano proporzioni diverse di acquisto o registrazione.
Confrontare i tassi di difettosità
Confronti la proporzione di articoli che non rispettano un criterio di qualità uniforme in due gruppi produttivi.
Valutare differenze nei sondaggi
Analizzi una risposta binaria formulata allo stesso modo in due popolazioni campionate indipendentemente.
Domande frequenti
Il valore p è unilaterale o bilaterale?
È bilaterale e verifica una differenza in entrambe le possibili direzioni.
Perché il test aggrega le proporzioni?
L'ipotesi nulla presume una proporzione comune; l'errore sotto tale ipotesi combina quindi successi e osservazioni dei due gruppi.
Quale direzione usa la statistica z?
Usa la proporzione uno meno la proporzione due. Un risultato positivo indica che la prima proporzione osservata è maggiore.
Posso inserire percentuali anziché conteggi?
No. Inserisca numeri interi di successi e numerosità campionarie per conservare i denominatori reali.
Che cosa accade se una numerosità è minore di uno?
La richiesta restituisce un errore di input non valido, perché ogni gruppo deve contenere almeno un'osservazione.
Quanto costa utilizzare l'API?
Ogni richiesta API costa $0.002; anche il calcolatore nel browser può eseguire localmente il calcolo.
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/z-test-two-proportions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}'const res = await fetch("https://api.kit.forhosting.com/stat/z-test-two-proportions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/z-test-two-proportions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/z-test-two-proportions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"successes_1":56,"size_1":100,"successes_2":42,"size_2":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/z-test-two-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
{
"successes_1": 56,
"size_1": 100,
"successes_2": 42,
"size_2": 100
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.z_test_two_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. |