Как добавить стандартные ошибки в линии регрессии? - PullRequest
2 голосов
/ 23 января 2020

Возможно, это будет быстрым для некоторых из вас, но я бы хотел представить стандартную ошибку регрессии, используя plot().

Итак, если у меня есть такие данные:

x1 <- 1:500
b0 <- 17 
b1 <- 0.5 
sigma <- 7 
er <- rnorm(x1,0,sigma)
y <- b0 + b1*x1 + er 

model1 <- lm(y~x1)
plot(x1,y)
abline(model1,col="red",lwd=5)

afadassaf

Как можно представить стандартную ошибку в строках за что регрессировать?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Вы можете использовать ggplot() вместо plot(). У вас немного более современный макет и гораздо больше возможностей.

Добавьте следующий код после вашего примера кода. Для лучшей наглядности я немного изменил исходные данные (см. Строку: y <- b0 + b1*x1 + er*5.)

# ------ test case ggplot ----------------
library (ggplot2)
# --- change some data fields ------------
y <- b0 + b1*x1 + er*5

df <- data.frame(y,x1)

ggplot(data = df, aes(x1,y)) +
geom_point() +
geom_smooth(method="lm", color="red", fill = "blue")

enter image description here

0 голосов
/ 23 января 2020

Вы можете сделать это вручную, рассчитав регрессию без ошибок, и из этого поставить общие строки sd() всех остаточных ошибок:

x1 <- 1:500
b0 <- 17 
b1 <- 0.5 
sigma <- 7 
er <- rnorm(x1,0,sigma)
y <- b0 + b1*x1 + er 


GeneralStandardDev<-sd(model1$residuals)
UpperLine<- model1$coefficients[1]+model1$coefficients[2]*x1 + GeneralStandardDev
LowerLine<- model1$coefficients[1]+model1$coefficients[2]*x1 - GeneralStandardDev


model1 <- lm(y~x1)
plot(x1,y)
abline(model1,col="red",lwd=5)
lines(x1, UpperLine, col = "blue")
lines(x1, LowerLine, col = "blue")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...