Gostaria de encontrar preditores para uma variável dependente contínua de um conjunto de 30 variáveis independentes. Estou usando a regressão Lasso conforme implementada no pacote glmnet em R. Aqui está um código fictício:
# 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
Minhas perguntas é como interpretar a saída:
É correto dizer que no resultado final todos os preditores que mostram um coeficiente diferente de zero estão relacionados à variável dependente?
Seria um relatório suficiente no contexto de uma publicação de revista? Ou é esperado que forneça estatísticas de teste para a significância dos coeficientes? (O contexto é genética humana)
É razoável calcular valores de p ou outra estatística de teste para reivindicar significância? Como aquilo seria possível? Um procedimento está implementado no R?
Um gráfico de regressão simples (pontos de dados plotados com um ajuste linear) para cada preditor seria uma maneira adequada de visualizar esses dados?
Talvez alguém possa fornecer alguns exemplos fáceis de artigos publicados mostrando o uso do Lasso no contexto de alguns dados reais e como relatar isso em um periódico?
fonte
cv
para a etapa de previsão?Respostas:
Meu entendimento é que você não pode necessariamente dizer muito sobre quais variáveis são "importantes" ou têm efeitos "reais" com base no fato de seus coeficientes serem diferentes de zero. Para dar um exemplo extremo, se você tiver dois preditores perfeitamente colineares, o laço escolherá um deles essencialmente aleatoriamente para obter o peso total e o outro terá peso zero.
Este artigo , que inclui um dos autores do glmnet, apresenta algumas análises baseadas no glmnet (veja especialmente: Introdução, Seções 2.3 e 4.3 e Tabelas 4 e 5). Olhando através, parece que eles não calcularam o valor P diretamente do modelo glmnet. Eles calcularam dois tipos diferentes de valores-P usando outros métodos, mas parece que eles não confiam totalmente em nenhum deles.
Não tenho 100% de certeza do que você está sugerindo em termos de métodos de plotagem, mas acho que parece razoável.
Espero que ajude.
fonte
Eu só queria salientar que há trabalhos recentes tentando desenvolver uma estatística de teste especificamente para o LASSO, que leva em consideração a seleção de recursos que está sendo executada:
Um teste de significância para o laço. Richard Lockhart, Jonathan Taylor, Ryan J. Tibshirani, Robert Tibshirani. http://arxiv.org/abs/1301.7161
No entanto, ainda não vi isso ser usado no trabalho aplicado, enquanto o bootstrapping certamente é usado.
fonte
No que diz respeito à inferência para os modelos LASSO ou rede elástica, consulte os pacotes CRAN selectivoInference e hdi , eles fazem exatamente isso, considerando a etapa de seleção de variáveis!
fonte