Ich habe einen Punkt (x, y), für den ich einen linearen Regressor benötige, um einen gegebenen Datensatz (X, Y) zu durchlaufen. Wie implementiere ich das in R?
r
regression
reisner
quelle
quelle
Antworten:
Wenn der Punkt ist, durch den die Regressionsgerade verlaufen muss, passen Sie das Modell , dh eine lineare Regression mit "no intercept" für einen übersetzten Datensatz . In könnte dies so aussehen . Beachten Sie das am Ende, das darauf hinweist, dass kein Intercept-Term passen sollte.( x0, y0) y- y0= β( x - x0) + ε R
lm( I(y-y0) ~ I(x-x0) + 0)
+ 0
lm
Abhängig davon, wie einfach Sie davon überzeugt sind, gibt es mehrere Möglichkeiten, um zu demonstrieren, dass dies tatsächlich die richtige Antwort ergibt. Wenn Sie es formal etablieren möchten, besteht eine einfache Methode darin, Lagrange-Multiplikatoren zu verwenden.
Ob es tatsächlich eine gute Idee ist , eine Regressionslinie zu zwingen, einen bestimmten Punkt zu durchlaufen, ist eine separate Angelegenheit und problemabhängig. Generell würde ich persönlich davor warnen, es sei denn, es gibt einen sehr guten Grund (zB sehr starke theoretische Überlegungen). Zum einen kann die Anpassung des vollständigen Modells ein Mittel zur Messung der Passungsschwäche darstellen. Wenn Sie zweitens hauptsächlich daran interessiert sind, die Erklärungskraft des Modells für Werte von und bewerten, die "weit von" , wird die Relevanz des Fixpunkts verdächtig.x y ( x0,y0)
quelle