Ich versuche, mit LASSO eine Modellauswahl für einige Kandidaten-Prädiktoren mit einem kontinuierlichen Ergebnis durchzuführen. Das Ziel besteht darin, das optimale Modell mit der besten Vorhersageleistung auszuwählen, was normalerweise durch K-fache Kreuzvalidierung erfolgen kann, nachdem ein Lösungspfad der Abstimmungsparameter von LASSO erhalten wurde. Das Problem hierbei ist, dass die Daten aus einem komplexen mehrstufigen Umfragedesign (NHANES) mit Cluster-Stichproben und -Schichten stammen. Der Schätzteil ist nicht schwer, da glmnet
in R Stichprobengewichte genommen werden können. Der Teil der Kreuzvalidierung ist mir jedoch weniger klar, da die Beobachtungen jetzt nicht mehr zutreffen, und wie kann das Verfahren Stichprobengewichte berücksichtigen, die eine endliche Population darstellen?
Meine Fragen sind also:
1) Wie führt man eine K-fache Kreuzvalidierung mit komplexen Vermessungsdaten durch, um den optimalen Abstimmungsparameter auszuwählen? Genauer gesagt, wie können die Beispieldaten angemessen in Trainings- und Validierungssätze aufgeteilt werden? Und wie definiert man die Schätzung des Vorhersagefehlers?
2) Gibt es eine alternative Möglichkeit, den optimalen Abstimmungsparameter auszuwählen?
quelle
Antworten:
Ich habe keine detaillierte Antwort, nur ein paar Hinweise zur Arbeit, die ich lesen wollte:
Sie können sich McConville (2011) zu LASSO mit komplexen Umfragen ansehen , um sicherzustellen, dass Ihre Verwendung von LASSO für Ihre Daten geeignet ist. Aber vielleicht ist es keine große Sache, wenn Sie LASSO nur für die Variablenauswahl ausführen und dann den verbleibenden Variablen etwas anderes anpassen.
Für die Kreuzvalidierung mit komplexen Umfragedaten (jedoch nicht LASSO) zitiert McConville auch Opsomer & Miller (2005) und You (2009). Aber ihre Methoden scheinen einen ausgelassenen Lebenslauf zu verwenden, nicht K-fach.
Das Auslassen von Auslassungen sollte bei komplexen Umfragen einfacher zu implementieren sein - es gibt weniger Bedenken hinsichtlich der angemessenen Partitionierung der Daten. (Andererseits kann die Ausführung länger dauern als die K-fache. Wenn Ihr Ziel die Modellauswahl ist, ist bekannt, dass das Auslassen bei großen Proben schlechter sein kann als die K-fache.)
quelle
EDIT by OP: Gilt nicht für komplexe Umfragedaten.
Die Funktion cv.glmet kann Ihnen dabei helfen, die erforderliche Kreuzvalidierung durchzuführen. Der lambda.min-Wert ist der Wert von λ, wobei der CV-Fehler minimal ist. Das lambda.1se repräsentiert den Wert von λ in der Suche, der einfacher als das beste Modell (lambda.min) war, aber einen Fehler innerhalb eines Standardfehlers des besten Modells aufweist.
Auf den Wert lambda.min kann vom Modell selbst aus zugegriffen werden, wie unten gezeigt.
quelle