Я хотел бы найти предикторы для непрерывной зависимой переменной из набора из 30 независимых переменных. Я использую регрессию Лассо, как это реализовано в пакете glmnet в R. Вот некоторый фиктивный код:
# 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
Мои вопросы, как интерпретировать вывод:
Правильно ли говорить, что в конечном результате все предикторы, которые показывают коэффициент, отличный от нуля, связаны с зависимой переменной?
Будет ли это достаточным докладом в контексте публикации в журнале? Или предполагается предоставить тест-статистику для значимости коэффициентов? (Контекст - генетика человека)
Разумно ли рассчитывать p-значения или другие тестовые статистические данные, чтобы претендовать на значимость? Как это было бы возможно? Реализуется ли процедура в R?
Будет ли простой график регрессии (точки данных, нанесенные с линейным соответствием) для каждого предиктора подходящим способом визуализации этих данных?
Может быть, кто-то может привести несколько простых примеров опубликованных статей, показывающих использование Лассо в контексте некоторых реальных данных и как сообщить об этом в журнале?
cv
для этапа прогнозирования?Ответы:
Насколько я понимаю, вы не можете много говорить о том, какие переменные являются «важными» или имеют «реальные» эффекты в зависимости от того, являются ли их коэффициенты ненулевыми. В качестве крайнего примера, если у вас есть два совершенно коллинеарных предиктора, лассо выберет один из них по существу случайным образом, чтобы получить полный вес, а другой - нулевой вес.
В этой статье , в которой участвует один из авторов glmnet, представлены некоторые анализы на основе glmnet (см., В частности, введение, разделы 2.3 и 4.3 и таблицы 4 и 5). Просматривая, похоже, что они не рассчитали P-значение непосредственно из модели glmnet. Они рассчитали два разных вида P-значений, используя другие методы, но не похоже, что они полностью доверяют ни одному из них.
Я не уверен на 100%, что вы предлагаете с точки зрения методов построения, но я думаю, что это звучит разумно.
Надеюсь, это поможет.
источник
Я просто хотел отметить, что недавно была предпринята попытка разработать тестовую статистику специально для LASSO, которая учитывает выполняемый выбор функции:
Тест на значимость для лассо. Ричард Локхарт, Джонатан Тейлор, Райан Дж. Тибширани, Роберт Тибширани. http://arxiv.org/abs/1301.7161
Однако я еще не видел, чтобы это использовалось в прикладной работе, тогда как начальная загрузка, безусловно, используется.
источник
Что касается логического вывода для моделей LASSO или эластичных сетей, обратите внимание на пакеты CRAN селективный вывод и ИРЧП , они делают точно , что в то время , принимая во внимание переменный шаг выбора!
источник