Tengo un problema de regresión con 5-6k variables. Divido mis datos en 3 conjuntos no superpuestos: capacitación, validación y pruebas. Entreno usando solo el conjunto de entrenamiento y genero muchos modelos de regresión lineal diferentes eligiendo un conjunto diferente de 200 variables para cada modelo (intento aproximadamente 100k de tales subconjuntos). Califico un modelo como . Usando este criterio, termino eligiendo un modelo. Resulta que el modelo elegido tiene R ^ 2 muy similar en el entrenamiento y los datos de validación. Sin embargo, cuando pruebo este modelo en los datos de prueba, tiene un R ^ 2 mucho más bajo . Por lo tanto, parece que de alguna manera estoy sobreajustando tanto el entrenamiento como los datos de validación. ¿Alguna idea sobre cómo puedo obtener un modelo más robusto?
Intenté aumentar el tamaño de los datos de entrenamiento, pero eso no ayudó. Estoy pensando en reducir el tamaño de cada subconjunto.
He intentado usar la regularización. Sin embargo, los modelos que obtengo usando el lazo o la red elástica tienen un R ^ 2 mucho más bajo en el conjunto de entrenamiento y en el conjunto de validación, en comparación con el modelo que obtengo al hacer el enfoque de selección de subconjunto. Por lo tanto, no considero estos modelos, ya que supongo que si el Modelo A funciona mejor que el Modelo B tanto en el conjunto de entrenamiento como en el conjunto de validación, el Modelo A es claramente mejor que el Modelo B. Sería muy curioso si usted no estoy de acuerdo con esto
En una nota relacionada, ¿crees que es un mal criterio para elegir mis modelos?
Está sobreajustando porque está utilizando
min(training r-square,validation r-square)
datos para producir una puntuación, que a su vez se está utilizando para impulsar la selección del modelo. Debido a que su r-cuadrado de entrenamiento es probable que sea igual o menor (después de todo, acaba de ejecutar una regresión), esto es más o menos equivalente a hacer la selección del modelo en el r-cuadrado de los datos de entrenamiento.Esto tiene el efecto de ajustarse demasiado a los datos de entrenamiento e ignorar los datos de validación.
Si usó justo
validation r-square
entonces debería obtener un mejor resultado.fuente