R中lm对象的预测函数

R中lm对象的预测函数,r,linear-regression,R,Linear Regression,为什么prediction\u me和prediction\u R不相等?我试图遵循引理5给出的公式。predict函数是否使用了不同的公式,我在计算中是否犯了错误,或者只是四舍五入错误?(两者非常接近) set.seed(100) #生成率数据 您当前的代码几乎没有问题。只需注意引理5中的公式是针对一个新观察到的x。因此,half不仅包含相关方差,还包含协方差,而您只需要前者。因此,as.vector应替换为diag: half <- diag(t * s * sqrt(1 + d2 %

为什么
prediction\u me
prediction\u R
不相等?我试图遵循引理5给出的公式。
predict
函数是否使用了不同的公式,我在计算中是否犯了错误,或者只是四舍五入错误?(两者非常接近)

set.seed(100)
#生成率数据

您当前的代码几乎没有问题。只需注意引理5中的公式是针对一个新观察到的
x
。因此,
half
不仅包含相关方差,还包含协方差,而您只需要前者。因此,
as.vector
应替换为
diag

half <- diag(t * s * sqrt(1 + d2 %*% solve(t(d) %*%d , t(d2))))
prediction_me <- cbind(fit, fit - half, fit + half)
prediction_R <- predict(mod, newdata = data2, interval = 'prediction')

range(prediction_me - prediction_R)
# [1] 0 0

half也许你想看看如何手动预测。
half@ANG道歉,编辑。
half <- diag(t * s * sqrt(1 + d2 %*% solve(t(d) %*%d , t(d2))))
prediction_me <- cbind(fit, fit - half, fit + half)
prediction_R <- predict(mod, newdata = data2, interval = 'prediction')

range(prediction_me - prediction_R)
# [1] 0 0