Seite 1 von 1

Regressionsgeraden x <-> y

BeitragVerfasst: Di 31. Jan 2017, 10:23
von Orlando
Hallo,

ich beschäftige mich gerade (theoretisch, nicht für eine konkrete Studie) mit einfachen Regressionsgeraden. Bislang dachte ich immer, wenn ich eine Regressionsgerade habe, in welcher ich x und y festgelegt habe, mich dann aber z.B. ein Prognosewert für x interessiert wenn ich y vorgebe, ich einfach die mathematische Umkehrfunktion bilden kann.

Jetzt habe ich das aber mal getestet
Code: Alles auswählen
> daten1
[1] 1 2 3 4 5 6 7 8
> daten2
[1] 2 3 1 4 7 5 6 9

und bekomme
Code: Alles auswählen
> lm(daten1 ~ daten2)

Call:
lm(formula = daten1 ~ daten2)

Coefficients:
(Intercept)       daten2 
     0.8371       0.7920 

> lm(daten2 ~ daten1)

Call:
lm(formula = daten2 ~ daten1)

Coefficients:
(Intercept)       daten1 
     0.3929       0.9405

Berechne ich nun den Prognosewert für daten1 für daten2 = 4.5, so erhalte ich 4.4011 (1. Regression). Nutze ich die Regression mit daten1 als erklärende Variable und löse dann für ein gegebenes daten2 = 4.5 nach daten1 auf, so erhalte ich 4,3669.

Ist das grundsätzlich so? Kann (bzw. besser: darf, denn man "kann" ja schon) man also die Regressionsfunktion nicht invertieren? :?

By the way: Kann ich auf Steigung und Achsenabschnitt der lm-Funktion zugreifen, um damit weiter zu rechnen?

Gruß, Orlando

Re: Regressionsgeraden x <-> y

BeitragVerfasst: Di 31. Jan 2017, 12:17
von bele
Hallo Orlando,

ja, das ist allgemein so, dass man bei OLS-Regressionen nicht einfach die Umkehrfunktion als identische Gerade findet. Wenn Du eine umkehrbare Gerade brauchst, musst Du Dich von lm und ordinary least squares verabschieden. Eine Hauptkomponentenanalyse kann Dir aber zu einer "symmetrischen" Regressionsgerade verhelfen, wenn Du das brauchst.

lm gibt ein Objekt zurück, aus dem Du die Daten entweder über den $-Operator, oder in diesem Fall über die Funktion coef herausziehen kannst:
Code: Alles auswählen
> model <- lm(c(1,1,2,3,4) ~ c(1,2,3,4,5))
> coef(model)
     (Intercept) c(1, 2, 3, 4, 5)
            -0.2              0.8


LG,
Bernhard

Re: Regressionsgeraden x <-> y

BeitragVerfasst: Mi 1. Feb 2017, 11:17
von Orlando
Hallo Bernhard,

besten Dank, wieder was gelernt.

bele hat geschrieben: über den $-Operator

Genau darauf bezog sich meine Frage. Die Idee ist, Prognosewerte zu berechnen, also model$intercept bzw. model$slope zu nutzen. Aber die heißen doch bestimmt nicht so ... :)

Gruß, Orlando

Re: Regressionsgeraden x <-> y

BeitragVerfasst: Mi 1. Feb 2017, 14:15
von bele
Code: Alles auswählen
model$coefficients

wird Dir weiterhelfen...

Wenn Du wissen willst, was dieses Objekt sonst noch alles an Informationen enthält, hilft
Code: Alles auswählen
str(model)


Dieses Forum hat seinen Schwerpunkt im Bereich Statistik. Bei Fragen, die sich überwiegend auf die Bedienung von R beziehen, empfehle ich gerne http://forum.r-statistik.de . Da langweilen wir nicht die SPSS- und Stata- und MiniTab-User in diesem Forum. Die Frage nach der Umkehrbarkeit der Regressionsgleichung passte aber wieder in dieses Forum hier.

LG,
Bernhard