Wie interpretiere ich Variablen, die vom Lasso-Modell ausgeschlossen oder im Lasso-Modell enthalten sind?

9

Ich habe aus anderen Beiträgen erfahren, dass man Prädiktorvariablen, die in ein Lasso-Modell eingehen, keine "Wichtigkeit" oder "Signifikanz" zuweisen kann, da die Berechnung der p-Werte oder Standardabweichungen dieser Variablen noch in Arbeit ist.

Ist es unter diesen Umständen richtig zu behaupten, dass man NICHT sagen kann, dass Variablen, die vom Lasso-Modell ausgeschlossen wurden, "irrelevant" oder "unbedeutend" sind?

Wenn ja, was kann ich tatsächlich über die Variablen behaupten, die entweder ausgeschlossen oder in einem Lasso-Modell enthalten sind? In meinem speziellen Fall habe ich den Abstimmungsparameter Lambda ausgewählt, indem ich die 10-fache Kreuzvalidierung 100 Mal wiederholt habe, um Randonmess zu reduzieren und die Fehlerkurven zu mitteln.

UPDATE1: Ich bin einem Vorschlag unten gefolgt und habe Lasso mit Bootstrap-Beispielen erneut ausgeführt. Ich habe es mit 100 Samples versucht (diese Menge konnte meine Computerleistung über Nacht verwalten) und es entstanden einige Muster. 2 meiner 41 Variablen sind mehr als 95% der Fälle in das Modell eingegangen, 3 Variablen mehr als 90% und 5 Variablen mehr als 85%. Diese 5 Variablen gehören zu den 9, die in das Modell eingegeben wurden, als ich es mit der ursprünglichen Stichprobe ausgeführt hatte, und waren dann diejenigen mit den höchsten Koeffizientenwerten. Wenn ich Lasso mit beispielsweise 1000 Bootstrap-Beispielen ausführen und diese Muster beibehalten werden, wie kann ich meine Ergebnisse am besten präsentieren?

  • Klingen 1000 Bootstrap-Samples genug? (Meine Stichprobengröße ist 116)

  • Sollte ich alle Variablen auflisten und wie häufig sie in das Modell eingegeben werden, und dann argumentieren, dass diejenigen, die häufiger eingegeben werden, mit größerer Wahrscheinlichkeit von Bedeutung sind?

  • Ist das so weit ich mit meinen Ansprüchen gehen kann? Da es sich um eine laufende Arbeit handelt (siehe oben), kann ich keinen Grenzwert verwenden, oder?

UPDATE2: Nach einem Vorschlag unten habe ich Folgendes berechnet: Im Durchschnitt haben 78% der Variablen im ursprünglichen Modell die Modelle eingegeben, die für die 100 Bootstrap-Beispiele generiert wurden. Auf der anderen Seite nur 41% umgekehrt. Dies hat zum großen Teil damit zu tun, dass die für die Bootstrap-Beispiele generierten Modelle tendenziell viel mehr Variablen enthielten (durchschnittlich 17) als das ursprüngliche Modell (9).

UPDATE3: Wenn Sie mir bei der Interpretation der Ergebnisse helfen könnten, die ich durch Bootstrapping und Monte-Carlo-Simulation erhalten habe, schauen Sie sich bitte diesen anderen Beitrag an.

Verwirrt
quelle

Antworten:

10

Ihre Schlussfolgerung ist richtig. Denken Sie an zwei Aspekte:

  1. Statistische Aussagekraft zur Erkennung eines Effekts. Wenn die Leistung nicht sehr hoch ist, kann man sogar große reale Effekte übersehen.
  2. Zuverlässigkeit: mit hoher Wahrscheinlichkeit die richtigen (wahren) Merkmale zu finden.

Es gibt mindestens 4 wichtige Überlegungen:

  1. Ist die Methode von Ihnen mit demselben Datensatz reproduzierbar?
  2. Ist die Methode für andere mit demselben Datensatz reproduzierbar?
  3. Sind die Ergebnisse mit anderen Datensätzen reproduzierbar?
  4. Ist das Ergebnis zuverlässig?

Wenn man mehr als nur Vorhersagen machen möchte, sondern tatsächlich Schlussfolgerungen darüber ziehen möchte, welche Merkmale für die Vorhersage des Ergebnisses wichtig sind, sind 3. und 4. entscheidend.

Sie haben 3. angesprochen (und für diesen Zweck sind 100 Bootstraps ausreichend), aber zusätzlich zu den einzelnen Fraktionseinschlussfraktionen müssen wir den durchschnittlichen absoluten Abstand zwischen einem Bootstrap-Feature-Set und dem ursprünglich ausgewählten Feature-Set kennen. Wie viele Funktionen wurden beispielsweise im gesamten Beispiel im Bootstrap-Beispiel durchschnittlich erkannt? Wie viele Features wurden durchschnittlich aus einem Bootstrap-Beispiel ausgewählt, das in der ursprünglichen Analyse gefunden wurde? Wie oft hat ein Bootstrap eine genaue Übereinstimmung mit dem ursprünglichen Funktionsumfang gefunden? In welchem ​​Verhältnis befand sich ein Bootstrap innerhalb eines Merkmals, um genau mit dem Original übereinzustimmen? Zwei Funktionen?

Es wäre nicht angebracht zu sagen, dass ein Cutoff verwendet werden sollte, um eine allgemeine Schlussfolgerung zu ziehen.

In Bezug auf Teil 4 geht nichts davon auf die Zuverlässigkeit des Prozesses ein, dh wie nahe der Funktionsumfang am "wahren" Funktionsumfang liegt. Um dies zu beheben, können Sie eine Monte-Carlo-Re-Simulationsstudie durchführen, bei der Sie das ursprüngliche Lasso-Ergebnis der Stichprobe als „Wahrheit“ betrachten und neue Antwortvektoren mehrere hundert Mal unter Verwendung einer angenommenen Fehlerstruktur simulieren. Bei jeder erneuten Simulation führen Sie das Lasso auf der ursprünglichen gesamten Prädiktormatrix und dem neuen Antwortvektor aus und bestimmen, wie nahe der ausgewählte Lasso-Funktionsumfang an der Wahrheit liegt, aus der Sie simuliert haben. Re-Simulationsbedingungen für den gesamten Satz von Kandidaten-Prädiktoren und Verwendung von Koeffizientenschätzungen aus dem ursprünglich angepassten Modell (und im Lasso-Fall dem Satz ausgewählter Prädiktoren) als bequeme "Wahrheit" zur Simulation.

YXXβ

β

YXβY

lp <- predict(...) # assuming suitable predict method available, or fitted()
probs <- plogis(lp)
y <- ifelse(runif(n) <= probs, 1, 0)
Frank Harrell
quelle
3
N.
1
Ich bezog mich nicht auf Bootstrapping. Ich bezog mich darauf, ob Sie aus Dutzenden von Kandidatenvariablen etwas lernen können, wenn Sie nur 32 Ereignisse haben.
Frank Harrell
3
Y.
1
Führen Sie das von mir vorgeschlagene Re-Simulationsexperiment durch, um die tatsächliche Zuverlässigkeit der Methode in Ihrer genauen Einstellung zu überprüfen.
Frank Harrell
2
Ich muss diese Diskussion abzeichnen - die grundlegende Antwort auf Ihre Frage ist die grundlegende R-Programmierung. Schauen Sie sich auch einfache Simulationen in biostat.mc.vanderbilt.edu/rms an .
Frank Harrell