Grundlegendes zum Bootstrapping für die Validierung und Modellauswahl

13

Ich denke, ich verstehe, wie die Grundlagen des Bootstrapping funktionieren, bin mir aber nicht sicher, wie ich das Bootstrapping zur Modellauswahl oder zur Vermeidung von Überanpassungen einsetzen kann.

Würden Sie beispielsweise für die Modellauswahl nur das Modell auswählen, das den geringsten Fehler (möglicherweise die geringste Varianz?) In den Bootstrap-Beispielen ergibt?

Gibt es Texte, in denen erläutert wird, wie Bootstrapping für die Modellauswahl oder -validierung verwendet wird?

BEARBEITEN: Siehe diesen Thread und die Antwort von @ mark999 für mehr Kontext hinter dieser Frage.

Amelio Vazquez-Reina
quelle
@suncoolsu Wenn ich Modell A, B und C zur Auswahl habe, verwende ich normalerweise entweder Kreuzvalidierung oder Bootstrapping, um ein Modell zu wählen, wenn 1) ich an Vorhersagegenauigkeit / Rangfolge interessiert bin und 2) ich nicht genügend Daten für eine Wartezeit habe Validierungssatz. Warum wäre dies keine gute Idee (und ich weiß, dass die geschachtelte Validierung für die Auswahl von Features usw. wichtig ist)?
B_Miner
Die Antwort von @ mark999 in diesem Thread schlägt eine Bootstrap-Validierung vor, um ein Modell für den gesamten Datensatz zu lernen und gleichzeitig die Überanpassung zu bewältigen. Diese Antwort hat diese Frage in hohem Maße inspiriert, und die ursprüngliche Frage in diesem Thread sollte dieser Frage auch einen Kontext hinzufügen.
Amelio Vazquez-Reina
1
Es tut mir leid - wahrscheinlich bin ich ein Statistiker -, aber ich denke, Cross-Validation und Bootstrap sind zwei verschiedene Dinge. Kreuzvalidierung ist großartig und muss durchgeführt werden (und auch Bootstrap). Wenn Sie sich jedoch in Szenarien wie A, B oder C (nur drei Modelle) befinden, ist BIC möglicherweise die bessere Wahl. Wie ich bereits sagte, hängt die Lösung vom jeweiligen Problem ab und es können mehrere Ansätze angebracht sein.
Suncoolsu
2
AIC ergibt im Allgemeinen eine geringere Unteranpassung als BIC.
Frank Harrell

Antworten:

14

Zuerst müssen Sie sich entscheiden, ob Sie wirklich eine Modellauswahl benötigen, oder Sie müssen nur modellieren. In den meisten Situationen wird je nach Dimensionierung die Anpassung eines flexiblen Gesamtmodells bevorzugt.

Mit dem Bootstrap lässt sich die Leistung eines Modells hervorragend abschätzen. Am einfachsten abzuschätzen ist die Varianz. Der Bootstrap kann die wahrscheinliche zukünftige Leistung einer bestimmten Modellierungsprozedur anhand neuer Daten abschätzen, die noch nicht realisiert wurden.

Wenn Sie Resampling (Bootstrap oder Kreuzvalidierung) verwenden, um sowohl Modelloptimierungsparameter auszuwählen als auch das Modell zu schätzen, benötigen Sie einen doppelten Bootstrap oder eine verschachtelte Kreuzvalidierung.

Im Allgemeinen erfordert der Bootstrap weniger Modellanpassungen (häufig um die 300) als die Kreuzvalidierung (die 10-fache Kreuzvalidierung sollte aus Stabilitätsgründen 50 bis 100 Mal wiederholt werden).

Einige Simulationsstudien finden Sie unter http://biostat.mc.vanderbilt.edu/rms

Frank Harrell
quelle
2
Wow, ich wusste nicht, dass der 10-fache Lebenslauf 50-100 Mal wiederholt werden sollte! Ich muss mein letztes Projekt erneut besuchen und stattdessen einen Bootstrap-Test durchführen. Liebe diese Website: Ich lerne jeden Tag etwas!
Wayne
Vielen Dank @Frank! Angenommen, ich habe eine Reihe von Kandidatenmodellen mit der gleichen Anzahl von Parametern. Sind diejenigen mit einer geringeren Varianz in Bezug auf die Bootstrap-Schätzungen bessere Kandidaten (vorausgesetzt, der Gesamtverlust oder das Gesamtrisiko war für alle gleich) für die Bekämpfung von Überanpassungen?
Amelio Vazquez-Reina
Das würde ich nicht annehmen, aber es ist möglich.
Frank Harrell
Tolle Antwort, danke! Ich wusste nicht, dass Bootstrap auch für die Modellvalidierung verwendet werden kann UND die Kreuzvalidierung viele Male wiederholt werden muss. Ich sehe einen weiteren Vorteil dieser Methode: Für die Kreuzvalidierung muss die Anzahl der Falten (subjektiv) im Voraus bestimmt werden, normalerweise 10, was mehr oder weniger heuristisch als optimal ist. Aber obwohl dies eine großartige Methode ist, warum scheint sie nicht so beliebt zu sein wie die Kreuzvalidierung?
SiXUlm
Die Bootstrap-Modellvalidierung ist recht populär, die Kreuzvalidierung ist jedoch schon länger im Gange. Aber wie Sie sagten, gibt es eine gewisse Beliebigkeit bei der Auswahl der Falten in cv.
Frank Harrell
3

Ziehen Sie in Betracht, den Bootstrap für die Modellmittelung zu verwenden .

Das folgende Papier könnte helfen, da es einen Ansatz zur Bootstrap-Modell-Mittelwertbildung mit der (am häufigsten verwendeten?) Bayes-Modell-Mittelwertbildung vergleicht und ein Rezept zur Durchführung der Modell-Mittelwertbildung ausgibt.

Bootstrap-Modell zur Mittelwertbildung in Zeitreihenstudien zur Luftverschmutzung und Sterblichkeit von Partikeln

Josh Hemann
quelle
Ich würde den Bootstrap in den meisten Fällen nicht für die Modellmittelung empfehlen. Mit dem Bootstrap erfahren Sie am besten, wie eine Modellierungsprozedur ausgeführt wird, und nicht, wie eine neue Prozedur erstellt wird. Es gibt jedoch Ausnahmen.
Frank Harrell
@ Frank Harrell - Einverstanden. Der Artikel, auf den ich verwiesen habe, bezieht sich auf den Bereich, in dem ich manchmal arbeite, und ich habe den Bootstrap für das von Ihnen angegebene Szenario verwendet: die Bewertung der Variabilität eines bestimmten Modells aufgrund eines Stichprobenfehlers. Aber die Unsicherheit aufgrund der Modellauswahl selbst ist noch schwerer zu beurteilen und der Bootstrap - Modell Lungs Ansatz als Hilfsmittel nützlich sein könnte, vor allem für Praktiker wie ich, die Erfahrung / Hintergrund umformulieren Probleme für Bayes - Modell Lungs fehlen.
Josh Hemann
2
Nein, ich würde sagen, dass der Bootstrap hervorragend geeignet ist, um den Schaden einzuschätzen, der dadurch verursacht wird, dass man das Modell nicht im Voraus kennt. Das bedeutet nicht, dass Sie den Bootstrap unbedingt verwenden sollten, um Dinge zu verbessern, beispielsweise die Mittelung über eine Reihe unsicherer Modelle. Wenn Sie den Bootstrap auf diese Weise verwenden, benötigen Sie einen doppelten Bootstrap, um eine ehrliche Einschätzung der Leistung des gemittelten Modells zu erhalten. Ich sollte beachten, dass zufällige Gesamtstrukturen eine Form der Modellmittelung unter Verwendung des Bootstraps darstellen.
Frank Harrell
Guter Punkt zum doppelten Bootstrap. Die Autoren des Papiers, auf das ich verwiesen habe, haben ein Nachfolgepapier zu diesem Thema
Josh Hemann
Gut. Denken Sie daran, das ist oft ein Overkill. Oft ist es am besten, ein themenbezogenes Vollmodell zu erstellen und bei Überanpassung die Schrumpfung (Bestrafung) zu verwenden. aber es ist immer noch ein Modell.
Frank Harrell