Ist es obligatorisch, Ihre Daten zu unterteilen, um ein Modell zu validieren?

8

Es fällt mir schwer, bei der Validierung meines Modells auf die gleiche Seite wie mein Vorgesetzter zu gelangen. Ich habe die Rückstände analysiert (anhand der angepassten Werte beobachtet) und dies als Argument verwendet, um die von meinem Modell erzielten Ergebnisse zu diskutieren. Mein Vorgesetzter besteht jedoch darauf, dass die einzige Möglichkeit zur Validierung eines Modells darin besteht, eine zufällige Teilmenge meiner Daten zu erstellen. Generieren Sie das Modell mit 70% davon und wenden Sie das Modell dann auf die verbleibenden 30% an.

Die Sache ist, meine Antwortvariable ist null aufgeblasen (85% davon, um genauer zu sein) und ich bevorzuge es, keine Teilmenge zu erstellen, da es bereits sehr schwierig ist, zu einem Ergebnis zu konvergieren.

Meine Frage lautet also: Was sind die möglichen (und wissenschaftlich akzeptablen) Möglichkeiten, ein Modell zu validieren? Ist die Teilmenge von Daten der einzige Weg? Wenn möglich, verweisen Sie Ihre Fragen mit Artikeln / Büchern, damit ich sie als Argument für die Präsentation meiner Alternativen verwenden kann.

Eric Lino
quelle
Wenn Sie das Modell basierend auf allen Daten ausgewählt haben, zählt das immer noch nicht ...
Aaron verließ Stack Overflow
Sie meinen, ich sollte mein Modell anhand einer Teilmenge meiner Daten auswählen? Wie kann ich die Verteilung meiner Daten richtig analysieren, wenn ich nicht alle verwende?
Eric Lino
Ja, genau das meine ich - wenn Sie Daten haben möchten, um Ihr Modell wirklich zu validieren, müssen diese Daten bei der Auswahl der Analyse berücksichtigt werden. Dies nennt Wikipedia die Trainings- und Validierungssätze. Wenn Sie Ihren Validierungssatz verwenden, um Hyperparameter anzupassen, benötigen Sie sogar einen dritten Satz (den Testsatz), anhand dessen Sie Ihr endgültiges Modell testen können.
Aaron verließ Stack Overflow
Nicht, dass ich dafür eintrete; In Ihrem Fall ist es vielleicht besser, traditionellere Diagnose- und Modellauswahlmethoden zu verwenden, was natürlich das ist, wonach Sie fragen (und leider habe ich nicht die Zeit, richtig zu antworten).
Aaron verließ Stack Overflow
2
Die Antwort Sie suchen ist wahrscheinlich in Abschnitt 5.3 von Frank Harrell ‚s Regression Modellierung Strategien .
Aaron verließ Stack Overflow

Antworten:

6

Zu Beginn würde ich vorschlagen, dass es normalerweise gut ist, sich vor Aussagen zu hüten, dass es nur eine gibtWeg, um etwas zu tun. Das Aufteilen einer erhaltenen Stichprobe in einen "Trainings" - und einen "Test" -Datensatz ist ein gängiger Ansatz in vielen Anwendungen des maschinellen Lernens / der Datenwissenschaft. Oft sind diese Modellierungsansätze weniger an Hypothesentests über einen zugrunde liegenden Datengenerierungsprozess interessiert, dh sie sind tendenziell etwas atheoretisch. Tatsächlich möchten diese Art von Trainings- / Testaufteilungen meistens nur sehen, ob das Modell in Bezug auf die Vorhersageleistung überangepasst ist. Natürlich ist es auch möglich, einen Trainings- / Testansatz zu verwenden, um festzustellen, ob sich ein bestimmtes Modell hinsichtlich der "signifikanten" Parameter repliziert, oder um festzustellen, ob die Parameterschätzungen in beiden Fällen innerhalb der erwarteten Bereiche liegen.

Theoretisch ist die Validierung oder Invalidierung von Modellen das, was die Wissenschaft tun soll. Unabhängige Forscher, die Hypothesen, die Argumente über eine Theorie dafür unterstützen oder widerlegen, warum oder unter welchen Umständen ein beobachtbares Phänomen auftritt, separat untersuchen, generieren und testen - das ist das wissenschaftliche Unternehmen in einer Nussschale (oder zumindest in einem zu langen Satz). Um Ihre Frage zu beantworten, validieren selbst Trainings- / Test-Splits für mich kein Modell. Dies ist das Gewicht jahrelanger Beweise, die von mehreren unabhängigen Forschern gesammelt wurden, die die gleichen Phänomene untersuchen. Ich gebe jedoch zu, dass diese Einstellung einen Unterschied in der Semantik darüber darstellt, was ich unter Modellvalidierung verstehe und was der Begriff Validierung in angewandten Einstellungen bedeutet ...

Abhängig von Ihrem Daten- und Modellierungsansatz ist es aus statistischer Sicht möglicherweise nicht immer angemessen, Ihre Stichprobe in Trainings- und Testsätze aufzuteilen. Beispielsweise kann es besonders schwierig sein, diesen Ansatz auf kleine Stichproben anzuwenden. Darüber hinaus können einige Verteilungen bestimmte Eigenschaften aufweisen, die es schwierig machen, sie selbst bei relativ großen Stichproben zu modellieren. Ihr Fall ohne Inflation entspricht wahrscheinlich dieser letzteren Beschreibung. Wenn das Ziel darin besteht, eine Annäherung an die "Wahrheit" über eine Reihe von Beziehungen oder zugrunde liegenden Prozessen zu erreichen, von denen angenommen wird, dass sie für ein Phänomen verantwortlich sind, werden Sie nicht gut bedient sein, wenn Sie wissentlich einen unterversorgten Ansatz zum Testen einer bestimmten Hypothese wählen. Vielleicht besteht der erste Schritt darin, eine Leistungsanalyse durchzuführen, um festzustellen, ob es wahrscheinlich ist, dass Sie die Feststellung des Interesses an Ihren untergeordneten Daten wiederholen.

Eine andere Möglichkeit besteht darin, mehrere Modelle anzugeben, um festzustellen, ob sie die beobachteten Daten "besser" erklären. Das Ziel hier wäre es, das beste Modell unter einer Reihe vernünftiger Alternativen zu identifizieren. Dies ist ein relatives, kein absolutes Argument, das Sie über Ihr Modell vorbringen würden. Im Wesentlichen geben Sie zu, dass es möglicherweise andere Modelle gibt, die zur Erklärung Ihrer Daten eingesetzt werden könnten, aber Ihr Modell ist das Beste aus den getesteten Alternativen (zumindest hoffen Sie dies). Alle Modelle im Set, einschließlich Ihres hypothetischen Modells, sollten theoretisch geerdet sein. Andernfalls laufen Sie Gefahr, eine Reihe statistischer Strohmänner einzurichten.

Es gibt auch Bayes-Faktoren, mit denen Sie das Gewicht der Beweise berechnen können, die Ihr Modell anhand Ihrer Daten für eine bestimmte Hypothese in Bezug auf alternative Szenarien liefert.

Dies ist alles andere als eine vollständige Liste von Optionen, aber ich hoffe, es hilft. Ich werde jetzt aus der Seifenkiste treten. Denken Sie daran, dass jedes Modell in jeder veröffentlichten Studie über menschliches Verhalten falsch ist. Es gibt fast immer relevante ausgelassene Variablen, nicht modellierte Interaktionen, unvollständig abgetastete Populationen und einfach nur alte Stichprobenfehler, die die zugrunde liegende Wahrheit verschleiern.

Matt Barstead
quelle
Ich schätze die Zeit, die Sie damit verbracht haben, eine so ausführliche Antwort zu schreiben, Matt. Ich bin jedoch der Meinung, dass es, obwohl es mir auf konzeptioneller Ebene hilft, an Referenz fehlt, dass ich diesen Ansatz dringend mit meinem Vorgesetzten besprechen muss. Hätten Sie zufällig Papiere / Bücher über die Wahrscheinlichkeit, Daten zu unterteilen? Wenn nicht möglich, würden Sie ein R-Paket empfehlen, mit dem ich diese Leistungsanalyse durchführen kann, von der Sie gesprochen haben?
Eric Lino
Für R-Pakete und Leistung hängt es von Ihrem Modell ab (pwr, simsem usw.). Es gibt keine einzige Antwort. Auch in Bezug auf die Wahrscheinlichkeit, dass Ihre Daten untergeordnet werden, denke ich, dass dies nur eine andere Möglichkeit ist, nach der Macht zu fragen, wenn ich Sie richtig verstehe. Wenn Sie sich für das Power-Bit interessieren, würde ich empfehlen, sich auf Ihren schwächsten Effekt zu konzentrieren und zu sehen, wie groß die minimale Stichprobengröße sein muss, um ihn zu replizieren - eine Art Worst-Case-Szenario.
Matt Barstead
Aha. Nun, ich verwende das von Ben Bolker & anderen entwickelte glmmadmb-Paket. Meine Antwortvariable ist null aufgeblasen (Anzahl der Personen mit einer bestimmten seltenen Krankheit) und meine unabhängigen Variablen umfassen normale, nicht normale und null aufgeblasene Verteilungen. Da es sich um eine Zeitreihe handelt, habe ich "Jahr" als Gruppierungsfaktor verwendet, und es schien mir eine gute Idee zu sein, die ZIGLMM-Modellfamilie zu erkunden. Helfen Ihnen diese Informationen, mir zu helfen?
Eric Lino
2
Vielleicht möchten Sie das simR- Paket auschecken . Meines Wissens ist es das flexibelste existierende Paket für Leistungsanalysen mit linearen und verallgemeinerten linearen Modellen. Green, P. & MacLeod, CJ (2016). SIMR: Ein R-Paket zur Leistungsanalyse verallgemeinerter linearer Modelle durch Simulation. Methoden in Ökologie und Evolution.
Matt Barstead
10

Die Aufteilung von Daten ist im Allgemeinen eine sehr wettbewerbswidrige Methode zur internen Validierung. Dies liegt an der schwerwiegenden Volatilität - einem anderen "endgültigen" Modell und einer anderen "Validierung" beim erneuten Aufteilen und daran, dass der mittlere quadratische Fehler der Schätzung (von Dingen wie dem mittleren absoluten Vorhersagefehler und ) höher ist als ein gutes Resampling-Verfahren wie der Bootstrap. Ich gehe in meinem Buch mit Regressionsmodellierungsstrategien und in den Kursnotizen ausführlich darauf ein. Resampling hat einen weiteren großen Vorteil: Es zeigt die Volatilität bei der Merkmalsauswahl.R2

Frank Harrell
quelle
Ich glaube immer noch, dass die Hauptmotivation des OP darin besteht, zu wissen, ob sein ZIP-Modell angemessen ist = Restprüfung, nicht Modell- / Merkmalsauswahl oder prädiktive Leistung, aber vielleicht kann er sich selbst klarstellen
Florian Hartig
Ja, @FlorianHartig ist richtig! Bootstrapping interessiert mich jedoch (wenn nicht für diese Studie, für das Sammeln von Wissen) und ich werde Ihre Website auf jeden Fall nach zukünftigen Referenzen durchsuchen. Vielen Dank für die Eingabe.
Eric Lino
6

Ich denke, die Antworten hier gehen auseinander, weil die Frage vor allem etwas unklar ist: Was meinst du mit "Validierung"?

Ein 70/30-Split (oder eine Kreuzvalidierung für diese Angelegenheit) wird normalerweise durchgeführt, um die Vorhersageleistung eines Modells oder einer gesamten Analysekette (möglicherweise einschließlich Modellauswahl) zu bewerten. Eine solche Validierung ist besonders wichtig, wenn Sie verschiedene Modellierungsoptionen hinsichtlich ihrer Vorhersageleistung vergleichen.

Dies ist ein ganz anderer Fall, wenn Sie keine Modelle auswählen möchten und auch nicht an der prädiktiven Leistung als solchen interessiert sind, aber an Schlussfolgerungen (Regressionsschätzungen / p-Werte) interessiert sind und überprüfen möchten, ob Ihre Modell- / Fehlerannahmen vorliegen der GLMM sind ausreichend. In diesem Fall wäre es möglich, Vorhersagen zu halten und Vorhersagen mit beobachteten Daten zu vergleichen, aber das weitaus üblichere Verfahren besteht darin, eine Restanalyse durchzuführen. Wenn Sie dies Ihrem Vorgesetzten beweisen müssen: Dies ist im Grunde das, was jedes Statistik-Lehrbuch direkt nach der linearen Regression lehrt.

Sehen Sie hier , wie eine Restanalyse für GLMMs laufen (einschließlich Null-Inflation mit glmmTMB, die ich würde es vorziehen , glmmadmb über) mit dem DHARMA - Paket (Disclaimer: Ich bin der Maintainer).

Florian Hartig
quelle
Vielen Dank für eine so klare und dennoch aufschlussreiche Antwort. Mein erster Fall war das zweite Beispiel, das Sie angegeben haben. Ich bin nicht daran interessiert, die Vorhersageleistung meines Modells zu bewerten, sondern nur die zugrunde liegenden Beziehungen zwischen meiner Antwortvariablen und meinen unabhängigen zu quantifizieren. Ich bin mir nicht sicher, ob ich genau verstanden habe, was Sie unter "Vorhersagen für das Durchhalten" verstehen. Beziehen Sie sich auf die vorhergesagten Werte, die in der Modellobjektausgabe generiert werden, nachdem Sie sie ausgeführt haben?
Eric Lino
Ich meine, dass Sie Residuen / Bias berechnen, indem Sie Vorhersagen mit Beobachtungen der Hold-out-Daten (= Validierungsdaten) vergleichen
Florian Hartig,
2

Die kurze Antwort lautet: Ja, Sie müssen die Leistung Ihres Modells anhand von Daten bewerten, die nicht im Training verwendet werden.

Moderne Modellbautechniken sind extrem gut darin, Daten beliebig gut anzupassen, und können leicht Signale im Rauschen finden. Daher ist die Leistung eines Modells in Bezug auf Trainingsdaten fast immer voreingenommen.

Es lohnt sich, sich mit dem Thema Kreuzvalidierung zu befassen (auch wenn Sie keine Hyperparameter einstellen), um besser zu verstehen, warum wir Daten speichern, wann sie funktionieren, welche Annahmen betroffen sind usw. Eine meiner Lieblingsarbeiten ist ::

Kein unvoreingenommener Schätzer der Varianz der k-fachen Kreuzvalidierung

Chris
quelle
7
Dies ist im Allgemeinen nicht korrekt. Der Bootstrap übertrifft die Datenverteilung in Bezug auf mittlere quadratische Fehler bei Größen wie . Sie benötigen Daten, die nicht im Training verwendet werden. Dies können jedoch unterschiedliche Daten für jedes Resample sein. R2
Frank Harrell
Schlagen Sie vor, gehaltene Daten zu booten?
Chris
Informieren Sie sich über den Efron-Gong-Optimismus-Bootstrap, der die Standardmethode zur Validierung des Bootstrap-Modells darstellt und die im R- rmsPaket validateund in den calibrateFunktionen implementiert ist . Mit diesem Bootstrap gibt es keine einmaligen Entscheidungen über das Halten von Daten. Wie in meinem RMS- Buch und in den Kursnotizen ausführlich beschrieben, wird das Ausmaß der Überanpassung geschätzt, indem ermittelt wird, wie stark ein in einem Bootstrap-Beispiel entwickeltes Modell auseinanderfällt, wenn es auf das (überlappende) vollständige Originalmuster angewendet wird. Der Bootstrap muss alle Modellierungsschritte für jede Iteration erneut wiederholen.
Frank Harrell
Interessant. Ich habe Ihre Notizen und Efrons Papier durchgesehen. Es scheint, als würden wir bei Modellen, die schnell passen, einige Vorteile realisieren, wenn bestimmte Versionen des Bootstraps verwendet werden.
Chris
Und das einzige , was die Bootstrap machen würde scheinen langsam zu sein (obwohl es noch schneller sein würde als Kreuzvalidierung, die 100 Wiederholungen erfordert das 10-fache Kreuzvalidierung Stabilität zu schaffen) ist es mit einzelnen Daten Splitting zu vergleichen , die liefert nur eine Illusion von Stabilität.
Frank Harrell