Ich habe ein Regressionsproblem mit 5-6k Variablen. Ich teile meine Daten in 3 nicht überlappende Sätze ein: Training, Validierung und Testen. Ich trainiere nur mit dem Trainingssatz und generiere viele verschiedene lineare Regressionsmodelle, indem ich für jedes Modell einen anderen Satz von 200 Variablen auswähle (ich versuche ungefähr 100.000 solcher Teilmengen). Ich bewerte ein Modell als . Nach diesem Kriterium wähle ich am Ende ein Modell. Es stellt sich heraus, dass das gewählte Modell in den Trainings- und Validierungsdaten ein sehr ähnliches R ^ 2 aufweist . Wenn ich dieses Modell jedoch anhand der Testdaten ausprobiere, hat es viel weniger R ^ 2 . Es scheint also, dass ich sowohl die Trainings- als auch die Validierungsdaten irgendwie überpasse. Irgendwelche Ideen, wie ich ein robusteres Modell bekommen kann?
Ich habe versucht, die Größe der Trainingsdaten zu erhöhen, aber das hat nicht geholfen. Ich denke daran, vielleicht die Größe jeder Teilmenge zu verkleinern.
Ich habe versucht, Regularisierung zu verwenden. Die Modelle, die ich mit dem Lasso oder dem elastischen Netz erhalte, haben jedoch sowohl im Trainingssatz als auch im Validierungssatz viel weniger als das Modell, das ich mit dem Teilmengenauswahlansatz erhalte. Daher berücksichtige ich diese Modelle nicht, da ich davon ausgehe, dass Modell A sowohl im Trainingssatz als auch im Validierungssatz eine bessere Leistung als Modell B erbringt als Modell B. Ich wäre sehr neugierig, wenn Sie stimme dem nicht zu.
Denken Sie in einem ähnlichen Zusammenhang, dass ein schlechtes Kriterium für die Auswahl meiner Modelle ist?
Sie passen zu viel, weil Sie
min(training r-square,validation r-square)
Daten verwenden, um eine Punktzahl zu erstellen, die wiederum zur Steuerung der Modellauswahl verwendet wird. Da Ihr Trainings-R-Quadrat wahrscheinlich gleich oder niedriger ist (Sie haben schließlich nur eine Regression durchgeführt), entspricht dies in etwa der Modellauswahl auf dem R-Quadrat der Trainingsdaten.Dies hat zur Folge, dass die Trainingsdaten zu eng anliegen und die Validierungsdaten ignoriert werden.
Wenn Sie gerade
validation r-square
dann verwendet haben, sollten Sie ein besseres Ergebnis erzielen.quelle