Faustregel für die Anzahl der Bootstrap-Beispiele

40

Ich frage mich, ob jemand allgemeine Faustregeln in Bezug auf die Anzahl der zu verwendenden Bootstrap-Beispiele kennt, basierend auf den Merkmalen der Daten (Anzahl der Beobachtungen usw.) und / oder den enthaltenen Variablen.

hoyem
quelle
2
Ich war auch neugierig, da ich eine Simulationsanalyse plane. Gibt es einen Grund, nicht so viele Proben zu nehmen, wie machbar / praktikabel sind? Abgesehen von Umweltbedenken (z. B. Stromverbrauch) und persönlichen Bedenken (z. B. Überschreiten kritischer Schwellenwerte für nachhaltige Nerdiness, Übergang in reine Geekdom ) sehe ich in den bisherigen Antworten keine Kontraindikationen (+ 1 rund um BTW). .
Nick Stauner
4
@Nick Ich stimme weitgehend zu - ich verwende im Allgemeinen so viele, wie ich mir leisten kann, um zu warten (in der Regel mit einer Million, wenn auch nicht immer), aber in der Regel betrachte ich 1000 als ziemlich klare Untergrenze. Als ersten Versuch mache ich oft 1K, um Timing-Informationen zu erhalten, und finde dann heraus, wie viele Vielfache davon ich bereit bin, auf die eigentliche Antwort zu warten.
Glen_b
1
Wenn der zeitaufwändige Teil des Prozesses darin besteht, Simulationen zu generieren, und die Beobachtungen aus diesen einfach aggregiert werden können (wie dies oft mit ein wenig zusätzlicher Codierung möglich ist), gibt es anscheinend kaum eine Entschuldigung, sich nicht auf die Seite der Übererfüllung zu begeben. Ich denke, es könnte mit der Zeit ausufern, wenn die Leute das alles taten und vergaßen, warum, aber da das wahrscheinlich nie der Fall sein wird ... Eine minimale Schwelle zu haben, die die Leute unnötigerweise anstreben, erscheint ein bisschen kontraproduktiv, wenn die Alternative ... nur mehr anstreben, bis es wirklich keinen Zweifel mehr gibt - wird dadurch implizit entmutigt.
Nick Stauner
Ich starte gerade, bis ich eine klare Konvergenz sehe. Wenn Sie die Bedenken der Rezensenten lindern möchten, füge ich lediglich eine Visualisierung der Bootstrap-Iterationen und der resultierenden Schätzung hinzu, um die Konvergenz zu veranschaulichen.
RTbecard
North et al. 2002 enthält einige Richtlinien, die ich als hilfreich empfunden habe. DOI: 10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

Antworten:

33

Ich habe die Erfahrung gemacht, dass Statistiker Simulationen oder Bootstraps nur dann ernst nehmen, wenn die Anzahl der Iterationen 1.000 überschreitet. MC Fehler ist ein großes Problem, das ein wenig unterschätzt wird. Zum Beispiel dieses Papier verwendete Niter=50LASSO als Feature - Auswahl - Werkzeug zu demonstrieren. Meine Arbeit hätte viel weniger Zeit in Anspruch genommen, wenn 50 Iterationen als akzeptabel erachtet worden wären! Ich empfehle, dass Sie immer das Histogramm der Bootstrap-Beispiele überprüfen . Ihre Verteilung sollte ziemlich regelmäßig erscheinen. Ich denke nicht, dass eine einfache numerische Regel ausreicht, und es wäre übertrieben, wenn Sie beispielsweise einen Doppel-Bootstrap durchführen würden, um den MC-Fehler zu bewerten.

Angenommen, Sie haben den Mittelwert aus einem Verhältnis von zwei unabhängigen normalen Standard-Zufallsvariablen geschätzt. Einige Statistiker empfehlen möglicherweise das Bootstrapping, da das Integral schwer zu berechnen ist. Wenn Sie die grundlegende Wahrscheinlichkeitstheorie kennen, werden Sie erkennen, dass dieses Verhältnis eine Cauchy-Zufallsvariable mit einem nicht existierenden Mittelwert bildet. Jede andere leptokurtische Verteilung würde mehrere zusätzliche Bootstrap-Iterationen im Vergleich zu einer reguläreren Gaußschen Dichte erfordern. In diesem Fall reichen 1000, 100000 oder 10000000 Bootstrap-Beispiele nicht aus, um abzuschätzen, welche nicht vorhanden sind. Das Histogramm dieser Bootstraps würde weiterhin unregelmäßig und falsch aussehen.

Es gibt noch ein paar Falten in dieser Geschichte. Insbesondere ist der Bootstrap nur dann wirklich gerechtfertigt, wenn die Momente des datenerzeugenden Wahrscheinlichkeitsmodells vorliegen. Das liegt daran, dass Sie die empirische Verteilungsfunktion als Strohmann für das tatsächliche Wahrscheinlichkeitsmodell verwenden und davon ausgehen, dass sie denselben Mittelwert, dieselbe Standardabweichung, dieselbe Schiefe, dasselbe 99. Perzentil usw. haben.

Kurz gesagt, eine Bootstrap-Schätzung einer Statistik und ihres Standardfehlers ist nur dann gerechtfertigt, wenn das Histogramm der bootstrap-Samples zweifelsfrei regelmäßig erscheint und wenn der Bootstrap gerechtfertigt ist.

AdamO
quelle
3
Ich habe auch immer große Bootstrap-Beispiele gesehen. In "Eine Einführung in den Bootstrap" (1994) von Efron und Tibshirani wird jedoch berichtet, dass Sie mit B = 25 eine annehmbare Schätzung erhalten können, und mit B = 200 nähern Sie sich einem ähnlichen Variationskoeffizienten wie Unendlich. Sie bieten eine Tabelle der Variationskoeffizienten für verschiedene B (S. 52-53, beide Seiten sind in Google Books verfügbar).
Jeramy Townsley
18

bearbeiten:

Wenn Sie es ernst meinen mit genügend Samples, sollten Sie Ihre Bootstrap-Prozedur mit, was Sie hoffen, genügend Samples mehrmals ausführen und sehen, wie viel die Bootstrap-Schätzungen "herumspringen". Wenn die wiederholten Schätzungen nicht sehr unterschiedlich sind (wobei "viel" von Ihrer spezifischen Situation abhängt), ist es sehr wahrscheinlich, dass es Ihnen gut geht. Natürlich können Sie abschätzen, um wie viel die wiederholten Schätzungen herumspringen, indem Sie die Beispiel-SD oder ähnliches berechnen.

Wenn Sie eine Referenz und eine Faustregel wünschen, schreibt Wilcox (2010) "599 wird für den allgemeinen Gebrauch empfohlen." Dies sollte jedoch nur als Richtlinie oder als Mindestanzahl von Proben angesehen werden, die Sie berücksichtigen sollten. Wenn Sie auf der sicheren Seite sein wollen, gibt es keinen Grund (wenn es rechnerisch machbar ist), warum Sie keine Größenordnung mehr Samples generieren sollten.

Persönlich gesehen neige ich dazu, 10.000 Stichproben zu erstellen, wenn ich "für mich" schätze, und 100.000 Stichproben, wenn ich etwas schätze, das an andere weitergegeben wird (aber das geht schnell, da ich mit kleinen Datensätzen arbeite).

Referenz

Wilcox, RR (2010). Grundlagen moderner statistischer Methoden: Wesentliche Verbesserung von Leistung und Genauigkeit. Springer.

Rasmus Bååth
quelle
17
599? Fünfhundertneunundneunzig? Was in aller Welt könnte ein Argument für diese Zahl sein?
Amöbe sagt Reinstate Monica
Frag Wilcox (2010), ich schätze ... ich bin auch neugierig; Vielleicht würde Rasmus uns mit etwas mehr Kontext um das Zitat schmücken?
Nick Stauner
unklar für mich, wo 599 auch herkommt ... fügte jedoch einige bessere Ratschläge zur Antwort hinzu ...
Rasmus Bååth
8
@amoeba Sie können die "Passage" selbst lesen . Dies ist ein Beispiel für außerordentlich unklar Schreiben in der Statistik, insbesondere nur an Inferenz angewandt auf die mittlere mit Windsorized Standard getrimmt Fehlerschätzungen.
AdamO
11

Es gibt Situationen, in denen Sie entweder vorher oder nach einigen Iterationen feststellen können, dass eine große Anzahl von Bootstrap-Iterationen am Ende nicht hilft.

  • Sie haben hoffentlich im Voraus eine Vorstellung von der Größenordnung der Genauigkeit, die für eine aussagekräftige Interpretation der Ergebnisse erforderlich ist. Wenn Sie dies nicht tun, ist es vielleicht an der Zeit, mehr über das Problem hinter der Datenanalyse zu erfahren. Auf jeden Fall können Sie nach einigen Iterationen abschätzen, wie viele weitere Iterationen erforderlich sind.

  • Wenn Sie extrem wenige Fälle haben (sagen wir, die Ethikkommission hat 5 Ratten zugelassen), müssen Sie offensichtlich nicht über Zehntausende von Iterationen nachdenken. Vielleicht ist es besser, sich alle möglichen Draws anzuschauen. Und vielleicht wäre es sogar besser, anzuhalten und darüber nachzudenken, wie sicher eine Schlussfolgerung auf 5 Ratten basieren kann (nicht).

  • Denken Sie an die völlige Unsicherheit der Ergebnisse. In meinem Bereich ist der Teil der Unsicherheit, den Sie durch Bootstrapping messen und reduzieren können, möglicherweise nur ein kleiner Teil der Gesamtunsicherheit (z. B. aufgrund von Einschränkungen bei der Versuchsplanung werden wichtige Variationsquellen häufig nicht durch den Versuch abgedeckt - sagen wir Wir beginnen mit Experimenten an Zelllinien, obwohl das Endziel natürlich die Patienten sein werden. In dieser Situation macht es keinen Sinn, zu viele Iterationen durchzuführen - es hilft dem Endergebnis sowieso nicht und es kann außerdem ein falsches Gefühl der Gewissheit hervorrufen.

  • Ein verwandtes (wenn auch nicht genau gleiches) Problem tritt bei der Out-of-Boot-Strap- oder Kreuzvalidierung von Modellen auf: Sie haben zwei Unsicherheitsquellen: die endliche (und in meinem Fall normalerweise sehr geringe Anzahl unabhängiger Fälle) und die (in). Stabilität der Bootstrapped-Modelle. Abhängig von Ihrer Einrichtung der Resampling-Validierung kann möglicherweise nur einer zur Resampling-Schätzung beitragen. In diesem Fall können Sie eine Schätzung der anderen Varianzquelle verwenden, um zu beurteilen, welche Sicherheit Sie mit dem Resampling erreichen sollten und wann es anhält, um das Endergebnis zu verbessern.

  • Während ich bisher darüber nachdachte, wie ich weniger Iterationen machen könnte, ist hier ein praktischer Gesichtspunkt, um mehr zu tun :
    In der Praxis wird meine Arbeit nicht erledigt, nachdem der Bootstrap ausgeführt wurde. Die Ausgabe des Bootstraps muss in zusammenfassenden Statistiken und / oder Zahlen zusammengefasst werden. Die Ergebnisse müssen auf dem zu schreibenden Papier oder Bericht interpretiert werden. Viele davon können bereits mit vorläufigen Ergebnissen einiger Iterationen des Bootstraps durchgeführt werden (wenn die Ergebnisse klar sind, zeigen sie bereits nach wenigen Iterationen, wenn sie grenzwertig sind, bleiben sie grenzwertig). Daher habe ich das Bootstrapping oft so eingerichtet, dass ich vorläufige Ergebnisse abrufen kann, damit ich weiterarbeiten kann, während der Computer rechnet. Auf diese Weise stört es mich nicht, wenn das Bootstrapping noch einige Tage dauert.

cbeleites unterstützt Monica
quelle
10

TLDR. 10.000 scheint eine gute Faustregel zu sein, z. B. liegen p-Werte von diesem großen oder größeren Teil der Bootstrap-Samples in etwa 95% der Fälle innerhalb von 0,01 des "wahren p-Werts" für die Methode.

Ich betrachte im Folgenden nur den Perzentil-Bootstrap-Ansatz, der meines Wissens die am häufigsten verwendete Methode ist, allerdings auch Schwächen aufweist und nicht mit kleinen Stichproben verwendet werden sollte .

Leicht erfrischend. Es kann nützlich sein, die mit den Ergebnissen des Bootstraps verbundene Unsicherheit zu berechnen, um ein Gefühl für die Unsicherheit zu bekommen, die sich aus der Verwendung des Bootstraps ergibt. Beachten Sie, dass dies keine möglichen Schwachstellen im Bootstrap behebt (siehe z. B. den obigen Link), aber es hilft zu bewerten, ob in einer bestimmten Anwendung "genug" Bootstrap-Beispiele vorhanden sind. Im Allgemeinen geht der Fehler in Bezug auf die Bootstrap-Stichprobengröße n auf null und nauf unendlich und die Frage lautet, wie groß der Fehler in Bezug auf die nkleine Bootstrap-Stichprobengröße sein sollte.

Bootstrap-Unsicherheit in einem p-Wert. Die Ungenauigkeit in einem geschätzten p-Wert, zum Beispiel pv_est ist der vom Bootstrap geschätzte p-Wert, ist ungefähr 2 x sqrt(pv_est * (1 - pv_est) / N), wobei Ndie Anzahl der Bootstrap-Samples ist. Dies gilt, wenn pv_est * Nund (1 - pv_est) * Nbeides sind >= 10. Wenn eine davon kleiner als 10 ist, ist sie weniger genau, aber ungefähr in der gleichen Nachbarschaft wie diese Schätzung.

Bootstrap-Fehler in einem Konfidenzintervall. Wenn Sie ein 95% -Konfidenzintervall verwenden, prüfen Sie, wie unterschiedlich die Quantile der Bootstrap-Verteilung in der Nähe von 2,5% und 97,5% sind, indem Sie die Perzentile bei (für das 2,5-ste Perzentil) überprüfen 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n). Diese Formel gibt die Unsicherheit des unteren Endes des 95% -Konfidenzintervalls basierend auf der Anzahl der entnommenen Bootstrap-Stichproben an. Eine ähnliche Untersuchung sollte am oberen Ende durchgeführt werden. Wenn diese Schätzung etwas flüchtig ist, sollten Sie weitere Bootstrap-Beispiele entnehmen!

OpenIntro
quelle
n
7

599

αB

α(1+B)=integer

α1=0.1α2=0.05

Wir haben

B1=integer0.11,B2=integer0.051

599

Ich habe die folgenden Informationen von Davidson, R. & MacKinnon, JG (2000) genommen. Bootstrap-Tests: Wie viele Bootstraps? Econometric Reviews, 19 (1), 55-68. (Die Arbeitspapierversion kann kostenlos heruntergeladen werden).

0.053990.011499

B

"Es ist leicht zu verstehen, warum das Vortestverfahren gut funktioniert. Wenn die Nullhypothese wahr ist, kann B sicher klein sein, weil wir uns überhaupt nicht um die Leistung kümmern. Ebenso, wenn die Null falsch ist und die Testleistung extrem hoch ist, B muss nicht groß sein, da der Leistungsverlust kein ernstes Problem darstellt. Wenn jedoch die Null falsch ist und die Testleistung mäßig hoch ist, muss B groß sein, um einen Leistungsverlust zu vermeiden B klein, wenn es sicher klein sein kann und groß, wenn es groß sein muss. "

B

Alecos Papadopoulos
quelle
4

Die meisten Bootstrapping-Anwendungen, die ich gesehen habe, meldeten etwa 2.000 bis 100.000 Iterationen. In der modernen Praxis mit adäquater Software sind die wichtigsten Probleme mit Bootstrap die statistischen, mehr als Zeit und Rechenkapazität. Für Anfänger mit Excel konnten nur einige Hundert ausgeführt werden, bevor erweiterte Visual Basic-Programmierung erforderlich war. R ist jedoch viel einfacher zu verwenden und macht die Generierung von Tausenden von Bootstrap-Werten einfach und unkompliziert.

Germaniawerks
quelle