Neuanpassung einer Lasso-Regression bei EinzelstrafeSzenario: Ich verwende Validierungsdaten, um meine Lasso-Strafe abzustimmen, und möchte sie nun unter Angabe dieses optimierten Strafterms erneut auf alle meine Daten (Training + Validierung) anpassen.
Ich sehe keine Möglichkeit, dies innerhalb der verallgemeinerten Regressionsplattform zu tun. Was wird hier empfohlen?
Prädiktive Modellierung und maschinelles LernenBetreff: Nachrüsten einer Lasso-Regression bei EinzelstrafeLass mich es nochmal versuchen. Lasso/Ridge/Elastic Net sind bestrafte Regressionsmethoden, die ein lineares Modell an Daten anpassen, indem sie die Summe der quadrierten Residuen plus einen Strafterm minimieren, der proportional zu einer Funktion der Größen der Regressionskoeffizienten ist. Das Verhalten in JMP besteht darin, eine Reihe von Modellen anzupassen, bei denen die Gewichtung des Strafterms über ein Raster variiert und die optimale Strafe anhand ausgewählter Kriterien ausgewählt wird.
Meine Frage lautet: Wenn ich weiß, welches Strafgewicht ich verwenden möchte, gibt es eine Möglichkeit, neue Daten direkt an dieses Strafgewicht anzupassen? Dies kann nützlich sein, wenn ich einen größeren Datensatz mit einer zuvor ermittelten Strafe anpassen möchte und nicht daran interessiert bin, diese Strafgewichtung erneut zu optimieren. Man sieht, dass dies möglich wäre, indem man die Anzahl der Rasterpunkte auf 1 setzt und einen „minimalen Strafanteil“ basierend auf dem gewünschten Strafgewicht angibt, aber das funktioniert nicht (eine Rastergröße von 1 wird nicht akzeptiert) und wie das geht Die Umwandlung der Lambda-Strafe in „Mindeststrafenanteil“ geht aus der Dokumentation nicht klar hervor.
Betreff: Nachrüsten einer Lasso-Regression bei EinzelstrafeIm Wesentlichen hört es sich so an, als ob Sie Beobachtungen mit dem von Ihnen gewählten Modell bewerten möchten. Wenn Sie die Vorhersageformel wie in DS erwähnt speichern, werden Ihnen die Vorhersagen für alle Beobachtungen angezeigt, sowohl für Trainings- als auch für Validierungssätze. Wenn Sie daran interessiert sind, NEUE Beobachtungen zu erzielen, sollten Sie Ihre Vorhersageformel im Formeldepot veröffentlichen. Wenn Sie dann Ihre neue Datentabelle öffnen, können Sie das Formelskript für die neue Tabelle ausführen. Damit werden alle neuen Beobachtungen bewertet.
Alternativ können Sie die Vorhersageformel aus Ihrer Datentabelle ausschneiden und in eine neue Formelspalte in der neuen Tabelle einfügen.
Betreff: Nachrüsten einer Lasso-Regression bei EinzelstrafeDas Szenario, das mich interessiert, ist, dass ich eine feste Datenpartition (Validierungsspalte) verwende und eine bestrafte Regression ausgeführt habe (unabhängig von Lasso, Ridge oder elastischem Netz). Diese geben mir einen Lösungspfad und ein optimiertes Modell basierend auf der skalierten Log-Likelihood der Validierungsdaten. Der zurückgegebene Optimierungsparameter könnte verwendet werden, um ein aktualisiertes Modell mithilfe zusätzlicher Trainingsdaten (schnell) an einen vorab festgelegten Wert des Optimierungsparameters anzupassen. Gibt es eine Möglichkeit, Lasso (oder Grat oder elastisches Netz) auszuführen, ohne einen gesamten Lösungspfad zu generieren?
Betreff: Nachrüsten einer Lasso-Regression bei EinzelstrafeHallo @Mittman ,
Obwohl ich nicht sicher bin, was der tatsächlich zugrunde liegende Algorithmus ist, gibt es nur sehr begrenzte Optimierungen an der Lasso-Modellierung durch L1-Bestrafung. Es ist ziemlich gut darin, unwichtige Faktoren zu verkleinern, aber es ist nicht so toll, wenn es eine Multikollinearität zwischen Faktoren und Reaktion gibt. Beachten Sie Folgendes: Wenn Sie eine Kreuzvalidierung (unter Verwendung der Validierungsspalte) verwenden, verwendet der Algorithmus diese, um dann mit der Minimierung der Schätzungen für die Faktoren zu beginnen. Dies hilft dem Algorithmus, unwichtige Faktoren auf 0 zu setzen und vereinfacht das Modell. Wenn Sie es erneut ausführen (selbst wenn Sie denselben Rasterabstand/Abstandstyp und denselben Strafbruch verwenden), erhalten Sie am Ende ein anderes Modell, da zur Vereinfachung des Modells eine andere Validierungsmethode verwendet wird. Wenn Sie Modelle vergleichen möchten, die Ihrer Validierungsspalte entsprechen, mit denen, die AICc oder K-fold verwenden, können Sie bei jedem von Ihnen generierten Modell auf die rote Schaltfläche neben der Anpassung klicken und „Spalten speichern“ > „Vorhersageformel speichern“ auswählen. Anschließend können Sie vergleichen, wie gut verschiedene Modelle zur Antwort passen, z. B. auf der Plattform „Modellvergleich“.
Einige andere Gedanken:
1. Sie könnten die Verwendung des Elastic Net in Betracht ziehen, da es sowohl L1- (Lasso) als auch L2- (Ridge) bestrafte Methoden kombiniert. Irgendwie das Beste aus beiden Welten.
2. Möglicherweise möchten Sie einige Bootstrap- oder Simulationen für die Schätzungen der Faktoren durchführen, um deren Ausmaß zu bestimmen und festzustellen, ob sie wirklich wichtig sind oder nicht. Vergleichen Sie unbedingt die Größe mit dem Standardfehler der Schätzung, um festzustellen, ob der Fehler größer als die Schätzung selbst ist.
3. Wenn Sie an der Erstellung von Modellen arbeiten, ist es eine gute Idee, andere Modellierungsplattformen in JMP durchzugehen, um herauszufinden, welches Modell besser passt. Es könnte sein, dass ein KNN-, SVM- oder NN-Modell die anderen Modelle hinsichtlich der Vorhersagefähigkeit tatsächlich übertrifft. Schauen Sie sich unbedingt einige der anderen Modellierungsplattformen wie SLS, GenLinReg usw. an. Man weiß nie, welches Modell am Ende die anderen übertreffen wird.
4. Wenn Sie eine Validierungsspalte für die Kreuzvalidierung verwenden, sollten Sie überlegen, wie Sie die Daten in Training und Validierung aufteilen, da sich dies auf die Modellleistung auswirken kann.
5. Wenn Ihre Daten von einem DOE stammen und Sie die GenReg-Plattform verwenden, ist es als Faustregel am besten, sich auf die ersten fünf Schätzmethoden der GenReg-Plattform zu beschränken.
Hoffe das hilft!,
DS