Teste da significância dos coeficientes na regressão logística Lasso

10

[Uma pergunta semelhante foi feita aqui sem respostas]

Eu ajustei um modelo de regressão logística com regularização L1 (regressão logística Lasso) e gostaria de testar os coeficientes ajustados quanto à significância e obter seus valores-p. Sei que os testes de Wald (por exemplo) são uma opção para testar o significado dos coeficientes individuais em regressão completa sem regularização, mas com Lasso acho que surgem mais problemas que não permitem aplicar as fórmulas usuais de Wald. Por exemplo, as estimativas de variância necessárias para o teste não seguem as expressões usuais. O papel Lasso original

http://statweb.stanford.edu/~tibs/lasso/lasso.pdf

sugere um procedimento baseado em autoinicialização para estimar a variação dos coeficientes, que (novamente, acho) pode ser necessária para os testes (seção 2.5, último parágrafo da página 272 e início de 273):

Uma abordagem é através do bootstrap: pode ser corrigido ou podemos otimizar over para cada amostra de bootstrap. A correção t é análoga à seleção do melhor subconjunto ( de recursos ) e ao uso do erro padrão de mínimos quadrados para esse subconjuntottt

O que eu entendo é: ajuste uma regressão de Lasso repetidamente em todo o conjunto de dados até encontrarmos o valor ideal para o parâmetro de regularização (isso não faz parte do bootstrap) e, em seguida, use apenas os recursos selecionados pelo Lasso para ajustar as regressões OLS às subamostras dos dados e aplique as fórmulas usuais para calcular as variações de cada uma dessas regressões. (E então, o que devo fazer com todas essas variações de cada coeficiente para obter a estimativa final da variação de cada coeficiente?)

Além disso, é correto usar os testes de significância usuais (por exemplo, o teste de Wald, que utiliza os betas e as variações estimados) com as estimativas de Lasso dos coeficientes e as variações estimadas por bootstrap? Tenho certeza de que não, mas qualquer ajuda (use um teste diferente, use uma abordagem mais direta, seja qual for ...) é mais que bem-vinda.

De acordo com as respostas aqui , suspeito que inferência e valores de p simplesmente não podem ser obtidos. No meu caso, os valores de p são um requisito externo (embora o uso da regularização de L1 tenha sido minha escolha).

Muito obrigado

EDIT E se eu ajustar uma regressão logística OLS usando apenas as variáveis ​​selecionadas por uma execução anterior da regressão logística Lasso? Aparentemente (veja aqui ),

Não há necessidade de executar o modelo novamente após a validação cruzada (você obtém os coeficientes da saída do cv.glmnet) e, de fato, se você ajustar o novo modelo de regressão logística sem penalização, estará derrotando o objetivo de usar laço

Mas e se eu fizer isso com o único objetivo de poder calcular valores-p, mantendo o número de variáveis ​​baixo? É uma abordagem muito suja? :-)

Pablo
fonte
Para fazer inferência para modelos Lasso você também pode verificar o pacote CRAN hdi que fornece inferência para modelos de alta-dimensional, você pode querer dar uma olhada em que ...
Tom Wenseleers
Os métodos completos são bem descritas neste documento: projecteuclid.org/euclid.ss/1449670857
Tom Wenseleers
E há também empacotar cran.r-project.org/web/packages/selectiveInference/index.html que podem ser úteis para fornecer inferência para o LASSO ...
Tom Wenseleers
Esta é uma pergunta agradável e importante a ser feita.
Jinhua Wang

Respostas:

5

O problema com o uso dos testes de significância usuais é que eles assumem o nulo, ou seja, que existem variáveis ​​aleatórias, sem relação com as variáveis ​​de resultado. No entanto, o que você tem com o laço é um monte de variáveis ​​aleatórias, das quais você seleciona as melhores com o laço, também os betas são encolhidos. Portanto, você não pode usá-lo, os resultados serão tendenciosos.

Até onde eu sei, o bootstrap não é usado para obter a estimativa de variância, mas para obter as probabilidades de uma variável ser selecionada. E esses são seus valores-p. Veja o livro gratuito de Hasie, Statistical Learning with Sparsity, capítulo 6, que fala da mesma coisa. http://web.stanford.edu/~hastie/StatLearnSparsity/

Verifique também este documento para outras maneiras de obter valores-p do laço https://arxiv.org/pdf/1408.4026.pdf Provavelmente existem mais

rep_ho
fonte
4

O problema com a realização de inferência após a seleção do modelo é que você está selecionando as variáveis ​​mais preditivas e, em seguida, executando a inferência como se elas fossem selecionadas independentemente dos dados. É possível mostrar que reajustar o modelo de regressão após fazer a seleção do modelo com o laço (ou qualquer outro método de seleção de modelo!) Pode levar a estimativas tendenciosas (que é uma das razões pelas quais uma aproximação gaussiana simples frequentemente falha para intervalos de confiança)n

Felizmente, houve muito progresso nos últimos anos no desenvolvimento de métodos de inferência que são responsáveis ​​pela pós-seleção. Algumas referências relevantes para o seu caso são: http://projecteuclid.org/euclid.aos/1460381681 e https://arxiv.org/pdf/1602.07358.pdf . As técnicas discutidas nessas referências são implementadas no pacote R selectInference- https://cran.r-project.org/web/packages/selectiveInference/index.html . O pacote selectionInference deve produzir os intervalos de confiança válidos necessários.

user3903581
fonte
11
Na especialização Machine Learning em Coursera pela Univ. de Washington, os professores do curso 2 (Regressão) dedicaram uma semana inteira à regressão de Lasso. Em um dos slides, o procedimento que descrevi (usando Lasso para selecionar recursos e depois ajustando uma regressão LS apenas com essas variáveis) é denominado debiasing e é considerado correto e ilustrado com gráficos de um artigo de Mario Figueiredo. Verificação de slides 105 aqui: github.com/MaxPoon/coursera-Machine-Learning-specialization/...
Pablo
Embora recomendem debiasing do laço, eles não discutem o teste de hipótese. Além disso, o termo eliminação de polarização é enganoso, porque, ao montar o modelo, elimina o viés descendente induzido pelo laço, ele não ajuda no viés ascendente induzido pela maldição do vencedor. Até onde eu sei, a única maneira de desviar verdadeiramente as estimativas do coeficiente de regressão do modelo selecionado é calcular as estimativas de máxima verossimilhança condicional. arxiv.org/abs/1705.09417
user3903581