Spiegare ai non addetti ai lavori perché il bootstrap funziona


326

Recentemente ho usato il bootstrap per stimare gli intervalli di confidenza per un progetto. Qualcuno che non conosce molto sulle statistiche recentemente mi ha chiesto di spiegare perché il bootstrap funziona, ovvero perché il ricampionamento dello stesso campione più e più volte dà buoni risultati. Mi sono reso conto che, sebbene avessi trascorso molto tempo a capire come usarlo, non capisco davvero perché il bootstrap funzioni.

In particolare: se stiamo eseguendo il ricampionamento dal nostro campione, come stiamo imparando qualcosa sulla popolazione piuttosto che solo sul campione? Sembra che ci sia un salto che è in qualche modo contro-intuitivo.

Ho trovato alcune risposte a questa domanda qui che ho capito a metà. In particolare questo . Sono un "consumatore" di statistiche, non uno statistico, e lavoro con persone che sanno molto meno delle statistiche di me. Quindi, qualcuno può spiegare, con un minimo di riferimenti a teoremi, ecc., Il ragionamento di base dietro il bootstrap? Cioè, se dovessi spiegarlo al tuo vicino, cosa diresti?


13
(+1) Potresti menzionare brevemente le domande che hai esaminato, ma che non ti soddisfano del tutto. Ci sono molte domande sul bootstrap qui. :)
cardinale

@cardinal Grazie, ho aggiornato il post originale. Spero sia più chiaro. :)
Alan H.

5
Una cosa da notare: il bootstrap non funziona facilmente per i dati strutturati gerarchicamente, come i modelli multi-livello e i progetti di campionamento multi-stadio. Molto confuso sapere "quale bootstrap" dovresti usare.
probabilityislogic

2
Fondamentalmente, bootstrap funziona perché è la massima probabilità non parametrica. Pertanto, quando si verificano problemi con la massima probabilità, è possibile aspettarsi problemi con il bootstrap.
kjetil b halvorsen,

3
Jake VanderPlas ha tenuto un grande discorso al PyCon 16 in merito al bootstrap e ad alcune altre tecniche correlate. Guarda le diapositive a partire dalla diapositiva 71 e la registrazione video .
THM

Risposte:


198

dopo la versione di media lunghezza che di solito do va in questo modo:

Vuoi fare una domanda a una popolazione ma non puoi. Quindi prendi un campione e fai invece la domanda. Ora, quanto si dovrebbe essere sicuri che la risposta del campione sia vicina alla risposta della popolazione dipende ovviamente dalla struttura della popolazione. Un modo in cui potresti imparare questo è quello di prelevare campioni dalla popolazione ancora e ancora, porre loro la domanda e vedere quanto tendevano ad essere le risposte del campione. Dal momento che ciò non è possibile, puoi fare alcune ipotesi sulla forma della popolazione oppure puoi usare le informazioni nel campione che devi effettivamente conoscere.

Immagina di decidere di fare ipotesi, ad esempio che sia Normale, o Bernoulli o qualche altra finzione conveniente. Seguendo la strategia precedente, potresti scoprire di nuovo in che misura la risposta alla tua domanda quando ti viene chiesto di un campione può variare a seconda di quale particolare campione hai ottenuto generando ripetutamente campioni della stessa dimensione di quello che hai e chiedendo loro lo stesso domanda. Ciò sarebbe semplice nella misura in cui hai scelto ipotesi computazionalmente convenienti. (In effetti ipotesi particolarmente convenienti più matematica non banale possono consentire di ignorare del tutto la parte di campionamento, ma qui la ignoreremo deliberatamente.)

Sembra una buona idea, purché tu sia felice di fare le ipotesi. Immagina di non esserlo. Un'alternativa è quella di prendere il campione che hai e campionare da esso invece. È possibile fare questo in quanto il campione si ha anche una popolazione, solo una piccolissima discreti uno; sembra l'istogramma dei tuoi dati. Il campionamento "con sostituzione" è solo un modo conveniente per trattare il campione come se fosse una popolazione e campionarlo da esso in modo da riflettere la sua forma.

Questa è una cosa ragionevole da fare perché non solo è il campione che hai il migliore, anzi le uniche informazioni che hai su ciò che la popolazione effettivamente assomiglia, ma anche perché la maggior parte dei campioni, se scelti casualmente, assomigliano abbastanza al popolazione da cui provenivano. Di conseguenza è probabile che lo faccia anche il tuo.

Per intuizione è importante pensare a come è possibile conoscere la variabilità aggregando le informazioni campionate che vengono generate in vari modi e su varie ipotesi. Ignorare completamente la possibilità di soluzioni matematiche in forma chiusa è importante chiarire questo aspetto.


5
Bella risposta. Mi piace soprattutto il penultimo paragrafo.
Peter Flom

19
(+1) Questa è una buona risposta. Penso che potrebbe esserci un modo per elaborare ulteriormente un punto molto importante. Nel modo in cui viene normalmente eseguito il bootstrap, ci sono due effetti che stanno accadendo. In primo luogo, stiamo fingendo che il campione che abbiamo ottenuto sia un proxy per la nostra popolazione. Questa è nominalmente una cosa ragionevole da fare, a condizione che le dimensioni del nostro campione siano ragionevolmente grandi. Tuttavia, di solito abbiamo difficoltà a calcolare le quantità effettive di interesse da quella finta distribuzione. Quindi , dobbiamo stimarli , ed è per questo che disegniamo molti campioni bootstrap. Se potessimo ... / ...
cardinale il

11
... / ... calcola direttamente le quantità di interesse per la nostra finta distribuzione, preferiremmo farlo. E quello sarebbe il vero bootstrap. Ma di solito non possiamo, quindi siamo ridotti a dover ricampionare, invece.
cardinale il

8
@ naught101: "Ragionevolmente grande" può essere quantificato abbastanza bene dalla disuguaglianza del DKW (se vuoi, puoi guardare la mia risposta nel link nella domanda del PO) e per quanto riguarda i lotti , dipende dalla statistica di esempio di interesse, ma se abbiamo esempi di bootstrap , allora con un semplice Monte Carlo sappiamo che l'errore standard è all'ordine di circa . O ( B - 1 / 2 )BO(B1/2)
cardinale

4
@cardinal: bel commento. Molte persone pensano che il bootstrap e il ricampionamento siano la stessa cosa quando in realtà quest'ultimo è uno strumento utilizzato per il primo. Un malinteso simile è che molti utenti delle statistiche tendono a confondere MCMC e l'analisi bayesiana.
Martedì

122

Da +1 a @ConjugatePrior, voglio solo evidenziare un punto implicito nella sua risposta. La domanda si pone: "Se stiamo ricampionando dal nostro campione, come possiamo imparare qualcosa sulla popolazione piuttosto che solo sul campione?" Il ricampionamento non viene effettuato per fornire una stima della distribuzione della popolazione: prendiamo il nostro campione stesso come modello della popolazione. Piuttosto, il ricampionamento viene effettuato per fornire una stima della distribuzione campionaria della statistica campione in questione.


10
(+1) Questo è vicino al punto che stavo cercando di fare nel commento alla risposta di ConjugatePrior, anche se l'hai dichiarato in modo più conciso e chiaro. In alcuni casi speciali, possiamo calcolare la distribuzione campionaria della statistica del test esattamente sotto la distribuzione empirica ottenuta dal campione . Ma, di solito, non possiamo e quindi siamo costretti alla simulazione. :)
cardinale

7
Vedo, quindi se ti capisco, allora questa tecnica presuppone che il campione sia un modello adeguato della popolazione, e quindi che il ricampionamento su quel campione su una scala sufficientemente ampia rivelerà qualcosa sulla popolazione, ma solo nella misura in cui il il campione originale è buono. Ora che lo metto in questo modo sembra quasi ovvio ...
Alan H.

4
@AlanH., Voglio solo cambiare "... rivelerà qualcosa sulla popolazione " in "... rivelerà qualcosa sulla distribuzione campionaria " (della statistica in questione, ad esempio media). Ma sì, ce l'hai lì
gung

Hai tutti ragione, ovviamente. Personalmente, e puramente per motivi pedagogici, conservo questo punto per la mia "versione più lunga", perché nel mio pubblico particolare questo punto tende a scuotere un po 'le loro intuizioni giovani e ancora instabili se applicato troppo presto.
conjugateprior,

3
@ErosRam, il bootstrap serve a determinare la distribuzione campionaria di qualcosa. Puoi farlo per una statistica campione (es. 56 ° percentile) o una statistica test (t), ecc. Nel mio esempio binomiale, la distribuzione campionaria sarà ovviamente 0 teste - 25%; 1 capo - 50%; 2 teste - 25%; questo è chiaro senza ricampionamento. Cardinal ha un commento da qualche parte che spiega questo (molte delle migliori risposte sul sito sono i commenti del cardinale), ma è difficile trovare b / c è un commento.
gung

43

Questa è probabilmente una spiegazione più tecnica rivolta a persone che comprendono statistiche e matematica (almeno il calcolo). Ecco una slide di un corso sui bootstrap del sondaggio che ho insegnato qualche tempo fa:

principio bootstrap

TE[X]=xdFFn()dFF()TθFn()Tθ^nθθ^nθ

Se potessimo ripetere la nostra procedura di campionamento, potremmo ottenere quella distribuzione e saperne di più. Bene, questo di solito va oltre le nostre capacità. Tuttavia, se

  1. FnF
  2. TF()θ

Fn()F()nnn5θ^nθ^nθ^nθ

θ^n to θ^n is like θ^n to θ

θ^nθ^n

TFnFθ^nθ^nθ^nθF

nnθ^nθθ^n(r)θ^nθ^n


7
Questa risposta manca completamente al punto di cercare di essere accessibile a un pubblico laico.
Tripartio,

20

Sto rispondendo a questa domanda perché sono d'accordo che questa è una cosa difficile da fare e ci sono molti malintesi. Efron e Diaconis tentarono di farlo nel loro articolo di Scientific American del 1983 e, a mio avviso, fallirono. Esistono diversi libri ora dedicati al bootstrap che fanno un buon lavoro. Efron e Tibshirani fanno un ottimo lavoro nel loro articolo in Statistical Science del 1986. Ho cercato in particolare di rendere accessibile bootstrap al praticante nel mio libro sui metodi bootstrap e la mia introduzione a bootstrap con applicazioni al libro di R. Hall è grandiosa ma molto avanzata e teorica . Tim Hesterberg ha scritto un grande capitolo supplementare a uno dei libri introduttivi sulle statistiche di David Moore. Il defunto Clifford Lunneborg aveva un bel libro. Chihara e Hesterberg hanno recentemente pubblicato un libro di statistiche matematiche di livello intermedio che tratta il bootstrap e altri metodi di ricampionamento. Perfino libri avanzati come Lahiri o Shao e Tu danno buone spiegazioni concettuali. Manly fa bene con il suo libro che copre le permutazioni e il bootstrap Non c'è più motivo di essere perplesso sul bootstrap. È importante tenere presente che il bootstrap dipende dal principio bootstrap "Il campionamento con sostituzione si comporta sul campione originale come si comporta il campione originale su una popolazione. Vi sono esempi in cui questo principio fallisce. È importante sapere che il bootstrap non è la risposta ad ogni problema statistico. s danno buone spiegazioni concettuali. Manly fa bene con il suo libro che copre le permutazioni e il bootstrap Non c'è più motivo di essere perplesso sul bootstrap. È importante tenere presente che il bootstrap dipende dal principio bootstrap "Il campionamento con sostituzione si comporta sul campione originale come si comporta il campione originale su una popolazione. Vi sono esempi in cui questo principio fallisce. È importante sapere che il bootstrap non è la risposta ad ogni problema statistico. s danno buone spiegazioni concettuali. Manly fa bene con il suo libro che copre le permutazioni e il bootstrap Non c'è più motivo di essere perplesso sul bootstrap. È importante tenere presente che il bootstrap dipende dal principio bootstrap "Il campionamento con sostituzione si comporta sul campione originale come si comporta il campione originale su una popolazione. Vi sono esempi in cui questo principio fallisce. È importante sapere che il bootstrap non è la risposta ad ogni problema statistico. Il campionamento con sostituzione si comporta sul campione originale come si comporta il campione originale su una popolazione. Ci sono esempi in cui questo principio fallisce. È importante sapere che il bootstrap non è la risposta ad ogni problema statistico. Il campionamento con sostituzione si comporta sul campione originale come si comporta il campione originale su una popolazione. Ci sono esempi in cui questo principio fallisce. È importante sapere che il bootstrap non è la risposta ad ogni problema statistico.

Ecco i link di Amazon a tutti i libri che ho citato e altro ancora.

Statistica matematica con ricampionamento e R

Metodi Bootstrap e loro applicazione

Metodi Bootstrap: una guida per professionisti e ricercatori

Un'introduzione ai metodi Bootstrap con applicazioni a R

Metodi di ricampionamento per dati dipendenti

Metodi di randomizzazione, bootstrap e Monte Carlo in biologia

Un'introduzione al bootstrap

The Practice of Business Statistics Companion Capitolo 18: Metodi Bootstrap e test di permutazione

Analisi dei dati mediante ricampionamento: concetti e applicazioni

Jackknife, Bootstrap e altri piani di ricampionamento

The Jackknife and Bootstrap

Test di ipotesi, parametrici e bootstrap di ipotesi

L'espansione Bootstrap e Edgeworth


2
@Procrastinator. Lo sto facendo più spesso. in alcuni casi ho fretta di ricevere la mia risposta e tornare per ripulirla più tardi. Non ho la capacità di convertire gli indirizzi dei collegamenti in collegamenti per titolo e non sono sicuro che sia tutto ciò che è necessario. È un singolo clic in entrambi i casi. Ma se non puoi aspettare che non mi dispiaccia che tu stia facendo le modifiche. In effetti lo apprezzo.
Michael Chernick,

1
Stavo per cambiare il mio commento in "Non mi dispiace che tu stia facendo le modifiche" con il "Ma se non puoi aspettare" eliminato. Vedo che ciò che hai fatto è più ordinato e semplice e probabilmente richiede meno tempo, ma non l'ho ancora imparato e non lo vedo come un grosso problema come fanno alcuni moderatori e altri membri.
Michael Chernick,

1
10,000

Grazie procrastinatore. stavo anticipando forse di raggiungere quel totale oggi.
Michael Chernick,

10

Tramite il bootstrap, stai semplicemente prelevando campioni più e più volte dallo stesso gruppo di dati (i tuoi dati di esempio) per stimare l'accuratezza delle tue stime sull'intera popolazione (ciò che è realmente là fuori nel mondo reale).

Se dovessi prelevare un campione e fare stime sulla popolazione reale, potresti non essere in grado di stimare l'accuratezza delle tue stime: abbiamo solo una stima e non abbiamo identificato il modo in cui tale stima varia con i diversi campioni che potremmo aver incontrato.

Con il bootstrap, utilizziamo questo esempio principale per generare più campioni. Ad esempio, se misurassimo il profitto ogni giorno per oltre 1000 giorni, potremmo prelevare campioni casuali da questo set. Potremmo trarre profitto da un giorno casuale, registrarlo, ottenere il profitto da un altro giorno casuale (che potrebbe accadere lo stesso giorno di prima - campionamento con sostituzione), registrarlo e così via, fino a quando non otteniamo un "nuovo" campione di 1000 giorni (dal campione originale).

Questo "nuovo" campione non è identico al campione originale - in effetti potremmo generare diversi "nuovi" campioni come sopra. Quando osserviamo le variazioni nelle medie e nella stima, siamo in grado di ottenere una lettura su quanto accurate fossero le stime originali.

Modifica - in risposta al commento

I campioni "più recenti" non sono identici al primo e le nuove stime basate su questi varieranno. Questo simula ripetuti campioni della popolazione. Le variazioni nelle stime dei campioni "più recenti" generati dal bootstrap faranno luce su come le stime dei campioni potrebbero variare in base a campioni diversi dalla popolazione. È in questo modo infatti che possiamo provare a misurare l'accuratezza delle stime originali.

Ovviamente, invece di avviare il bootstrap, potresti invece prendere diversi nuovi campioni dalla popolazione, ma questo potrebbe non essere fattibile.


5
Grazie! Questo lo capisco. Mi chiedo in particolare in che modo il ricampionamento da un campione della popolazione aiuta a comprendere la popolazione sottostante. Se stiamo eseguendo il ricampionamento da un campione, come stiamo imparando qualcosa sulla popolazione piuttosto che solo sul campione? Sembra che ci sia un salto che è in qualche modo contro-intuitivo.
Alan H.

4

Mi rendo conto che questa è una vecchia domanda con una risposta accettata, ma mi piacerebbe fornire la mia visione del metodo bootstrap. Non sono in alcun modo un esperto (più di un utente di statistiche, come OP) e accolgo con favore eventuali correzioni o commenti.

SiT(Si)

Puoi considerare invece tutti i sottoinsiemi della dimensione 98 e ottenere JK-2 (2 elementi eliminati) o JK-3 ecc.

Ora, bootstrap è solo una versione casuale di questo. Effettuando il ricampionamento tramite selezione con sostituzioni, si "eliminano" un numero casuale di elementi (possibilmente nessuno) e si "sostituiscono" con uno (o più) replicati.

Sostituendo con repliche il set di dati ricampionato ha sempre le stesse dimensioni. Per il jackknife potresti chiedere quale sia l'effetto del jackknifing su campioni di dimensione 99 anziché 100, ma se la dimensione del campione è "sufficientemente grande" è probabilmente un problema.

In jackknife non mescoli mai delete-1 e delete-2 ecc., Per assicurarti che le stime jacked provengano da campioni della stessa dimensione.

Puoi anche considerare di dividere il campione di dimensione 100 in ad esempio 10 campioni di dimensione 10. Questo in alcuni aspetti teorici sarebbe più pulito (sottoinsiemi indipendenti) ma ridurrebbe la dimensione del campione (da 100 a 10) tanto da essere poco pratico (nella maggior parte casi).

È inoltre possibile considerare sottoinsiemi parzialmente sovrapposti di determinate dimensioni. Tutto questo è gestito in modo automatico, uniforme e casuale dal metodo bootstrap.

Inoltre, il metodo bootstrap fornisce una stima della distribuzione campionaria della statistica dalla distribuzione empirica del campione originale, in modo da poter analizzare ulteriori proprietà della statistica oltre all'errore standard.


1

Parafrasando Fox , vorrei iniziare dicendo che il processo di ricampionamento ripetuto dal campione osservato ha dimostrato di imitare il processo del campionamento originale da tutta la popolazione.


il link sopra è defunto quindi non so cosa ha detto Fox. Ma nessuno degli indirizzi che mi preoccupano del fatto che il bootstrap crea errori. Supponiamo di voler conoscere la frequenza relativa delle lingue sulla terra. Se prendessi il tuo campione da Internet e lo ricampionassi, mancherai tutte le lingue non presenti in rete.
aquagremlin,

1

Un campionamento finito della popolazione approssima la distribuzione nello stesso modo in cui un istogramma la approssima. Ricampionando, ogni numero di bin viene modificato e si ottiene una nuova approssimazione. Valori di conteggio elevati oscillano meno dei valori di conteggio piccoli sia nella popolazione originale che nel set campionato. Dato che lo stai spiegando a un non addetto ai lavori, puoi sostenere che per i conteggi di grandi quantità questa è all'incirca la radice quadrata del conteggio dei contenitori in entrambi i casi.

2080100(0.2×0.8)×1001:4

Penso che sia importante sottolineare che il bootstrap non scopre dati "nuovi", è solo un modo conveniente e non parametrico per determinare approssimativamente il campione per campionare le fluttuazioni se la vera probabilità è data da quella campionata.


Ho apportato lievi modifiche alla formattazione nella tua risposta: sentiti libero di ripristinarle se le trovi inadatte. Ciò che potrebbe richiedere ulteriori chiarimenti è perché esiste una radice quadrata?
Tim

1

Si noti che nelle classiche statistiche inferenziali l'entità teorica che collega un campione alla popolazione come un buon stimatore della popolazione è la distribuzione campionaria (tutti i possibili campioni che potrebbero essere estratti dalla popolazione). Il metodo bootstrap sta creando una sorta di distribuzione campionaria (una distribuzione basata su più campioni). Certo, è un metodo di massima verosimiglianza, ma la logica di base non è così diversa da quella della teoria della probabilità tradizionale dietro le classiche statistiche basate sulla distribuzione normale.


0

Il mio punto è molto piccolo.

Bootstrap funziona perché sfrutta intensamente computazionalmente la premessa principale del nostro programma di ricerca.

Per essere più specifici, in statistica o biologia, o nella maggior parte delle scienze non teoriche, studiamo gli individui, raccogliendo così campioni.

Eppure, da tali campioni, vogliamo fare inferenze su altri individui, presentandoci in futuro o in diversi campioni.

Con bootstrap, fondando esplicitamente la nostra modellazione sui singoli componenti del nostro campione, possiamo meglio (con meno ipotesi, di solito) dedurre e prevedere per altri individui.


1
Ciò non sembra distinguere il bootstrap da qualsiasi altra procedura statistica che inizia con i dati non elaborati. Sembra solo distinguere quelli dalle procedure basate su statistiche riassuntive o frequenze binate.
whuber

0

Quando spiego ai principianti, penso che sia utile fare un esempio specifico ...

Immagina di avere un campione casuale di 9 misurazioni da una popolazione. La media del campione è 60. Possiamo essere sicuri che anche la media dell'intera popolazione sia 60? Ovviamente non perché i piccoli campioni varieranno, quindi è probabile che la stima di 60 sia imprecisa. Per scoprire quanti campioni di questo tipo possono variare, possiamo eseguire alcuni esperimenti, usando un metodo chiamato bootstrap.

Il primo numero nel campione è 74 e il secondo è 65, quindi immaginiamo una grande popolazione "finta" che comprende un nono 74, un nono 65 e così via. Il modo più semplice per prelevare un campione casuale da questa popolazione è quello di prendere un numero a caso dal campione di nove, quindi sostituirlo in modo da avere di nuovo il campione originale di nove e sceglierne un altro a caso, e così via fino a quando non si ha un "ricampionamento" di 9. Quando l'ho fatto, 74 non è apparso affatto, ma alcuni degli altri numeri sono comparsi due volte e la media era 54,4. (Questo è impostato sul foglio di calcolo in http://woodm.myweb.port.ac.uk/SL/resample.xlsx - fai clic sulla scheda Bootstrap nella parte inferiore dello schermo.)

Quando ho preso 1000 campioni in questo modo i loro mezzi variavano da 44 a 80, con il 95% tra 48 e 72. Il che suggerisce che c'è un errore fino a 16-20 unità (44 è 16 al di sotto della media della finta popolazione di 60, 80 è 20 unità sopra) nell'uso di campioni di dimensione 9 per stimare la media della popolazione. e che possiamo essere sicuri al 95% che l'errore sarà 12 o meno. Quindi possiamo essere sicuri al 95% che la media della popolazione sarà compresa tra 48 e 72.

Ci sono un certo numero di ipotesi qui chiarite, quella ovvia è l'assunto che il campione fornisca un quadro utile della popolazione - l'esperienza mostra che questo generalmente funziona bene a condizione che il campione sia ragionevolmente grande (9 è un po 'piccolo ma rende più facile vedere cosa sta succedendo). Il foglio di calcolo su http://woodm.myweb.port.ac.uk/SL/resample.xlsx ti consente di vedere singoli campioni, tracciare istogrammi di 1000 campioni, sperimentare campioni più grandi, ecc. C'è una spiegazione più dettagliata nell'articolo all'indirizzo https://arxiv.org/abs/1803.06214 .


Questo è elementare e forse intuitivo, ma non credo che arrivi alla ragione per cui il bootstrap funziona.
Michael Chernick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.