Usando o LASSO para seleção de variáveis ​​e depois usando o Logit

10

Sei que isso prejudicaria a inferência estatística, mas estou realmente preocupado apenas em chegar o mais próximo possível de um modelo preciso.

Eu tenho uma variável de resultado dicotômica, com um grande conjunto de preditores dicotômicos. Penso que gostaria de tentar usar o LASSO para selecionar quais variáveis ​​devo incluir no meu modelo e inserir essas variáveis ​​selecionadas em uma regressão do Logit.

Existe algo que eu estou ignorando quando se trata da praticidade dessa abordagem?

EvKohl
fonte
4
Você está ciente de que pode usar a penalidade da norma L1 do LASSO na regressão logística, assim como na regressão linear.
Scortchi - Restabelece Monica
1
E esse LASSO diminui e também seleciona, o que você estaria desfazendo.
Scortchi - Restabelece Monica
Então, foi o que eu pensei (vis-à-vis) encolhendo). Estou usando o pacote LARS no STATA. O modelo que ele gera não intercepta, portanto não pode estar encolhendo, certo?
precisa saber é o seguinte
A interceptação em um modelo de logit é fixada pela razão de positivos para negativos.
Sycorax diz Restabelecer Monica
2
Você sempre pode incluir uma coluna de seus dados para estimar o termo de interceptação. Mas, de fato, não há necessidade de executar a separação de modelos. Basta usar regressão logística com penalidade de L1.
Sven

Respostas:

9

Existe um pacote no R chamado glmnet que pode ser adequado a um modelo logístico LASSO para você! Isso será mais direto do que a abordagem que você está considerando. Mais precisamente, glmnet é um híbrido entre LASSO e regressão de Ridge, mas você pode definir um parâmetro para fazer um modelo LASSO puro. Como você está interessado em regressão logística, você definirá family = "binomial".α=1

Você pode ler mais aqui: http://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html#intro

TrynnaDoStat
fonte
(+1) Sem dúvida, há um pacote Stata para isso também - o estatal seria o melhor lugar para perguntar.
Scortchi - Restabelece Monica
Obrigado. Na verdade, acho que não há um pacote STATA para isso. Toda a menção que encontrei foi para R.
EvKohl
3
Pesquisando em stata lasso logisticme fornece homepages.ucl.ac.uk/~ucakgam/stata.html como o primeiro resultado.
Scortchi - Restabelece Monica
Alguém sabe de um pacote em Python que pode fazer isso também?
rbm
@rbm Estou certamente atrasado para a festa, mas você pode aplicar a regularização a regressores logísticos no scikit-learn.
Eli Korvigo 6/11
2

Primeiro, não há garantia de que um modelo de probabilidade linear se aproxime muito bem de um modelo de logit; consequentemente, o subconjunto de variáveis ​​selecionadas para uma pode ser menos apropriado para a outra.

Segundo, o reajuste não aplica retração, apesar da seleção de variáveis ​​que ocorreu na primeira etapa; arriscando uma séria calibração e talvez uma pequena perda de discriminação.

Você pode validar o procedimento em um conjunto de dados específico, mas não parece seguro em geral, ou oferecer qualquer vantagem sobre uma regressão logística gradual. E é claro que é desnecessário; A penalidade por LASSO pode ser usada para retração e seleção na regressão logística.L1

Scortchi - Restabelecer Monica
fonte