Dies ist bereits eine ziemlich alte Frage, aber ich bin der Meinung, dass die meisten Antworten in der Zwischenzeit ziemlich veraltet sind (und die, die als die richtige Antwort überprüft wurde, ist einfach falsch, imho).
Erstens ist es im Hinblick auf eine gute Prognoseleistung nicht allgemein gültig, dass LASSO immer besser als schrittweise ist. Das Papier "Erweiterte Vergleiche der besten Teilmengenauswahl, schrittweisen Vorwärtsauswahl und des Lassos" von Hastie et al. (2017) bietet einen umfassenden Vergleich von schrittweisen Vorwärts-, LASSO- und einigen LASSO-Varianten wie dem entspannten LASSO sowie der besten Teilmenge und diesen zeigen, dass schrittweise manchmal besser ist als LASSO. Eine Variante von LASSO - Relaxed LASSO - war jedoch diejenige, die unter den verschiedensten Umständen die höchste Modellvorhersagegenauigkeit erzielte. Die Entscheidung, welche Variable die beste ist, hängt jedoch stark davon ab, was Sie für die beste halten, z.
Es gibt jedoch einen ganzen Zoo spärlicher Lernmethoden, von denen die meisten besser sind als LASSO. Zum Beispiel gibt es Meinhausens entspannte LASSO , adaptive LASSO- und SCAD- und MCP-bestrafte Regression, wie im ncvreg
Paket implementiert , die alle weniger voreingenommen sind als Standard-LASSO und daher bevorzugt werden. Wenn Sie außerdem an der absolut dünnsten Lösung mit der besten Vorhersage-Performance interessiert sind, wird die Regression mit L0 bestraft (auch als beste Teilmenge bezeichnet, dh basierend auf der Bestrafung des nr von Koeffizienten ungleich Null im Gegensatz zur Summe des Absolutwerts der Koeffizienten in LASSO). ist besser als LASSO, siehe z. B. das l0ara
Paket, das mit einem iterativen adaptiven Ridge-Verfahren bestrafte L0-GLMs approximiert, und das im Gegensatz zu LASSO auch sehr gut mit hochkollinearen Variablen funktioniert, und das L0Learn
Paket Koordinatenabstieg anpassen kann , möglicherweise in Kombination mit einer L2-Strafe, um die Kollinearität zu regulieren., die mit L0 bestraften Regressionsmodellen passen
Kommen wir also zu Ihrer ursprünglichen Frage zurück: Warum nicht LASSO für die Variablenauswahl verwenden? :
(1) weil die Koeffizienten stark verzerrt sind, was bei einer entspannten, bestraften LASSO-, MCP- und SCAD-Regression verbessert und bei einer bestraften L0-Regression (die eine vollständige Orakeleigenschaft aufweist, dh, sie kann sowohl die kausalen Variablen als auch die Wiederholung herausfinden unverzerrte Koeffizienten, auch für p> n Fälle)
(2) weil es dazu neigt, viel mehr falsch-positive Ergebnisse zu produzieren als die bestrafte L0-Regression (in meinen Tests ist dies l0ara
die beste Leistung, dh iterativer adaptiver Kamm, gefolgt vonL0Learn
)
(3) weil es nicht gut mit kollinearen Variablen umgehen kann (es würde im Wesentlichen nur zufällig eine der kollinearen Variablen auswählen) - iterativer adapativer Kamm / l0ara
und die L0L2-Strafen L0Learn
sind viel besser darin, damit umzugehen.
Natürlich müssen Sie im Allgemeinen immer noch die Kreuzvalidierung verwenden, um Ihre Regularisierungsparameter zu optimieren, um eine optimale Vorhersageleistung zu erzielen, aber das ist kein Problem. Sie können sogar hochdimensionale Inferenzen für Ihre Parameter durchführen und 95% -Konfidenzintervalle für Ihre Koeffizienten berechnen, wenn Sie dies über nichtparametrisches Bootstrapping möchten (auch unter Berücksichtigung der Unsicherheit bei der Auswahl der optimalen Regularisierung, wenn Sie Ihre Kreuzvalidierung auch für jeden Bootstrap-Datensatz durchführen) , obwohl das dann ziemlich langsam wird).
Rechnerisch ist LASSO übrigens nicht langsamer als schrittweise Ansätze, sicherlich nicht, wenn man hochoptimierten Code verwendet, der Warmstarts verwendet, um die LASSO-Regularisierung zu optimieren (Sie können sich selbst mit dem fs
Befehl für schrittweise Weiterleitung und lasso
für LASSO im bestsubset
Paket vergleichen). Die Tatsache, dass schrittweise Ansätze immer noch populär sind, hat wahrscheinlich mit der falschen Überzeugung vieler zu tun, dass man dann einfach das endgültige Modell behalten und die zugehörigen p-Werte angeben könnte - was in der Tat nicht richtig ist, da dies nicht der Fall ist Berücksichtigen Sie die Unsicherheit, die durch Ihre Modellauswahl entsteht und zu optimistischen p-Werten führt.
Hoffe das hilft?