Bewertung der Ergebnisse der linearen Regression

8

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).y=ax+byxabxy

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 ' + baby=ax+byxyyyy)? 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?

Van
quelle
6
Ich glaube nicht, dass diese Art der Bewertung im Allgemeinen mit einfachen Regressionsmodellen verwendet wird. Was würde es Ihnen sagen, dass Sie nicht herausfinden würden, wenn Sie den gesamten Datensatz zur Generierung Ihrer Regressionsparameter verwenden? Normalerweise besteht der Grund für die Verwendung eines Bewertungsdatensatzes darin, eine Überanpassung zu verhindern. Dies ist jedoch kein Problem, wenn Sie bereits wissen, dass Ihr Modell nur eine unabhängige Variable enthalten wird.
Oktober
Um klar zu sein, sprach @octern von linearer Regression. Die Aufteilung von Trainingstests ist eine gute Vorgehensweise, um dies mit logistischer Regression zu tun. Bei linearer Regression kann es sogar sinnvoll sein, wenn das Test-Set eine andere / instationäre Verteilung als das Training aufweist oder aus einem anderen Zeitraum stammt (z. B. Werbekampagne, Einkaufsverhalten).
smci

Antworten:

11

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.

Matt Krause
quelle
1
Sie sollten auch eine Restanalyse durch Zeichnen durchführen.
kjetil b halvorsen
1

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.

Jens
quelle
1

D.D.={(x1,y1),(x2,y2),,(xn,yn)}}einb

MSEein,b=1nich=1n(yich- -(einxich+b))2.

einb

Alt
quelle