Eu tenho um problema de regressão com 5-6k variáveis. Divido meus dados em três conjuntos não sobrepostos: treinamento, validação e teste. Treino usando apenas o conjunto de treinamento e gere muitos modelos diferentes de regressão linear escolhendo um conjunto diferente de 200 variáveis para cada modelo (eu tento cerca de 100 mil desses subconjuntos). Classifico um modelo como . Usando esse critério, acabo escolhendo um modelo. Acontece que o modelo escolhido tem R ^ 2 muito semelhante nos dados de treinamento e validação. No entanto, quando tento esse modelo nos dados de teste, ele tem R ^ 2 muito menor . Parece que, de alguma forma, estou me adaptando tanto aos dados de treinamento quanto à validação. Alguma idéia de como posso obter um modelo mais robusto?
Tentei aumentar o tamanho dos dados de treinamento, mas isso não ajudou. Estou pensando em talvez diminuir o tamanho de cada subconjunto.
Eu tentei usar a regularização. No entanto, os modelos que eu obtenho usando o laço ou a rede elástica têm R ^ 2 muito menor no conjunto de treinamento e no conjunto de validação, em comparação com o modelo que eu obtenho fazendo a abordagem de seleção de subconjunto. Portanto, não considero esses modelos, pois presumo que, se o Modelo A tiver um desempenho melhor que o Modelo B, tanto no conjunto de treinamento quanto no conjunto de validação, o Modelo A é claramente melhor que o Modelo B. Eu ficaria muito curioso se você discordo disso.
Em uma nota relacionada, você acha que é um critério ruim para escolher meus modelos?