将错误差异添加到predict()的输出

时间:2014-07-08 06:05:06

标签: r random linear-regression prediction

我试图采用符合经验数据的线性模型,例如:

set.seed(1)
x <- seq(from = 0, to = 1, by = .01)
y <- x + .25*rnorm(101)
model <- (lm(y ~ x))
summary(model)
# R^2 is .6208

现在,我想要做的是使用predict函数(或类似的东西)从x创建一个预测值的向量y,它共享x和y之间原始关系的误差。单独使用预测给出了完美的拟合值,因此R ^ 2为1,例如:

y2 <- predict(model)
summary(lm(y2 ~ x))
# R^2 is 1

我知道我可以使用predict(model, se.fit = TRUE)来获取预测的标准错误,但是我没有找到将这些错误纳入预测本身的选项,也不知道如何合并这些标准错误进入预测值以给出正确的误差量。

希望有人能指出我正确的方向!

1 个答案:

答案 0 :(得分:1)

simulate(model)怎么样?

set.seed(1)
x <- seq(from = 0, to = 1, by = .01)
y <- x + .25*rnorm(101)
model <- (lm(y ~ x))
y2 <- predict(model)
y3 <- simulate(model)
matplot(x,cbind(y,y2,y3),pch=1,col=1:3)

如果您需要手动操作,可以使用

y4 <- rnorm(nobs(model),mean=predict(model),
            sd=summary(model)$sigma)