Bootstrapping uitvoeren in python (met voorbeeld)
Bootstrapping is een methode die kan worden gebruikt om een betrouwbaarheidsinterval voor een statistiek te construeren wanneer de steekproefomvang klein is en de onderliggende verdeling onbekend is.
Het basisproces voor bootstrapping is als volgt:
- Neem k replicaatmonsters met vervanging uit een gegeven dataset.
- Bereken voor elk monster de betreffende statistiek.
- Dit levert k verschillende schattingen op voor een bepaalde statistiek, die u vervolgens kunt gebruiken om een betrouwbaarheidsinterval voor de statistiek te berekenen.
De eenvoudigste manier om Python op te starten is door de bootstrap- functie uit de SciPy- bibliotheek te gebruiken.
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: bootstrapping uitvoeren in Python
Stel dat we in Python een dataset maken met 15 waarden:
#define array of data values
data = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]
We kunnen de volgende code gebruiken om een bootstrap-betrouwbaarheidsinterval van 95% voor de mediaanwaarde te berekenen:
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)
Het 95% bootstrap-betrouwbaarheidsinterval voor de mediaan blijkt [10,0, 20,0] te zijn.
Dit is wat de functie boosttrap() feitelijk onder de motorkap deed:
- De functie bootstrap() genereerde 9.999 samples met vervanging. (De standaardwaarde is 9999, maar u kunt het argument n_resamples gebruiken om dit getal te wijzigen)
- Voor elk bootstrapmonster werd de mediaan berekend.
- De mediaanwaarde van elk monster werd geordend van klein naar groot en de mediaanwaarde bij het 2,5% percentiel en het 97,5% percentiel werd gebruikt om de onder- en bovengrenzen van het 95% betrouwbaarheidsinterval te construeren. %.
Houd er rekening mee dat u voor vrijwel elke statistiek een bootstrap-betrouwbaarheidsinterval kunt berekenen.
We kunnen bijvoorbeeld np.median vervangen door np.std in de bootstrap() -functie om in plaats daarvan een betrouwbaarheidsinterval van 95% voor de standaarddeviatie te berekenen:
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)
Het 95% bootstrap-betrouwbaarheidsinterval voor de standaarddeviatie blijkt [3,32, 5,67] te zijn.
Opmerking : voor deze voorbeelden kiezen we ervoor om betrouwbaarheidsintervallen van 95% te maken, maar u kunt de waarde van het argument trust_level wijzigen om een betrouwbaarheidsinterval van een andere grootte te construeren.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere statistische software kunt opstarten: