Darstellung Residuen bei negativer Regressionsgerade

Programmierung und Formatierung von Grafiken und Plots mit R.

Darstellung Residuen bei negativer Regressionsgerade

Beitragvon tom2316 » So 25. Nov 2018, 20:19

Sehr geehrte KollegInnen,

Ich möchte in einem Plot die Residuen graphisch darstellen. Die Regressionsgerade ist negativ.
Muss man hier etwas besonderes beachten? Nachdem ich bereits bei positiven Regressionsgeraden die Residuen eingezeichnet habe, funktioniert das bei der negativen Gerade nicht. Die Linien von den Punkten gehen nicht zur geraden sonder nur vertikal nach oben oder unten.

Konkret habe ich den Datensatz "Cars93" aus der library "MASS" bearbeitet. Und zwar ob der Spritverbrauch Auswirkungen auf den Preis eines Autos hat.

Der Plot wurde wie folgt definiert:
> plot(d$Price, d$MPG.highway, col="green", pch=16, cex=0.7, xlab="Preis des Autos", ylab="Spritverbrauch des Autos", main="Zusammenhang Preis und Spritverbrauch", xlim=c(0,350), ylim=c(0, 80))

Die Regressionsgerade:
abline(res, col="red")

Die Residuen (funktioniert nicht)
segments(x0=d$Price, y0=d$MPG.highway, x1=d$Price, y1=predict(res))

Ich freue mich über eine Hilfestellung
Lg Thomas
tom2316
 
Beiträge: 3
Registriert: Sa 24. Nov 2018, 14:04
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Darstellung Residuen bei negativer Regressionsgerade

Beitragvon jogo » Mo 26. Nov 2018, 15:48

Hallo Thomas,

tom2316 hat geschrieben:Ich möchte in einem Plot die Residuen graphisch darstellen. Die Regressionsgerade ist negativ.
was meinst Du damit. Für jede Gerade, deren Anstieg nicht 0 ist, gibt es x-Werte, bei denen das y negativ wird.


Konkret habe ich den Datensatz "Cars93" aus der library "MASS" bearbeitet. Und zwar ob der Spritverbrauch Auswirkungen auf den Preis eines Autos hat.

Der Plot wurde wie folgt definiert:
Code: Alles auswählen
> plot(d$Price, d$MPG.highway, col="green", pch=16, cex=0.7, xlab="Preis des Autos", ylab="Spritverbrauch des Autos", main="Zusammenhang Preis und Spritverbrauch", xlim=c(0,350), ylim=c(0, 80))


Die Regressionsgerade:
Code: Alles auswählen
abline(res, col="red")
kannst Du bitte mehr von Deinem Code zeigen, damit man Ihn auch laufen lassen kann?

Die Residuen (funktioniert nicht)
Code: Alles auswählen
segments(x0=d$Price, y0=d$MPG.highway, x1=d$Price, y1=predict(res))
Was meinst Du mit "funktioniert nicht"?

Gruß, Jörg
jogo
 
Beiträge: 118
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: Darstellung Residuen bei negativer Regressionsgerade

Beitragvon tom2316 » Do 29. Nov 2018, 18:32

Hallo Jörg, danke für deine Antwort. Gerne übermittle ich dir meine gesamten Codes. Vielen Dank für deine Hilfestellung

Hier die Angabe von meinem Übungsblatt wie man zum Datensatz kommt:

Rufen Sie mit der Zeile install.packages("MASS"); library(MASS); data(Cars93)
den Datensatz Cars93 auf. Sehen Sie sich mit names(Cars93); head(Cars93); View(Cars93) an, aus welchen Variablen der Datensatz besteht.

---> Der Datensatz wird von R aus dem Netz geladen. Wenn ich >View(Cars93) eingebe dann erscheint der Datensatz in Tabellenform in R

Ich möchte den Zusammenhang Preis des Autos (Price) und Spritverbrauch des Autos (MPG.highway) graphisch darstellen

> d=Cars93
> View(Cars93)

> res=lm(d$Price ~ d$MPG.highway, data = d)
> summary(res)

Call:
lm(formula = d$Price ~ d$MPG.highway, data = d)

Residuals:
Min 1Q Median 3Q Max
-12.139 -5.513 -1.665 2.235 38.240

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 49.0546 4.6494 10.551 < 2e-16 ***
d$MPG.highway -1.0158 0.1573 -6.459 5.07e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 8.042 on 91 degrees of freedom
Multiple R-squared: 0.3144, Adjusted R-squared: 0.3068
F-statistic: 41.72 on 1 and 91 DF, p-value: 5.072e-09

> var(predict(res))/var(d$Price)
[1] 0.3143625

—-> Schwacher Zusammenhang, der Autopreis lässt sich nicht durch den Spritverbrauch voraussagen

---> Und ab hier beginne ich mit der Darstellung des Plots:

> plot(d$Price, d$MPG.highway, col="green", pch=16, cex=0.7, xlab="Preis des Autos", ylab="Spritverbrauch des Autos", main="Zusammenhang Preis und Spritverbrauch", xlim=c(0,350), ylim=c(0, 80))

---> Zur Darstellung der Regressionsgerade habe ich nicht mehr Infos oder Codes. Wenn ich den untenstehenden eingebe, erscheint bei mir eine negative Gerade.

> abline(res, col="red")

---> Und dann die Residiuen. Hier möchte ich die Abstände als Linie von den Punkten zur Geraden einzeichnen. Ich kenne nur die untenstehende Möglichkeit. Die hat auch immer funktionier bei 2 Variablen. Nur war dort die Regressionsgerade immer positiv und nicht negativ. Und ich denke dieser Umstand hat damit zu tun, dass meine Residuen nicht von den Punkten zur Gerade gehen, sondern in andere Richtungen.

> segments(x0=d$Price, y0=d$MPG.highway, x1=d$Price, y1=predict(res))

Lg Thomas
tom2316
 
Beiträge: 3
Registriert: Sa 24. Nov 2018, 14:04
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Darstellung Residuen bei negativer Regressionsgerade

Beitragvon jogo » Fr 30. Nov 2018, 20:52

Hallo Thomas,

Code: Alles auswählen
library(MASS); data(Cars93)
d=Cars93

res=lm(d$Price ~ d$MPG.highway, data = d)
summary(res)

# var(predict(res))/var(d$Price) ## das ist nur nochmal das R2

plot(d$Price, d$MPG.highway, col="green", pch=16, cex=0.7, xlab="Preis des Autos", ylab="Spritverbrauch des Autos", main="Zusammenhang Preis und Spritverbrauch", xlim=c(0,350), ylim=c(0, 80))

# ---> Zur Darstellung der Regressionsgerade habe ich nicht mehr Infos oder Codes.
# Wenn ich den untenstehenden eingebe, erscheint bei mir eine negative Gerade.

abline(res, col="red")
meinst Du mit negativer Gerade eine mit negativem Anstieg? :?
Was ist jetzt daran das Problem? Große Autos sind teuer und verbrauchen viel Sprit ...

ok, ganz so einfach ist es dann doch nicht:
Code: Alles auswählen
par(mfcol=c(1,2))
plot(Price ~ Weight, data=d)
abline(lm(Price ~ Weight, data=d))
plot(MPG.highway ~ Weight, data=d)
abline(lm(MPG.highway ~ Weight, data=d))


Gruß, Jörg
jogo
 
Beiträge: 118
Registriert: Mo 26. Feb 2018, 09:56
Danke gegeben: 3
Danke bekommen: 0 mal in 0 Post

Re: Darstellung Residuen bei negativer Regressionsgerade

Beitragvon tom2316 » Mo 3. Dez 2018, 21:37

Danke Jörg für deinen Input.
Ich seh mir das mal in Ruhe an.
Lg Thomas
tom2316
 
Beiträge: 3
Registriert: Sa 24. Nov 2018, 14:04
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Grafiken und Plots

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron