Wie wird bei der Bootstrap-Validierung verfahren (auch Resampling-Cross-Validierung genannt)?

15

"Bootstrap Validation" / "Resampling Cross-Validation" ist für mich neu, wurde aber bei der Beantwortung dieser Frage besprochen . Ich nehme an, es handelt sich um zwei Arten von Daten: die realen Daten und die simulierten Daten, wobei ein bestimmter Satz von simulierten Daten durch erneutes Abtasten mit Ersetzen aus den realen Daten generiert wird, bis die simulierten Daten dieselbe Größe wie die realen Daten haben. Ich kann mir zwei Ansätze für die Verwendung solcher Datentypen vorstellen: (1) Passen Sie das Modell einmal an, werten Sie es an vielen simulierten Datensätzen mehrmals aus. (2) Passen Sie das Modell unter Verwendung vieler simulierter Datensätze mehrmals an und werten Sie es jedes Mal anhand der realen Daten aus. Welches ist das beste?

Mike Lawrence
quelle

Antworten:

20

Kurze Antwort: Bei beiden Validierungstechniken werden verschiedene Modelle trainiert und getestet.

Lange Antwort, wie es am besten geht: Das hängt natürlich davon ab. Aber hier ein paar Gedanken, die ich verwende, um meine Entscheidungen zur Validierung von Resamples zu leiten. Ich bin Chemometriker, daher hängen diese Strategien und auch die Begriffe mehr oder weniger eng mit analytisch-chemischen Problemen zusammen.

Um meine Gedanken ein wenig zu erklären, denke ich an Validierung als Messung der Modellqualität und an Training als Messung Modellparameter - dies führt zu einer recht starken Analogie zu jeder anderen Art von Messung.

In Bezug auf die Validierung gibt es zwei verschiedene Sichtweisen auf diese Ansätze:

  1. Ein traditioneller Gesichtspunkt für die Validierung von Neuabtastungen ist: Der neu abgetastete Datensatz (manchmal als Ersatzdatensatz oder Teilsatz bezeichnet) ist praktisch derselbe wie der ursprüngliche (reale) Datensatz.
    Daher ist ein "Ersatzmodell", das an den Ersatzdatensatz angepasst wird, praktisch dasselbe wie das Modell, das an den gesamten realen Datensatz angepasst wird. Einige Stichproben bleiben jedoch im Ersatzdatensatz unberücksichtigt, das Modell ist davon unabhängig. Daher nehme ich diese ausgelassenen oder nicht im Bootstrap enthaltenen Stichproben als unabhängigen Validierungssatz für das Ersatzmodell und verwende das Ergebnis als Annäherung an das Gesamtdatenmodell.
    Das Ersatzmodell ist jedoch oft nicht wirklich mit dem Gesamtdatenmodell identisch: Es wurden weniger Stichproben für das Training verwendet (selbst für das Bootstrap ist die Anzahl der verschiedenen Stichproben geringer). Solange sich die Lernkurve erhöht, ist das Ersatzmodell im Durchschnitt etwas schlechter als das Gesamtdatenmodell. Dies ist die bekannte pessimistische Tendenz bei der Validierung von Neuabtastungen (wenn Sie eine optimistische Tendenz feststellen, ist dies normalerweise ein Indikator dafür, dass der ausgelassene Testsatz nicht unabhängig vom Modell war).

  2. Der zweite Gesichtspunkt ist, dass der neu abgetastete Datensatz eine gestörte Version des gesamten Datensatzes ist. Wenn Sie untersuchen, inwiefern sich die Ersatzmodelle (oder ihre Vorhersagen für die ausgelassenen Stichproben) vom Gesamtdatenmodell unterscheiden, können Sie etwas über die Modellstabilität in Bezug auf die Trainingsdaten aussagen.
    Aus dieser Perspektive sind die Ersatzmodelle so etwas wie wiederholte Messungen. Sagen Sie, Ihre Aufgabe ist es, den Gehalt an Mineralien eines ganzen Erzzugs zu messen. Das Erz ist nicht homogen. Sie nehmen also physische Proben von verschiedenen Orten und sehen sich dann den Gesamtinhalt und seine Variation im Zug an. Wenn Sie der Meinung sind, dass Ihr Modell möglicherweise nicht stabil ist, können Sie sich auch die Gesamtleistung und die Variation der Ersatzmodelle ansehen.

n
Normalerweise nehme ich Fälle neu auf, zB ein Fall = alle Messungen eines Patienten. Das Out-of-Bag sind dann alle Patienten, bei denen in den Trainingsdaten keine Messungen auftreten. Dies ist nützlich, wenn Sie wissen, dass die Messungen eines Falls einander ähnlicher sind als die Messungen anderer Fälle (oder Sie können diese Möglichkeit zumindest nicht ausschließen).

Nicht dass die Validierung der Neuabtastung es Ihnen ermöglicht, die Leistung für unbekannte Proben zu messen . Wenn Sie zusätzlich die Leistung für unbekannte zukünftige Proben messen möchten (instrumentelle Drift!), Benötigen Sie ein Test-Set, das "in der Zukunft" gemessen wird, dh eine bestimmte Zeit, nachdem alle Trainingsproben gemessen wurden. In der analytischen Chemie wird dies benötigt, zB wenn Sie herausfinden möchten, wie oft Sie die Kalibrierung Ihres Instruments wiederholen müssen (für jede Bestimmung, täglich, wöchentlich, monatlich, ...).

Bootstrap vs. Cross Validation Terminologie :

  • Resampling mit Ersatz wird oft als Bootstrap bezeichnet.
  • Resampling ohne erneute Gegenprüfung.

Beide können eine Art Schichtung haben. In der Vergangenheit wurde die Aufteilung für die Kreuzvalidierung (zumindest in der Chemometrie) häufig nicht zufällig vorgenommen, z. B. eine dreifache Kreuzvalidierung der Form abcabc..abc (Datensatz sortiert nach dem Ergebnis) für die Kalibrierung / Regression, wenn Sie nur wenige Fälle (physische Proben) haben und sicherstellen möchten, dass Ihr gesamter Datenbereich abgedeckt ist.

Beide Techniken werden in der Regel mehrmals wiederholt / iteriert. Wiederum aus historischen Gründen und zumindest in der Chemometrie bedeutet die k-fache Kreuzvalidierung häufig das Trainieren und Testen von k-Modellen (jeweils mit dem 1 / k-ten der Daten, die nicht am Training beteiligt waren). Wenn eine solche zufällige Aufteilung wiederholt wird, wird sie als iterierte oder wiederholte Kreuzvalidierung bezeichnet.

kknnn

  • Beachten Sie, dass der Bootstrap für einige Modellanpassungstechniken nicht geeignet ist, bei denen zuerst doppelte Messungen entfernt werden.
  • Es gibt einige Varianten des Bootstraps, z. B. .632-Bootstrap und .632 + -bootstrap

kk fache Kreuzvalidierung.

cbeleites unterstützt Monica
quelle
Die lange Antwort ist nett.
Momo
(+1) großartige Perspektive. Ich bin mir ziemlich sicher, dass der Begriff Surrogat Bestand haben wird.
steffen
@steffen, danke. Ich bin auf keinen Fall der Erfinder des Begriffs. Ich glaube, ich habe mich zum ersten Mal in einem Artikel von U. Braga-Neto getroffen (möglicherweise in diesem: ncbi.nlm.nih.gov/pubmed/14960464 ), aber ich war sofort von dem Begriff überzeugt ...
cbeleites unterstützt Monica
Zu der Bemerkung in der Frage nach simulierten Daten. Der Bootstrap an sich beinhaltet keine simulierten Daten. Simulierte Daten werden verwendet, um zu beurteilen, ob die Bootstrap-Methode bei einem bestimmten Problem funktioniert. Der Bootstrap selbst ist jedoch nur eine Wiederverwendung der Daten basierend auf dem Bootstrap-Beispiel. Zufällig ausgewählte Proben mit Ersetzung aus dem Originaldatensatz. Dies beinhaltet normalerweise n Resamples, wobei n die Größe der Originalprobe ist. Monte Carlo dient dazu, die Bootstrap-Verteilung zu approximieren, indem tatsächlich Bootstrap-Beispiele auf dem Computer generiert werden.
Michael R. Chernick
3

Ich weiß nicht, was "am besten" ist (was wahrscheinlich davon abhängt, wofür Sie es verwenden), aber ich verwende die Bootstrap-Validierung, um Fehler bei neuen Daten folgendermaßen abzuschätzen (dritte Möglichkeit, wenn Sie möchten):

  1. Zeichnen Sie einen Trainingssatz von N Beobachtungen aus den Originaldaten (der Größe N) mit Ersatz.
  2. Passen Sie das Modell an die Trainingsdaten an.
  3. Bewerten Sie das Modell anhand der OOB-Proben

Was aus der Tasche ist, ist nicht immer klar definiert. Oft waren all diese Beobachtungen nicht Teil des Trainingssatzes. Strenger wäre es (ich benutze es so), nur Beobachtungen in der OOB-Stichprobe zu haben, die eine Realisierung des gesamten Prädiktorvektors haben, der nicht Teil des Trainingssatzes ist (was besonders nützlich ist, wenn Sie viele Faktoren haben). Noch strenger ist es, eine OOB-Stichprobe zu verwenden, die nur diejenigen Beobachtungen enthält, bei denen die Prädiktorvariable für die im Modell ausgewählten Prädiktoren eine andere Realisierung aufweist (besonders nützlich, wenn das Modell mit einem Variablenauswahlverfahren gefunden wird, z. B. Bäume).

Dann wiederhole ich dies in der Regel mehrmals und aggregiere die Ergebnisse über die k-Faltungen (Mittelwert oder Median oder eine beliebige Statistik). Das auf diese Weise ausgewählte Modell kann dann an den Gesamtdatensatz angepasst werden (wie in Ihrer Option 2), um zusätzlich zu messen, ob immer noch eine Tendenz zur Überanpassung besteht (das Leistungsmaß sollte nicht zu weit von den Bootstrap-Beispielen entfernt sein).

Wenn ich mehr Modelle oder ein Parameterraster oder ähnliches habe, passe ich sie allen Trainingssätzen an und bewerte sie alle auf jeder OOB-Probe. Es ist auch möglich, ein Trainingsset nicht zweimal zu verwenden, sondern für jedes Modell oder jede Kombination von Tuning-Parametern ein neues Trainings- / Trainingspaar zu zeichnen.

Siehe z. B. Design und Analyse von Benchmarking-Experimenten .

Momo
quelle