Überfordert von zu vielen Variablen beim Predictive Modeling?Bei Regressionsproblemen stehen wir häufig vor der Auswahl eines Satzes von Prädiktorvariablen aus einem sehr großen Satz von möglichen Prädiktoren. Beim Erstellen unseres Modells möchten wir einen aussagekräftigen Satz von Prädiktoren finden, der genaue Vorhersagen liefert. Klassische Methoden wie Forward Selection und All-Subsets-Regression erfüllen dieses Ziel nicht immer.
Least Angle Regression (LARS) und bestrafte Regressionsmethoden wie der LASSO (Least Absolute Shrinkage & Selection Operator) und Elastic Net sind neuere, vielversprechendere Ansätze für die Variablenauswahl. Die R-Pakete "lars" und "elasticnet" bieten Werkzeuge für die Anpassung einiger dieser neueren Techniken. Die in den Paketen enthaltene Dokumentation ist ein guter Ausgangspunkt, um mehr über die Methoden selbst zu erfahren. Verwenden der neuen R-Integrationsfunktion in JMP 9 Um diese Pakete aufzurufen, können wir die Ergebnisse präsentieren und Diagramme erstellen JMP . Besuche die Add-In für bestrafte Regression (kostenloser SAS-Login für Zugriff und Download erforderlich).
Wenn Sie das Add-In für die Bestrafung von Minderjährigen installieren, erhalten Sie drei verschiedene Tools zum Anpassen dieser Modelle. Sie werden unter der Überschrift „R Add-Ins“ angezeigt. Bei „LASSO mit Kreuzvalidierung“ wird die LASSO-Abstimmungsparameter mithilfe der Kreuzvalidierung ausgewählt. Sie können sehen, wie sich die Parameterschätzungen ändern, wenn Sie die Abstimmungsparameter anpassen. Mit dem Tool „Vergleich der Methoden der bestrafen Regression“ können wir die Lösungen von LASSO, LARS und Forward Stagewise miteinander vergleichen. Die Ergebnisse dieser drei Methoden sind manchmal nahezu identisch. Nicht zuletzt zeichnet das „Elastic Net mit Kreuzvalidierung“ die Elastic Net-Lösung auf und verwendet die Kreuzvalidierung, um die beste Kombination von Optimierungsparametern auszuwählen. Das elastische Netz ist schwierig, weil es zwei Abstimmparameter hat, aber ich fand es sehr hilfreich, die Änderung der Lösung in Abhängigkeit von den Abstimmparametern beobachten zu können.
Betrachten wir nun ein Beispiel für die Verwendung der LASSO mit Kreuzvalidierung. Wenn Sie den Diabetes-Datensatz verwenden, der im Paket „lars“ enthalten ist, erhalten Sie die Ergebnisse in der Abbildung unten. Mit diesen Daten versuchen wir, das Fortschreiten von Diabetes anhand des Alters, des Geschlechts, des Body-Mass-Index, des Blutdrucks und mehrerer Blutserummessungen zu modellieren.

Die Grafik sieht etwas seltsam aus, enthält aber viele Informationen. Es zeigt uns, wie sich die Parameterschätzungen als Funktion des Abstimmparameters ändern. Wenn Sie den Schieberegler verschieben, um den Tuning-Parameter zu erhöhen, wird der Parameterschätzungsbericht auf der rechten Seite aktualisiert, sodass wir sehen können, wann jede Variable in das Modell eintritt.
Der Body-Mass-Index ist die erste Variable, die in das Modell eingegeben wird. Wir stellen auch fest, dass das Alter die letzte Variable ist, die eintritt, was darauf hindeutet, dass das Alter möglicherweise keine wichtige Rolle beim Fortschreiten von Diabetes spielt. Mit dem Add-In können wir die Ergebnisse der Kreuzvalidierung betrachten, die uns bei der Wahl des Optimierungsparameters helfen können. Sobald wir mit dem Tuning-Parameter zufrieden sind, können wir die vorhergesagten Werte in unserer Datentabelle speichern.
Clay Barker schrieb: Benjamin und Anders: Es tut mir leid, dass Sie ... Clay Barker schrieb:
Benjamin und Anders: Es tut mir leid, dass Sie Probleme haben. Leider ist das Problem schwer zu lokalisieren. Da das Add-In R aufruft, könnte das Problem bei der R-Installation, den aufgerufenen R-Paketen oder dem Add-In liegen. Hier einige Vorschläge, die Ihnen helfen können:
1. Stellen Sie sicher, dass in Ihrem Datensatz keine Werte fehlen. Da das Add-In keine voll funktionsfähige Plattform sein soll, konnte ich fehlende Werte nicht unterstützen. Geben Sie also alle fehlenden Werte an, bevor Sie das Add-In aufrufen.
2 Aus denselben Gründen wie bei # 1 ignoriert das Add-In den Zeilenstatus (wie ausgeschlossene Zeilen).
3. Das Add-In ist nur für die Verwendung der kleinsten Quadrate vorgesehen. Wenn Sie an einer ähnlichen Herangehensweise an die logistische Regression interessiert sind, könnte eine ähnliche Schnittstelle zu R erstellt werden, um das Paket glmnet aufzurufen, um bestrafte generalisierte lineare Modelle anzupassen.
Gibt es andere JMP-Benutzer, die Vorschläge haben?
Anders schrieb: Ich habe das gleiche Problem wie Benjamin. Fast... Anders schrieb:
Ich habe das gleiche Problem wie Benjamin. Fast warf mein Computer aus dem Fenster. Dieses Add-In funktioniert nicht für mich. Zu allem Überfluss gibt es keine verdammte Dokumentation, wie man dieses Add-In zum Laufen bringt! Sehr frustriert, weil ich eine logistische Regression durchführen muss und eine große Anzahl von Variablen habe und Stepwise vermeiden möchte.
Gabriel Andraos hat geschrieben: Lieber Ton. Danke für diesen klaren P ... Gabriel Andraos schrieb:
Lieber Ton. Danke für diese klare Präsentation. Wie sind diese Techniken besser als die Verwendung der Partitionsplattform in JMP 9.0, um die am meisten prädiktiven Variablen auszuwählen?
Beste,
Clay Barker hat geschrieben: Hallo Gabriel, das ist eine sehr gute Aufgabe ... Clay Barker schrieb:
Hallo Gabriel, das ist eine sehr gute Frage. Im Allgemeinen können wir nicht wirklich sagen, welche Technik für einen bestimmten Datensatz besser ist. Es lohnt sich also, beide Techniken auszuprobieren und die Ergebnisse zu vergleichen. Ein potenzieller Vorteil bei der Verwendung von etwas wie LARS oder LASSO zur Erstellung Ihres Vorhersagemodells besteht darin, dass das resultierende lineare Modell oft einfacher zu interpretieren ist.
Benjamin schrieb: Clay, Danke, dass du das geschaffen hast. Ich habe inst ... Benjamin schrieb:
Lehm,
Vielen Dank, dass Sie das erstellt haben. Ich habe R und die erforderlichen Pakete (lars und elasticnet) installiert und festgestellt, dass R den Befehl lars erkennt. Ich sehe auch Ihr Add-In in JMP 9.0.0 und das entsprechende Dialogfeld wird angezeigt. Nachdem Sie jedoch Daten ausgewählt und ausgeführt haben, passiert nichts - der Dialog wird einfach geschlossen, und ich habe überprüft, dass die CPU nicht in der Lage ist. Ich habe mit und ohne R bereits geöffnet und nach dem Neustart von JMP versucht. Irgendwelche Vorschläge?
Vielen Dank!
Benjamin