Regola empirica per il numero di campioni bootstrap


40

Mi chiedo se qualcuno conosce qualche regola empirica generale relativa al numero di campioni bootstrap che uno dovrebbe usare, in base alle caratteristiche dei dati (numero di osservazioni, ecc.) E / o alle variabili incluse?


2
Sono stato curioso anche di questo, poiché sto pianificando un'analisi di simulazione. C'è qualche motivo per non scegliere tutti i campioni possibili / praticabili? A parte le preoccupazioni ambientali (ad es. Spese per l'elettricità) e le preoccupazioni personali (ad es. Il superamento delle soglie critiche per il nerdiness sostenibile, il passaggio al puro geekdom ), finora non vedo controindicazioni nelle risposte (+1 in tutto BTW). .
Nick Stauner

4
@Nick Sono in gran parte d'accordo - Di solito ne uso quanti ne posso aspettare (di solito superando un milione, anche se non sempre), ma in genere considero 1000 come un limite inferiore abbastanza chiaro. Come primo tentativo, faccio spesso 1K per ottenere informazioni sui tempi, quindi lavoro su quanti multipli sono pronto ad aspettare la risposta effettiva.
Glen_b -Restate Monica

1
Se la parte del processo che richiede molto tempo sta generando simulazioni e le loro osservazioni possono essere facilmente aggregate (come spesso possono fare con un po 'di codifica aggiuntiva), sembra che ci siano poche scuse per non sbagliare sul lato del superamento. Immagino che potrebbe sfuggire di mano col passare del tempo se tutti lo facessero e dimenticassero il perché, ma dal momento che probabilmente non sarà mai così ... Avere una soglia minima a cui puntano le persone inutilmente sembra un po 'controproducente, se l'alternativa— andare di più fino a quando non c'è davvero spazio rimanente per il dubbio - è quindi scoraggiato implicitamente.
Nick Stauner,

Ho appena avviato il bootstrap fino a quando non vedo una chiara convergenza. Se si desidera alleviare le preoccupazioni dei revisori, includerei semplicemente una visualizzazione delle iterazioni di bootstrap rispetto alla stima risultante per illustrare la convergenza.
RTbecard,

North et al. Il 2002 fornisce alcune linee guida che ho trovato utili DOI: 10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

Risposte:


33

La mia esperienza è che gli statistici non prenderanno sul serio simulazioni o bootstrap a meno che il numero di iterazioni non superi 1.000. L'errore MC è un grosso problema poco apprezzato. Ad esempio, questo documento è stato utilizzato Niter=50per dimostrare LASSO come strumento di selezione delle funzionalità. La mia tesi avrebbe richiesto molto meno tempo per l'esecuzione se 50 iterazioni fossero state ritenute accettabili! Consiglio di ispezionare sempre l'istogramma dei campioni bootstrap . La loro distribuzione dovrebbe apparire abbastanza regolare. Non credo che basterebbe una semplice regola numerica e sarebbe eccessivo eseguire, diciamo, un doppio bootstrap per valutare l'errore MC.

Supponiamo che stessimo stimando la media da un rapporto di due variabili casuali normali standard indipendenti, alcuni statistici potrebbero raccomandare di avviare il bootstrap poiché l'integrale è difficile da calcolare. Se hai una teoria della probabilità di base sotto la tua cintura, riconosceresti che questo rapporto forma una variabile casuale di Cauchy con una media inesistente. Qualsiasi altra distribuzione leptokurtic richiederebbe diverse iterazioni di bootstrap aggiuntive rispetto a una controparte di densità gaussiana più regolare. In tal caso, i campioni di bootstrap da 1000, 100000 o 10000000 sarebbero insufficienti per stimare ciò che non esiste. L'istogramma di questi bootstrap continuerebbe ad apparire irregolare e sbagliato.

Ci sono alcune più rughe in quella storia. In particolare, il bootstrap è veramente giustificato solo quando esistono i momenti del modello di probabilità di generazione dei dati. Questo perché stai usando la funzione di distribuzione empirica come un uomo di paglia per il modello di probabilità reale e supponendo che abbiano la stessa media, deviazione standard, asimmetria, 99o percentile, ecc.

In breve, una stima bootstrap di una statistica e del suo errore standard è giustificata solo quando l'istogramma dei campioni bootstrap appare regolare oltre ogni ragionevole dubbio e quando il bootstrap è giustificato.


3
Ho sempre visto anche grandi campioni bootstrap. Tuttavia, in "An Introduction to the Bootstrap" (1994) di Efron e Tibshirani, riportano che puoi ottenere una stima decente con B = 25 e B = 200 ti avvicini a un coefficiente di variazione simile all'infinito. Forniscono una tabella dei coefficienti di variazione per vari B (p. 52-53, entrambe le pagine sono disponibili su google books).
Jeramy Townley,

19

modificare:

Se sei seriamente intenzionato ad avere abbastanza campioni, quello che dovresti fare è eseguire la tua procedura bootstrap, cosa speri, abbastanza campioni un numero di volte e vedere quanto le stime bootstrap "saltano". Se le stime ripetute non differiscono molto (dove "molto" dipende dalla tua situazione specifica) molto probabilmente stai bene. Ovviamente puoi stimare di quanto saltano le stime ripetute calcolando la SD campione o simile.

Se si desidera un riferimento e una regola empirica, Wilcox (2010) scrive "599 è raccomandato per l'uso generale." Ma questo dovrebbe essere considerato solo una linea guida o forse il numero minimo di campioni da considerare. Se vuoi essere al sicuro non c'è motivo (se è fattibile dal punto di vista computazionale) perché non dovresti generare un ordine di grandezza più campioni.

Su una nota personale tendo a eseguire 10.000 campioni quando si stima "per me stesso" e 100.000 campioni quando si stima qualcosa trasmesso ad altri (ma questo è veloce mentre lavoro con piccoli set di dati).

Riferimento

Wilcox, RR (2010). Fondamenti dei moderni metodi statistici: miglioramento sostanziale di potenza e precisione. Springer.


17
599? Cinquecentonovantanove? Cosa diavolo potrebbe essere un argomento a favore di questo numero?
ameba dice di reintegrare Monica il

Chiedi a Wilcox (2010), immagino ... anche io sono curioso; forse i The Rasmus ci onorerebbero con un po 'più di contesto attorno alla citazione?
Nick Stauner,

non è chiaro per me da dove venga anche il 599 ... aggiunto qualche consiglio migliore alla risposta però ...
Rasmus Bååth

8
@amoeba Puoi leggere il "passaggio" per te stesso . Questo è un esempio di scrittura eccezionalmente poco chiara nelle statistiche, e in particolare si applica solo all'inferenza sulla media troncata con le stime di errore standard di Windsorized .
AdamO,

11

Ci sono alcune situazioni in cui puoi dire prima o dopo alcune iterazioni che un numero enorme di iterazioni bootstrap non aiuterà alla fine.

  • Si spera che abbiate un'idea in anticipo sull'ordine di grandezza della precisione richiesto per un'interpretazione significativa dei risultati. In caso contrario, forse è tempo di imparare un po 'di più sul problema alla base dell'analisi dei dati. Ad ogni modo, dopo alcune iterazioni potresti essere in grado di stimare quante più iterazioni sono necessarie.

  • Ovviamente, se hai pochissimi casi (diciamo, il comitato etico ha ammesso 5 ratti) non devi pensare a decine di migliaia di iterazioni. Forse sarebbe meglio guardare tutti i possibili sorteggi. E forse sarebbe ancora meglio fermarsi e pensare a come qualsiasi tipo di conclusione possa (non) basarsi su 5 topi.

  • Pensa alla totale incertezza dei risultati. Nel mio campo, la parte dell'incertezza che è possibile misurare e ridurre mediante il bootstrap può essere solo una parte minore dell'incertezza totale (ad es. A causa delle restrizioni nella progettazione degli esperimenti, importanti fonti di variazione spesso non sono coperte dall'esperimento - diciamo , iniziamo con esperimenti su linee cellulari sebbene l'obiettivo finale sarà ovviamente il paziente). In questa situazione non ha senso eseguire troppe iterazioni: non aiuterà comunque il risultato finale e inoltre può produrre un falso senso di certezza.

  • Un problema correlato (sebbene non esattamente lo stesso) si verifica durante la convalida dei modelli out-of-bootstrap o incrociata: hai due fonti di incertezza: il finito (e nel mio caso di solito un numero molto piccolo di casi indipendenti) e il (in) stabilità dei modelli avviati. A seconda della configurazione della convalida del ricampionamento, è possibile che solo uno di essi contribuisca alla stima del ricampionamento. In tal caso, puoi utilizzare una stima dell'altra fonte di varianza per giudicare quale certezza dovresti ottenere con il ricampionamento e quando si interrompe per aiutare il risultato finale.

  • Infine, mentre finora i miei pensieri erano su come fare meno iterazioni, ecco una considerazione pratica a favore di fare di più :
    in pratica il mio lavoro non viene svolto dopo l'esecuzione del bootstrap. L'output del bootstrap deve essere aggregato in statistiche e / o cifre di riepilogo. I risultati devono essere interpretati nel documento o nel rapporto da scrivere. Molti di questi possono già essere fatti con i risultati preliminari di alcune iterazioni del bootstrap (se i risultati sono chiari, vengono mostrati già dopo poche iterazioni, se sono borderline rimarranno borderline). Quindi ho spesso impostato il bootstrap in un modo che mi permetta di ottenere risultati preliminari in modo da poter continuare a lavorare mentre il computer calcola. In questo modo non mi dà molto fastidio se il bootstrap richiede altri giorni.


10

TLDR. 10.000 sembra essere una buona regola empirica, ad esempio i valori di p di questi campioni bootstrap grandi o maggiori saranno entro lo 0,01 del "valore di p reale" per il metodo circa il 95% delle volte.

Considero solo l'approccio percentile del bootstrap di seguito, che è il metodo più comunemente usato (per quanto ne sappia) ma è anche vero che presenta punti deboli e non dovrebbe essere usato con piccoli campioni .

Rinnovo leggermente. Può essere utile calcolare l'incertezza associata ai risultati dal bootstrap per avere un'idea dell'incertezza risultante dall'uso del bootstrap. Si noti che ciò non risolve i possibili punti deboli del bootstrap (ad es. Vedere il link sopra), ma aiuta a valutare se ci sono "abbastanza" campioni bootstrap in una particolare applicazione. Generalmente, l'errore relativo alla dimensione del campione bootstrap n va a zero come nva all'infinito e la domanda si pone, quanto dovrebbe nessere grande per l'errore associato alla dimensione del campione bootstrap piccola essere piccola?

Incertezza Bootstrap in un valore p. L'imprecisione in un valore p stimato, ad esempio pv_est è il valore p stimato dal bootstrap, è circa 2 x sqrt(pv_est * (1 - pv_est) / N), dov'è Nil numero di campioni bootstrap. Questo è valido se pv_est * Ne (1 - pv_est) * Nsono entrambi >= 10. Se uno di questi è inferiore a 10, allora è meno preciso ma molto approssimativamente nello stesso quartiere di quella stima.

Errore di bootstrap in un intervallo di confidenza. Se si utilizza un intervallo di confidenza al 95%, osservare come la variabilità dei quantili della distribuzione bootstrap si avvicini al 2,5% e al 97,5% controllando i percentili (per il 2,5 ° percentile) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n). Questa formula comunica l'incertezza dell'estremità inferiore dell'intervallo di confidenza al 95% in base al numero di campioni bootstrap prelevati. Un'esplorazione simile dovrebbe essere fatta nella parte alta. Se questa stima è alquanto volatile, assicurati di prendere più campioni bootstrap!


n

7

599

αB

α(1+B)=numero intero

α1=0.1α2=0.05

abbiamo

B1=numero intero0.1-1,B2=numero intero0.05-1

599

Ho preso le seguenti informazioni da Davidson, R. e MacKinnon, JG (2000). Test Bootstrap: quanti bootstrap ?. Recensioni econometriche, 19 (1), 55-68. (la versione del documento di lavoro è scaricabile gratuitamente).

0.053990.011499

Bendogeno. Dopo aver simulato la loro procedura, concludono:

"È facile capire perché la procedura di pretest funziona bene. Quando l'ipotesi nulla è vera, B può tranquillamente essere piccola, perché non ci preoccupiamo affatto del potere. Allo stesso modo, quando il nulla è falso e il potere di prova è estremamente elevato, B non ha bisogno di essere grande, perché la perdita di potenza non è un problema serio. Tuttavia, quando il valore nullo è falso e la potenza di prova è moderatamente alta, B deve essere grande per evitare la perdita di potenza. La procedura di pretesting tende a rendere B piccolo quando può tranquillamente essere piccolo e grande quando deve essere grande. "

Alla fine del documento lo confrontano anche con un'altra procedura che è stata proposta per determinare B e scoprono che i loro si comportano meglio.


4

La maggior parte delle applicazioni di bootstrap che ho visto riportavano da 2000 a 100.000 iterazioni. Nella pratica moderna con un software adeguato, i problemi salienti con bootstrap sono quelli statistici, più che di tempo e capacità di calcolo. Per gli utenti alle prime armi con Excel, è possibile eseguire solo diverse centinaia prima di richiedere l'uso della programmazione avanzata di Visual Basic. Tuttavia, R è molto più semplice da usare e rende la generazione di migliaia di valori avviati in modo semplice e diretto.

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.