Bootstrapping is een statistische procedure waarbij een enkele dataset opnieuw wordt bemonsterd om vele gesimuleerde steekproeven te creëren. Dit proces stelt u in staat om standaardfouten te berekenen, betrouwbaarheidsintervallen te construeren en hypothesetests uit te voeren voor talrijke soorten steekproefstatistieken. Bootstrap-methoden zijn alternatieve benaderingen voor traditionele hypothesetests en vallen op omdat ze eenvoudiger te begrijpen zijn en voor meer voorwaarden gelden.
In deze blogpost leg ik de basisprincipes van bootstrapping uit, vergelijk ik bootstrapping met conventionele statistische methoden, en leg ik uit wanneer het de betere methode kan zijn. Bovendien zal ik een voorbeeld geven met echte gegevens om bootstrapped betrouwbaarheidsintervallen te maken.
Bootstrapping en traditionele hypothesetests zijn inferentiële statistische procedures
Zowel bootstrapping als traditionele methoden gebruiken steekproeven om inferenties te trekken over populaties. Om dit doel te bereiken, behandelen deze procedures de enkele steekproef die een onderzoek verkrijgt als slechts één van vele willekeurige steekproeven die het onderzoek had kunnen verzamelen.
Van een enkele steekproef kunt u een verscheidenheid aan steekproefstatistieken berekenen, zoals het gemiddelde, de mediaan en de standaardafwijking – maar we zullen ons hier richten op het gemiddelde.
Nu, stel dat een analist zijn onderzoek vele malen herhaalt. In deze situatie zal het gemiddelde van steekproef tot steekproef verschillen en een verdeling van steekproefgemiddelden vormen. Statistici noemen dit type verdeling een steekproefverdeling. Steekproefverdelingen zijn van cruciaal belang omdat zij de waarde van uw statistische steekproef in de bredere context van vele andere mogelijke waarden plaatsen.
Hoewel het vele malen uitvoeren van een onderzoek niet haalbaar is, kunnen beide methoden een schatting maken van de steekproefverdelingen. Met behulp van de grotere context die steekproefverdelingen bieden, kunnen deze procedures betrouwbaarheidsintervallen construeren en hypothesetoetsen uitvoeren.
: Verschillen tussen beschrijvende en inferentiële statistiek
Verschillen tussen bootstrapping en traditionele hypothese testen
Een primair verschil tussen bootstrapping en traditionele statistiek is hoe ze steekproefverdelingen schatten.
Traditionele hypothese testprocedures vereisen vergelijkingen die steekproefverdelingen schatten met behulp van de eigenschappen van de steekproefgegevens, het experimentele ontwerp, en een teststatistiek. Om geldige resultaten te krijgen, moet je de juiste teststatistiek gebruiken en aan de aannames voldoen. Ik beschrijf dit proces in meer detail in andere berichten – links hieronder.
De bootstrap-methode gebruikt een heel andere benadering om steekproefverdelingen te schatten. Deze methode neemt de steekproefgegevens die een studie verkrijgt, en bemonstert die opnieuw en opnieuw om vele gesimuleerde steekproeven te maken. Elk van deze gesimuleerde steekproeven heeft zijn eigen eigenschappen, zoals het gemiddelde. Wanneer u de verdeling van deze gemiddelden grafisch weergeeft in een histogram, kunt u de steekproefverdeling van het gemiddelde waarnemen. Je hoeft je geen zorgen te maken over teststatistieken, formules en aannames.
De bootstrap-procedure gebruikt deze steekproefverdelingen als basis voor betrouwbaarheidsintervallen en hypothesetests. Laten we eens kijken hoe dit resampling-proces werkt.
: Hoe t-Tests werken en hoe de F-test werkt in ANOVA
Hoe Bootstrapping uw gegevens opnieuw bemonstert om gesimuleerde datasets te maken
Bootstrapping bemonstert de oorspronkelijke dataset vele duizenden keren opnieuw om gesimuleerde datasets te maken. Dit proces houdt in dat willekeurige steekproeven worden getrokken uit de oorspronkelijke dataset. Het werkt als volgt:
- De bootstrapmethode heeft een gelijke kans om elk oorspronkelijk gegevenspunt willekeurig te trekken voor opname in de opnieuw bemonsterde datasets.
- De procedure kan een gegevenspunt meer dan eens selecteren voor een opnieuw bemonsterde dataset. Deze eigenschap is het “met vervanging”-aspect van het proces.
- De procedure creëert resampled datasets die even groot zijn als de oorspronkelijke dataset.
Het proces eindigt met uw gesimuleerde datasets die veel verschillende combinaties hebben van de waarden die in de oorspronkelijke dataset bestaan. Elke gesimuleerde dataset heeft zijn eigen set van steekproefstatistieken, zoals het gemiddelde, de mediaan, en de standaardafwijking. Bootstrappingprocedures gebruiken de verdeling van de steekproefstatistieken over de gesimuleerde steekproeven als steekproefverdeling.
Voorbeeld van Bootstrap Steekproeven
Laten we eens een eenvoudig geval doornemen. Stel dat een onderzoek vijf datapunten verzamelt en vier bootstrap-steekproeven maakt, zoals hieronder te zien is.
Dit eenvoudige voorbeeld illustreert de eigenschappen van bootstrap-steekproeven. De opnieuw bemonsterde datasets hebben dezelfde grootte als de oorspronkelijke dataset en bevatten alleen waarden die in de oorspronkelijke set voorkomen. Bovendien kunnen deze waarden in de geresamplede datasets vaker of minder vaak voorkomen dan in de oorspronkelijke dataset. Tenslotte is het proces van resampling willekeurig en kan het tot een andere set gesimuleerde datasets hebben geleid.
In een echte studie hoop je natuurlijk op een grotere steekproefomvang, en zou je duizenden resampled datasets moeten maken. Gezien het enorme aantal resampled datasets, zul je altijd een computer gebruiken om deze analyses uit te voeren.
Hoe goed werkt bootstrapping?
Resampling houdt in dat je één dataset vele malen hergebruikt. Het lijkt bijna te mooi om waar te zijn! In feite komt de term “bootstrapping” van de onmogelijke uitdrukking “jezelf optrekken aan je eigen bootstraps”! Maar door de kracht van computers te gebruiken om je ene dataset willekeurig opnieuw te bemonsteren en zo duizenden gesimuleerde datasets te maken, krijg je zinvolle resultaten.
De bootstrap-methode bestaat al sinds 1979, en het gebruik ervan is toegenomen. Verschillende studies in de tussenliggende decennia hebben vastgesteld dat bootstrap-bemonsteringsverdelingen de juiste benaderen.
Om te begrijpen hoe het werkt, moet u bedenken dat bootstrap geen nieuwe gegevens creëert. In plaats daarvan wordt de oorspronkelijke steekproef beschouwd als een benadering van de werkelijke populatie en worden daaruit willekeurige steekproeven getrokken. De centrale aanname voor bootstrapping is dan ook dat de oorspronkelijke steekproef de werkelijke populatie nauwkeurig vertegenwoordigt.
Het proces van resampling creëert vele mogelijke steekproeven die een studie had kunnen trekken. De verschillende combinaties van waarden in de gesimuleerde steekproeven leveren tezamen een schatting op van de variabiliteit tussen willekeurige steekproeven die uit dezelfde populatie zijn getrokken. Het bereik van deze potentiële steekproeven stelt de procedure in staat betrouwbaarheidsintervallen te construeren en hypothesebepalingen uit te voeren. Belangrijk is dat als de steekproefgrootte toeneemt, bootstrapping onder de meeste omstandigheden convergeert naar de juiste steekproefverdeling.
Nu gaan we een voorbeeld zien van deze procedure in actie!
Voorbeeld van het gebruik van bootstrapping om betrouwbaarheidsintervallen te maken
Voor dit voorbeeld zal ik bootstrapping gebruiken om een betrouwbaarheidsinterval te construeren voor een dataset die de lichaamsvetpercentages bevat van 92 adolescente meisjes. Ik heb deze dataset gebruikt in mijn post over het identificeren van de verdeling van je gegevens. Deze gegevens volgen niet de normale verdeling. Omdat het niet voldoet aan de normaliteitsveronderstelling van de traditionele statistiek, is het een goede kandidaat voor bootstrapping. Hoewel, door de grote steekproefgrootte kunnen we deze aanname misschien omzeilen. Het histogram hieronder toont de verdeling van de oorspronkelijke steekproefgegevens.
Download de CSV-dataset om het zelf te proberen: body_fat.
Uitvoeren van de bootstrap-procedure
Om de bootstrap-steekproeven te maken, gebruik ik Statistics101, een giftware-programma. Dit is een geweldig simulatieprogramma dat ik ook heb gebruikt om het Monty Hall Probleem aan te pakken!
Met behulp van de programmeertaal heb ik een script geschreven dat mijn oorspronkelijke dataset neemt en deze 500.000 keer opnieuw bemonstert met vervanging. Dit proces levert 500.000 bootstrapped steekproeven op met 92 waarnemingen in elk. Het programma berekent het gemiddelde van elke steekproef en zet de verdeling van deze 500.000 gemiddelden uit in het histogram hieronder. Statistici noemen dit type verdeling de steekproefverdeling van gemiddelden. Bootstrapping methoden creëren deze verdelingen met behulp van resampling, terwijl traditionele methoden gebruik maken van vergelijkingen voor kansverdelingen. Download dit script om het zelf uit te voeren: BodyFatBootstrapCI.
Om het bootstrapped betrouwbaarheidsinterval te creëren, gebruiken we eenvoudigweg percentielen. Voor een 95%-betrouwbaarheidsinterval moeten we de middelste 95% van de verdeling bepalen. Om dat te doen, gebruiken we het 97,5-percentiel en het 2,5-percentiel (97,5 – 2,5 = 95). Met andere woorden, als we alle steekproefgemiddelden rangschikken van laag naar hoog en dan de laagste 2,5% en de hoogste 2,5% van de gemiddelden afsnijden, blijft de middelste 95% van de gemiddelden over. Dat bereik is ons bootstrapped betrouwbaarheidsinterval!
Voor de gegevens over lichaamsvet berekent het programma een 95% bootstrapped betrouwbaarheidsinterval van het gemiddelde. We kunnen er voor 95% zeker van zijn dat het populatiegemiddelde binnen dit bereik valt.
Dit interval heeft dezelfde breedte als het traditionele betrouwbaarheidsinterval voor deze gegevens, en het verschilt slechts enkele procentpunten. De twee methoden liggen zeer dicht bij elkaar.
Merk op hoe de steekproefverdeling in het histogram een normale verdeling benadert, ook al is de onderliggende gegevensverdeling scheef. Deze benadering is te danken aan het centrale limiettheorema. Naarmate de steekproefgrootte toeneemt, convergeert de steekproefverdeling naar een normale verdeling, ongeacht de onderliggende gegevensverdeling (op een paar uitzonderingen na). Lees voor meer informatie over dit theorema mijn post over het Central Limit Theorem.
Vergelijk dit proces met hoe traditionele statistische methoden betrouwbaarheidsintervallen creëren.
Voordelen van bootstrapping boven traditionele statistiek
Lezers van mijn blog weten dat ik houd van intuïtieve uitleg van complexe statistische methoden. En bootstrapping past precies in deze filosofie. Dit proces is veel gemakkelijker te begrijpen dan de complexe vergelijkingen die nodig zijn voor de kansverdelingen van de traditionele methoden. Maar bootstrapping biedt meer voordelen dan alleen gemakkelijk te begrijpen zijn!
Bootstrapping maakt geen aannames over de verdeling van uw gegevens. Je neemt alleen een nieuwe steekproef van je gegevens en gebruikt de steekproefverdeling die daaruit naar voren komt. Vervolgens werk je met die verdeling, wat die ook moge zijn, zoals we in het voorbeeld hebben gedaan.
Omgekeerd gaan de traditionele methoden er vaak van uit dat de gegevens de normale verdeling of een andere verdeling volgen. Voor de normale verdeling kan de centrale limiettheorema je toestaan deze aanname te omzeilen voor steekproefgroottes groter dan ~30. Bijgevolg kan je bootstrapping gebruiken voor een grotere variëteit van verdelingen, onbekende verdelingen, en kleinere steekproefgroottes. Steekproefgroottes zo klein als 10 kunnen bruikbaar zijn.
In deze geest gebruiken alle traditionele methoden vergelijkingen die de steekproefverdeling schatten voor een specifieke steekproefstatistiek wanneer de gegevens een bepaalde verdeling volgen. Helaas bestaan er geen formules voor alle combinaties van steekproefstatistieken en gegevensverdelingen! Er bestaat bijvoorbeeld geen bekende steekproefverdeling voor medianen, zodat bootstrapping daarvoor de perfecte analyse is. Andere analyses hebben aannames zoals gelijkheid van varianties. Geen van deze zaken zijn echter problemen voor bootstrapping.
Voor welke steekproefstatistieken kan ik bootstrapping gebruiken?
Terwijl deze blogpost zich richt op het steekproefgemiddelde, kan de bootstrap methode een breed scala aan steekproefstatistieken en eigenschappen analyseren. Deze statistieken omvatten onder andere het gemiddelde, de mediaan, de modus, de standaardafwijking, variantieanalyse, correlaties, regressiecoëfficiënten, proporties, odds ratio’s, variantie in binaire gegevens en multivariate statistieken.
Er zijn verschillende, meestal esoterische, omstandigheden waarin bootstrapping niet geschikt is, zoals wanneer de populatievariantie oneindig is, of wanneer de populatiewaarden discontinu zijn bij de mediaan. En er zijn verschillende omstandigheden waarin aanpassingen aan het bootstrappingproces nodig zijn om voor bias te corrigeren. Maar die gevallen vallen buiten het bestek van deze inleidende blogpost.