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 CVlm
pacote DAAG
disponí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?
Respostas:
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.p n p ≫ n
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.p ≫ n
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.p ≫ n
fonte
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
Você pode usar a seleção progressiva avançada
Você pode usar a eliminação para trás
Você poderia usar o LASSO
Quanto à sua pergunta sobre por que o LASSO tem melhor desempenho em seus dados no CV
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
fonte