Superioridade do LASSO sobre seleção direta / eliminação retroativa em termos de erro de previsão de validação cruzada do modelo


10

Eu obtive três modelos reduzidos de um modelo completo original usando

  • seleção para a frente
  • eliminação para trás
  • Técnica de penalização L1 (LASSO)

Para os modelos obtidos usando seleção direta / eliminação reversa, obtive a estimativa validada cruzada do erro de previsão usando o CVlmpacote DAAGdisponível em R. Para o modelo selecionado via LASSO, eu usei cv.glm.

O erro de previsão para o LASSO foi menor que o obtido para os outros. Portanto, o modelo obtido via LASSO parece ser melhor em termos de capacidade preditiva e variabilidade. É um fenômeno geral que sempre ocorre ou é específico do problema? Qual é o raciocínio teórico para isso, se for um fenômeno geral?


3
Certifique-se de não usar uma regra de pontuação de precisão inadequada, como proporção classificada correta, pois isso recompensa modelos / previsões inadequados. E compare com a norma L2. Aposto que será melhor que as 3 abordagens que você tentou.
31714 Frank Frankell

Respostas:


16

A seleção de modelos LASSO e avanço / retrocesso têm pontos fortes e limitações. Nenhuma recomendação abrangente pode ser feita. A simulação sempre pode ser explorada para resolver isso.

Ambos podem ser entendida no sentido de dimensionalidade: referindo-se a o número de parâmetros de modelo e o número de observações. Se você foi capaz de ajustar modelos usando a seleção inversa de modelos, provavelmente não tinha . Nesse caso, o modelo "melhor ajuste" é aquele que usa todos os parâmetros ... quando validado internamente! Isso é simplesmente uma questão de sobreajuste.pnpn

O sobreajuste é corrigido usando a validação cruzada de amostra dividida (CV) para avaliação do modelo. Como você não descreveu isso, presumo que você não fez. Diferentemente da seleção de modelo por etapas, o LASSO usa um parâmetro de ajuste para penalizar o número de parâmetros no modelo. Você pode corrigir o parâmetro de ajuste ou usar um processo iterativo complicado para escolher esse valor. Por padrão , o LASSO faz o último. Isso é feito com o CV para minimizar o MSE de previsão. Não estou ciente de nenhuma implementação da seleção de modelo por etapas que use técnicas tão sofisticadas, que até o BIC como critério sofreria viés de validação interna. Pela minha conta, isso automaticamente dá alavancagem ao LASSO em relação à seleção de modelos passo a passo "pronta para uso".

Por fim, a seleção de modelo por etapas pode ter critérios diferentes para incluir / excluir diferentes regressores. Se você usar os valores-p para o teste Wald dos parâmetros específicos do modelo ou o modelo resultante R ^ 2, não se sairá bem, principalmente por causa do viés de validação interno (novamente, pode ser corrigido com o CV). Acho surpreendente que ainda seja assim que esses modelos tendem a ser implementados. AIC ou BIC são critérios muito melhores para a seleção de modelos.

Existem vários problemas com cada método. Os problemas da seleção de modelos passo a passo são muito mais bem compreendidos e muito piores que os do LASSO. O principal problema que vejo com sua pergunta é que você está usando ferramentas de seleção de recursos para avaliar a previsão . São tarefas distintas. O LASSO é melhor para seleção de recursos ou seleção de modelo esparso. A regressão de Ridge pode fornecer uma melhor previsão, pois usa todas as variáveis.

A grande força do LASSO é que ele pode estimar modelos nos quais , como pode ser o caso da regressão passo a passo (mas não para trás). Nos dois casos, esses modelos podem ser eficazes para previsão somente quando houver um punhado de preditores muito poderosos. Se um resultado é melhor do previsto por muitos preditores fracos, regressão cume, em seguida, ou ensacamento / impulsionando irá superar tanto regressão passo a passo para a frente e LASSO por um tiro longo. O LASSO é muito mais rápido que a regressão passo a passo.pn

Obviamente, existe muita sobreposição entre a seleção e a previsão de recursos, mas nunca lhe digo como a chave inglesa serve como martelo. Em geral, para a previsão com um número escasso de coeficientes de modelo , eu preferiria o LASSO em vez da seleção progressiva de modelos por etapas.pn


4

Você deseja escolher um subconjunto de preditores de acordo com alguns critérios. Pode ser AIC dentro da amostra ou R ^ 2 ajustado, ou validação cruzada, não importa.

Você pode testar todas as combinações de subconjuntos de preditores e escolher o melhor subconjunto. Contudo

  • Muito demorado devido à explosão combinatória de parâmetros.
  • Funciona se você tiver mais parâmetros do que observações, no sentido de testar todas as combinações de preditores que fornecem uma solução

Você pode usar a seleção progressiva avançada

  • Menos demorado, mas pode não ter a melhor combinação absoluta, esp. quando preditores são correlacionados (pode escolher um preditivo e não conseguir obter mais melhorias ao adicionar outros 2 preditores que teriam mostrado melhorias)
  • Funciona mesmo quando você tem mais parâmetros do que observações

Você pode usar a eliminação para trás

  • Não funciona se você tiver mais parâmetros do que observações, nenhum bom ponto de partida (em teoria, você pode começar de todos os pontos de partida válidos, trabalhar para trás, escolher o melhor, mas não é o que normalmente se entende por eliminação para trás)
  • Como avançar progressivamente, consome menos tempo que todos os subconjuntos, mas pode não ter a melhor combinação absoluta, esp. quando preditores estão correlacionados

Você poderia usar o LASSO

  • Funciona mesmo quando você tem mais parâmetros do que observações
  • Eficiência da CPU quando você tem muitos parâmetros e explosão combinatória de subconjuntos
  • Adiciona regularização

Quanto à sua pergunta sobre por que o LASSO tem melhor desempenho em seus dados no CV

  • Uma possibilidade é a dependência de caminho descrita acima - o LASSO pode encontrar um subconjunto melhor. Talvez tenha tido sorte, talvez o LASSO geralmente / às vezes obtenha subconjuntos melhores, não tenho certeza. Talvez haja literatura sobre o assunto.
  • Outra possibilidade (mais provável) é que a regularização do LASSO evite o ajuste excessivo, para que o LASSO tenha um desempenho melhor no CV / fora da amostra.

Resumindo, o LASSO oferece regularização e seleção eficiente de subconjuntos, especialmente quando você tem muitos preditores.

BTW, você pode executar o LASSO e selecionar seu modelo usando CV (mais comum), mas também usando AIC ou algum outro critério. Execute seu modelo com regularização L1 e sem restrição, depois aperte gradualmente a restrição até que o AIC atinja um mínimo, ou erro de CV, ou o critério de sua escolha. Consulte http://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_model_selection.html

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.