Hilfe! Regressionslinie will einfach nicht
Verfasst: Sa Feb 09, 2019 1:36 pm
Hallo allerseits,
ich habe ein grundlegendes Problem damit, Kurven meiner gefitteten Funktion mit predictions in Plots zu legen. Hier ein aktuelles Beispiel, bei dem mein kleines R-Einmaleins in R-atlosigkeit mündet:
Es ist bereits erkennbar, dass es sich nicht um eine lineare Regression handelt (Grafik weiter unten). Daher habe ich verschiedene Funktionen ausprobiert und getestet.
mod <-glm(Grundfl..ha ~ Year, data=Grundfl)
mod1<- glm(log(Grundfl..ha) ~ Year, data=Grundfl)
mod2 <- glm(log(Grundfl..ha) ~ Year + I(Year^2), data=Grundfl)
mod ist die normale lineare Funktion.
summary(mod2) ergab den niedrigsten AIC-Wert und stellt somit die am besten passende Funktion dar (zumindest habe ich das so in meinem Statistics-with-R- Kurs gelernt).
Ich möchte nun eine Linie in den Plot legt, die den Anstieg meiner Grundfläche/ha (y-Achse) bestmöglich nachbildet. Sprich bei der die residuals am geringsten sind:
newdata<- data.frame("Year" = seq(2010,2018,1))
preds <- predict(mod2, newdata=newdata,se.fit=T)
lines(newdata$Year, preds$fit)
Das ist mein Code für die Linie. Aber aus irgendeinem Grund sieht das dann so aus: Bei der linearen Funktion (mod) passt es viel besser: Aber das steht im Gegensatz zu dem Test, welche Funktion am besten passt!
Wer kann mich hier auf meinen Denkfehler hinweisen?
Vielen Dank schon mal für jedwede Hilfe!
ich habe ein grundlegendes Problem damit, Kurven meiner gefitteten Funktion mit predictions in Plots zu legen. Hier ein aktuelles Beispiel, bei dem mein kleines R-Einmaleins in R-atlosigkeit mündet:
Es ist bereits erkennbar, dass es sich nicht um eine lineare Regression handelt (Grafik weiter unten). Daher habe ich verschiedene Funktionen ausprobiert und getestet.
mod <-glm(Grundfl..ha ~ Year, data=Grundfl)
mod1<- glm(log(Grundfl..ha) ~ Year, data=Grundfl)
mod2 <- glm(log(Grundfl..ha) ~ Year + I(Year^2), data=Grundfl)
mod ist die normale lineare Funktion.
summary(mod2) ergab den niedrigsten AIC-Wert und stellt somit die am besten passende Funktion dar (zumindest habe ich das so in meinem Statistics-with-R- Kurs gelernt).
Ich möchte nun eine Linie in den Plot legt, die den Anstieg meiner Grundfläche/ha (y-Achse) bestmöglich nachbildet. Sprich bei der die residuals am geringsten sind:
newdata<- data.frame("Year" = seq(2010,2018,1))
preds <- predict(mod2, newdata=newdata,se.fit=T)
lines(newdata$Year, preds$fit)
Das ist mein Code für die Linie. Aber aus irgendeinem Grund sieht das dann so aus: Bei der linearen Funktion (mod) passt es viel besser: Aber das steht im Gegensatz zu dem Test, welche Funktion am besten passt!
Wer kann mich hier auf meinen Denkfehler hinweisen?
Vielen Dank schon mal für jedwede Hilfe!