Ich habe ein lineares Regressionsproblem. Kurz gesagt, ich habe einen Datensatz, den ich in zwei Teilmengen unterteilt habe. Eine Teilmenge wird verwendet, um die lineare Regression zu finden (Trainingsuntermenge), eine andere wird verwendet, um sie zu bewerten (Bewertungsuntermenge). Meine Frage ist, wie das Ergebnis dieser linearen Regression bewertet werden kann, nachdem es auf die Bewertungsuntermenge von Daten angewendet wurde.
Hier sind die Details:
In der Trainingsuntermenge mache ich eine lineare Regression: , wobei die Grundwahrheit ist (auch als Ziel bekannt), eine unabhängige Variable ist. Dann fand ich und . ( und sind in der Trainingsuntermenge angegeben).
Wenden Sie nun und die oben aus der Trainingsuntermenge gefunden wurden, auf die Bewertungsuntermenge an. Ich fand . Mit anderen Worten, diese y ' werden aus der linearen Regression mit x ' gefunden . Jetzt habe ich zusätzlich zu y ' auch y aus dem Bewertungssatz. Wie bewerte ich mein Ergebnis (wie sehr unterscheidet sich y ' von y?b y ' = a x ' + b)? Gibt es ein allgemeines mathematisches Modell dafür? Es muss eine Art mathematisches Modell / Formel sein. Ich kann mir verschiedene Möglichkeiten vorstellen, aber sie sind alle irgendwie ad-hoc oder einfach, aber dies ist für eine wissenschaftliche Arbeit, so dass Dinge, die ad-hoc klingen, hier leider nicht verwendet werden können.
Irgendeine Idee?
Antworten:
Ich stimme @Octern zu, dass man selten Leute sieht, die Zug- / Test-Splits (oder sogar Dinge wie Kreuzvalidierung) für lineare Modelle verwenden. Überanpassung ist bei einem sehr einfachen Modell wie diesem (fast) sicher kein Problem.
Wenn Sie ein Gefühl für die "Qualität" Ihres Modells bekommen möchten, möchten Sie möglicherweise Konfidenzintervalle (oder deren Bayes'sche Äquivalente) um Ihre Regressionskoeffizienten angeben. Es gibt verschiedene Möglichkeiten, dies zu tun. Wenn Sie wissen / annehmen können, dass Ihre Fehler normal verteilt sind, gibt es eine einfache Formel (und die gängigsten Datenanalysepakete geben Ihnen diese Werte). Eine andere beliebte Alternative besteht darin, sie durch Resampling (z. B. Bootstrapping oder Jackknifing) zu berechnen, wodurch weniger Annahmen über die Verteilung von Fehlern getroffen werden. In beiden Fällen würde ich den vollständigen Datensatz für die Berechnung verwenden.
quelle
Wenn Sie mit Ihrem linearen Trainingsmodell wirklich gut zurechtkommen und wissen möchten, wie gut es Ihre Testdaten vorhersagen würde, müssen Sie lediglich die bereits vorhandene lineare Modellformel verwenden und die geschätzten Koeffizienten a (= Achsenabschnitt) einschließen. und b (Regressionskoeffizient, auch Steigung genannt), der sich aus dem ersten Modell ergibt.
sollte wie y = a + b * X aussehen hier einige imaginäre Zahlen ... y = 2 + 0,5 * X.
Welche Software verwenden Sie? Verwenden Sie R? In diesem Fall können Sie die Funktion pred.lm () verwenden und auf Ihren zweiten Datensatz anwenden.
quelle
quelle