Wenn ich versuche, zwischen verschiedenen Modellen oder der Anzahl von Merkmalen zu wählen, für die eine Vorhersage erforderlich ist, kann ich mir zwei Ansätze vorstellen.
- Teilen Sie die Daten in Trainings- und Testsätze auf. Besser noch, verwenden Sie Bootstrapping oder k-fach Kreuzvalidierung. Trainieren Sie jedes Mal am Trainingssatz und berechnen Sie den Fehler über den Testsatz. Plottestfehler gegen Anzahl der Parameter. Normalerweise erhalten Sie so etwas:
- Berechnen Sie die Wahrscheinlichkeit des Modells, indem Sie die Werte der Parameter überlagern. dh compute , und dies gegen die Anzahl von Parametern aufgetragen ist . Wir bekommen dann so etwas:
Meine Fragen sind also:
- Sind diese Ansätze zur Lösung dieses Problems geeignet (Entscheiden, wie viele Parameter in Ihr Modell aufgenommen werden sollen, oder Auswählen aus einer Reihe von Modellen)?
- Sind sie gleichwertig? Wahrscheinlich nicht. Geben sie unter bestimmten Voraussetzungen oder in der Praxis dasselbe optimale Modell an?
- Welche Vor- und Nachteile hat jeder Ansatz, abgesehen von dem üblichen philosophischen Unterschied, Vorkenntnisse in Bayes'schen Modellen usw. anzugeben? Welches würdest du wählen?
Update: Ich habe auch die entsprechende Frage zum Vergleich von AIC und BIC gefunden. Es scheint, dass meine Methode 1 der AIC asymptotisch äquivalent ist und Methode 2 der BIC asymptotisch verwandt ist. Aber ich habe dort auch gelesen, dass BIC dem Leave-One-Out CV entspricht. Dies würde bedeuten, dass das Trainingsfehlerminimum und das Bayes'sche Wahrscheinlichkeitsmaximum äquivalent sind, wobei der LOO-Lebenslauf dem K-fachen Lebenslauf entspricht. Ein vielleicht sehr interessantes Papier " Eine asymptotische Theorie zur linearen Modellauswahl " von Jun Shao befasst sich mit diesen Fragen.