Chciałbym znaleźć predyktory dla ciągłej zmiennej zależnej z zestawu 30 zmiennych niezależnych. Korzystam z regresji Lasso zaimplementowanej w pakiecie glmnet w R. Oto kod zastępczy :
# 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
Moje pytania dotyczą interpretacji wyników:
Czy słusznie jest powiedzieć, że w wyniku końcowym wszystkie predyktory, które wykazują współczynnik różny od zera, są powiązane ze zmienną zależną?
Czy byłby to wystarczający raport w kontekście publikacji w czasopiśmie? Czy też oczekuje się, że dostarczy statystyki testowe dla znaczenia współczynników? (Kontekstem jest genetyka ludzka)
Czy uzasadnione jest obliczenie wartości p lub innej statystyki testowej w celu stwierdzenia istotności? Jak to by było możliwe? Czy procedura jest zaimplementowana w R?
Czy prosty wykres regresji (punkty danych wykreślone z dopasowaniem liniowym) dla każdego predyktora byłby odpowiednim sposobem na wizualizację tych danych?
Może ktoś może podać kilka prostych przykładów opublikowanych artykułów pokazujących wykorzystanie Lasso w kontekście prawdziwych danych i jak to zgłosić w czasopiśmie?
cv
do kroku przewidywania?Odpowiedzi:
Rozumiem, że nie zawsze można powiedzieć wiele o tym, które zmienne są „ważne” lub mają „rzeczywiste” efekty na podstawie tego, czy ich współczynniki są niezerowe. Dla skrajnego przykładu, jeśli masz dwa predyktory, które są idealnie współliniowe, lasso wybierze jeden z nich zasadniczo losowo, aby uzyskać pełną wagę, a drugi otrzyma zerową wagę.
Ten artykuł , który obejmuje jednego z autorów glmnet, przedstawia niektóre analizy oparte na glmnet (patrz zwłaszcza: Wprowadzenie, sekcje 2.3 i 4.3 oraz tabele 4 i 5). Przeglądając, wygląda na to, że nie obliczyli wartości P bezpośrednio z modelu glmnet. Obliczali dwa różne rodzaje wartości P przy użyciu innych metod, ale nie wygląda na to, aby w pełni ufali żadnej z nich.
Nie jestem w 100% pewien, co sugerujesz w kwestii metod kreślenia, ale myślę, że to brzmi rozsądnie.
Mam nadzieję, że to pomaga.
źródło
Chciałem tylko zauważyć, że ostatnio pracowano nad opracowaniem statystyki testowej specjalnie dla LASSO, która uwzględnia przeprowadzany wybór funkcji:
Test istotności dla lasso. Richard Lockhart, Jonathan Taylor, Ryan J. Tibshirani, Robert Tibshirani. http://arxiv.org/abs/1301.7161
Jednak nie widziałem tego używanego w pracy stosowanej, podczas gdy na pewno używa się bootstrapowania.
źródło
Jeśli chodzi o wnioskowanie dla modeli LASSO lub elastycznych, spójrz na pakiety CRAN selektywnie Inferencje i hdi , robią to dokładnie, biorąc pod uwagę etap wyboru zmiennej!
źródło