在 R 中,?predict
说:
如果逻辑 se.fit 为 TRUE,则计算预测的标准误差。
一个例子:
> predict(lm(mpg ~ wt + cyl, data = mtcars), se.fit=TRUE)$se.fit
[1] 0.6011667 0.4976294 0.7252444 0.4602669 0.7752706 0.5178496 0.7267482 1.0000172 0.9793969
[10] 0.5108741 0.5108741 0.6544576 0.6819424 0.6718159 1.1525645 1.2633704 1.2125441 0.7270859
[19] 0.8820281 0.7988791 0.7380797 0.7442464 0.7773252 0.6623197 0.6616629 0.7700721 0.7322422
[28] 0.9282190 0.9023791 0.5342815 0.7267482 0.8176667
这些标准误差是如何定义的?它们是如何计算的?
我查看了predict.lm
代码,它有很多分支。代码的摘录类似于:
ip[, i] <- if (any(iipiv > 0L))
as.matrix(X[, iipiv, drop = FALSE] %*% Rinv[ii,
, drop = FALSE])^2 %*% rep.int(res.var,
p)
# ... se later returned as "se.fit"
se <- sqrt(ip)
Wikipedia定义了 beta 的标准误差(一维预测变量的斜率),但没有定义预测的标准误差。
如何se.fit
定义,使用一些标准符号?
相关(或相同?),它是如何计算的?