Come calcolare un intervallo di confidenza binomiale in python
Un intervallo di confidenza per una probabilità binomiale viene calcolato utilizzando la seguente formula:
Intervallo di confidenza = p +/- z*(√ p(1-p) / n )
Oro:
- p: percentuale di “successi”
- z: il valore z scelto
- n: dimensione del campione
Il modo più semplice per calcolare questo tipo di intervallo di confidenza in Python è utilizzare la funzione proporzioni_confint() dal pacchetto statsmodels :
proportion_confint ( count , nobs , alpha = 0.05 , method = ' normal ' )
Oro:
- count : numero di successi
- nobs : numero totale di tentativi
- alfa : livello di significatività (il valore predefinito è 0,05)
- metodo : metodo da utilizzare per l’intervallo di confidenza (il valore predefinito è “normale”)
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: calcolare l’intervallo di confidenza binomiale in Python
Supponiamo di voler stimare la percentuale di residenti in una contea che sono favorevoli ad una determinata legge.
Decidiamo di selezionare un campione casuale di 100 residenti e scopriamo che 56 di loro sono favorevoli alla legge.
Possiamo utilizzare la funzione proporzionale_confint() per calcolare l’intervallo di confidenza del 95% per la percentuale reale di residenti che hanno questa legge nell’intera contea:
from statsmodels. stats . proportion import proportion_confint #calculate 95% confidence interval with 56 successes in 100 trials proportion_confint(count= 56 , nobs= 100 ) (0.4627099463758483, 0.6572900536241518)
L’intervallo di confidenza del 95% per la percentuale reale di residenti della contea che sostengono la legge è [.4627, .6573] .
Per impostazione predefinita, questa funzione utilizza l’approssimazione normale asintotica per calcolare l’intervallo di confidenza. Tuttavia, possiamo utilizzare l’argomento metodo per utilizzare un metodo diverso.
Ad esempio, la funzione predefinita utilizzata nel linguaggio di programmazione R per calcolare un intervallo di confidenza binomiale è l’intervallo del punteggio Wilson.
Possiamo usare la seguente sintassi per specificare questo metodo quando calcoliamo l’intervallo di confidenza in Python:
from statsmodels. stats . proportion import proportion_confint #calculate 95% confidence interval with 56 successes in 100 trials proportion_confint(count= 56 , nobs= 100 , method=' wilson ') (0.4622810465167698, 0.6532797336983921)
Questo ci dice che l’intervallo di confidenza del 95% per la percentuale reale di residenti della contea che sostengono la legge è [.4623, .6533] .
Questo intervallo di confidenza è leggermente diverso da quello calcolato utilizzando l’approssimazione normale.
Tieni presente che possiamo anche modificare il valore alfa per calcolare un intervallo di confidenza diverso.
Ad esempio, possiamo impostare alfa su 0,10 per calcolare un intervallo di confidenza al 90%:
from statsmodels. stats . proportion import proportion_confint #calculate 90% confidence interval with 56 successes in 100 trials proportion_confint(count= 56 , nobs= 100 , alpha= 0.10 , method=' wilson ') (0.47783814499647415, 0.6390007285095451)
Questo ci dice che l’intervallo di confidenza del 90% per la percentuale reale di residenti della contea che sostengono la legge è [0,4778, 0,6390] .
Nota : puoi trovare la documentazione completa per la funzione proporzioni_confint() qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:
Come tracciare un intervallo di confidenza in Python
Come utilizzare la distribuzione binomiale in Python