Ich würde gerne Prädiktoren für eine stetige abhängige Variable aus einer Menge von 30 unabhängigen Variablen finden. Ich verwende die Lasso-Regression, wie sie im glmnet- Paket in R implementiert ist. Hier ist ein Dummy-Code:
# generate a dummy dataset with 30 predictors (10 useful & 20 useless)
y=rnorm(100)
x1=matrix(rnorm(100*20),100,20)
x2=matrix(y+rnorm(100*10),100,10)
x=cbind(x1,x2)
# use crossvalidation to find the best lambda
library(glmnet)
cv <- cv.glmnet(x,y,alpha=1,nfolds=10)
l <- cv$lambda.min
alpha=1
# fit the model
fits <- glmnet( x, y, family="gaussian", alpha=alpha, nlambda=100)
res <- predict(fits, s=l, type="coefficients")
res
Meine Fragen sind, wie man die Ausgabe interpretiert:
Ist es richtig zu sagen, dass in der endgültigen Ausgabe alle Prädiktoren, die einen von Null verschiedenen Koeffizienten anzeigen, mit der abhängigen Variablen verknüpft sind?
Wäre das ein ausreichender Bericht im Rahmen einer Zeitschriftenveröffentlichung? Oder soll es Teststatistiken für die Signifikanz der Koeffizienten geben? (Der Kontext ist Humangenetik)
Ist es sinnvoll, p-Werte oder andere Teststatistiken zu berechnen, um die Signifikanz zu beanspruchen? Wie wäre das möglich? Ist eine Prozedur in R implementiert?
Wäre ein einfaches Regressionsdiagramm (mit einer linearen Anpassung geplottete Datenpunkte) für jeden Prädiktor eine geeignete Möglichkeit, diese Daten zu visualisieren?
Vielleicht kann jemand ein paar einfache Beispiele für veröffentlichte Artikel liefern, die die Verwendung von Lasso im Kontext einiger realer Daten zeigen und wie man dies in einer Zeitschrift meldet?
cv
für den Vorhersageschritt verwenden?Antworten:
Meines Wissens kann man nicht unbedingt sagen, welche Variablen "wichtig" sind oder "echte" Effekte haben, je nachdem, ob ihre Koeffizienten ungleich Null sind. Um ein extremes Beispiel zu geben: Wenn Sie zwei Prädiktoren haben, die perfekt kollinear sind, wählt das Lasso einen davon im Wesentlichen zufällig aus, um das volle Gewicht zu erhalten, und der andere erhält das Gewicht Null.
In diesem Artikel, zu dem einer der Autoren von glmnet gehört, werden einige glmnet-basierte Analysen vorgestellt (siehe insbesondere: Einleitung, Abschnitte 2.3 und 4.3 sowie Tabellen 4 und 5). Es sieht so aus, als hätten sie den P-Wert nicht direkt aus dem glmnet-Modell berechnet. Sie haben zwei verschiedene Arten von P-Werten mit anderen Methoden berechnet, aber es sieht nicht so aus, als ob sie beiden vollständig vertrauen.
Ich bin mir nicht hundertprozentig sicher, was Sie in Bezug auf die Plotmethoden vorschlagen, aber ich denke, das hört sich vernünftig an.
Ich hoffe, das hilft.
quelle
Ich wollte nur darauf hinweisen, dass in letzter Zeit versucht wird, eine Teststatistik speziell für das LASSO zu entwickeln, die die durchgeführte Featureauswahl berücksichtigt:
Ein Signifikanztest für das Lasso. Richard Lockhart, Jonathan Taylor, Ryan J. Tibshirani und Robert Tibshirani. http://arxiv.org/abs/1301.7161
Ich habe dies jedoch noch nicht in der angewandten Arbeit gesehen, wohingegen Bootstrapping sicherlich verwendet wird.
quelle
In Bezug auf Inferenz für LASSO- oder elastische Netzmodelle werfen Sie einen Blick auf die CRAN-Pakete selectiveInference und hdi . Sie tun genau das, während sie den variablen Auswahlschritt berücksichtigen!
quelle