Estou tentando fazer a seleção do modelo em alguns candidatos a preditores usando o LASSO com um resultado contínuo. O objetivo é selecionar o modelo ideal com o melhor desempenho de previsão, o que geralmente pode ser feito através da validação cruzada K-fold após a obtenção do caminho da solução dos parâmetros de ajuste do LASSO. A questão aqui é que os dados são de um complexo projeto de pesquisa em vários estágios (NHANES), com amostragem e estratificação por cluster. A parte da estimativa não é difícil, pois glmnet
em R pode levar pesos amostrais. Mas a parte da validação cruzada é menos clara para mim, pois as observações agora não são mais claras e como o procedimento pode explicar os pesos amostrais que representam uma população finita?
Então, minhas perguntas são:
1) Como realizar a validação cruzada K-fold com dados complexos de pesquisa para selecionar o parâmetro de ajuste ideal? Mais especificamente, como particionar adequadamente os dados de amostra em conjuntos de treinamento e validação? E como definir a estimativa do erro de previsão?
2) Existe uma maneira alternativa de selecionar o parâmetro de ajuste ideal?
fonte
Respostas:
Não tenho uma resposta detalhada, apenas alguns indicadores para o trabalho que pretendo ler:
Você pode dar uma olhada em McConville (2011) no LASSO de pesquisa complexa, para garantir que seu uso do LASSO seja apropriado para seus dados. Mas talvez não seja grande coisa se você estiver fazendo o LASSO apenas para a seleção de variáveis e ajustando outra coisa às variáveis restantes.
Para validação cruzada com dados complexos de pesquisa (embora não o LASSO), McConville também cita Opsomer & Miller (2005) e You (2009). Mas os métodos deles parecem usar CV de exclusão única, não dobra K.
Deixar de fora deve ser mais simples de implementar com pesquisas complexas - há menos preocupações sobre como particionar os dados adequadamente. (Por outro lado, pode levar mais tempo para executar do que a dobra em K. E se seu objetivo for a seleção de modelos, sabe-se que deixar de fora pode ser pior que a dobra em K para amostras grandes.)
fonte
EDIT by OP: Não aplicável a dados complexos de pesquisas.
A função cv.glmet pode ajudá-lo a executar a validação cruzada necessária. O valor lambda.min é o valor de λ onde o erro CV é mínimo. O lambda.1se representa o valor de λ na pesquisa que foi mais simples que o melhor modelo (lambda.min), mas que possui erro dentro de 1 erro padrão do melhor modelo.
O valor lambda.min pode ser acessado a partir do próprio modelo, como mostrado abaixo.
fonte