Come eseguire il bootstrap in python (con esempio)


Il bootstrap è un metodo che può essere utilizzato per costruire un intervallo di confidenza per una statistica quando la dimensione del campione è piccola e la distribuzione sottostante è sconosciuta.

Il processo di base per il bootstrap è il seguente:

  • Prendi k campioni replicati con sostituzione da un dato set di dati.
  • Per ciascun campione, calcolare la statistica di interesse.
  • Ciò fornisce k stime diverse per una determinata statistica, che puoi quindi utilizzare per calcolare un intervallo di confidenza per la statistica.

Il modo più semplice per eseguire il bootstrap in Python è utilizzare la funzione bootstrap dalla libreria SciPy .

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: eseguire il bootstrap in Python

Supponiamo di creare un set di dati in Python contenente 15 valori:

 #define array of data values
data = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]

Possiamo utilizzare il seguente codice per calcolare un intervallo di confidenza bootstrap del 95% per il valore mediano:

 from scipy. stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np. median , confidence_level= 0.95 ,
                         random_state= 1 , method=' percentile ')

#view 95% boostrapped confidence interval
print ( bootstrap_ci.confidence_interval )

ConfidenceInterval(low=10.0, high=20.0)

L’intervallo di confidenza bootstrap del 95% per la mediana risulta essere [10.0, 20.0] .

Ecco cosa ha effettivamente fatto la funzione boostrap() dietro il cofano:

  • La funzione bootstrap() ha generato 9.999 campioni con sostituzione. (Il valore predefinito è 9999 ma puoi utilizzare l’argomento n_resamples per modificare questo numero)
  • Per ciascun campione bootstrap è stata calcolata la mediana.
  • Il valore mediano di ciascun campione è stato ordinato dal più piccolo al più grande e il valore mediano al percentile del 2,5% e al percentile del 97,5% è stato utilizzato per costruire i limiti inferiore e superiore dell’intervallo di confidenza al 95%. %.

Tieni presente che puoi calcolare un intervallo di confidenza bootstrap praticamente per qualsiasi statistica.

Ad esempio, possiamo sostituire np.median con np.std nella funzione bootstrap() per calcolare invece un intervallo di confidenza del 95% per la deviazione standard:

 from scipy. stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np. std , confidence_level= 0.95 ,
                         random_state= 1 , method=' percentile ')

#view 95% boostrapped confidence interval
print ( bootstrap_ci.confidence_interval )

ConfidenceInterval(low=3.3199732261303283, high=5.66478399066117)

L’intervallo di confidenza bootstrap del 95% per la deviazione standard risulta essere [3.32, 5.67] .

Nota : per questi esempi, scegliamo di creare intervalli di confidenza al 95%, ma puoi modificare il valore dell’argomento trust_level per costruire un intervallo di confidenza di dimensioni diverse.

Risorse addizionali

I seguenti tutorial spiegano come eseguire il bootstrap in altri software statistici:

Come eseguire il bootstrap in R
Come eseguire il bootstrap in Excel

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *