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?
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?
Risposte:
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=50
per 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.
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).
Wilcox, RR (2010). Fondamenti dei moderni metodi statistici: miglioramento sostanziale di potenza e precisione. Springer.
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.
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 n
va all'infinito e la domanda si pone, quanto dovrebbe n
essere 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'è N
il numero di campioni bootstrap. Questo è valido se pv_est * N
e (1 - pv_est) * N
sono 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!
abbiamo
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).
endogeno. 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 e scoprono che i loro si comportano meglio.
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.