Answers:
您正在使用的模型采用以下形式
(1)
其中是一个误差项,假设其来自零均值正态分布。
您已拟合模型并获得了估计值:,和。 β 1 β 2
现在,如果将协变量值固定在和,则可以通过计算获得的预测值 X ⋆ 2 我 ÿ 我
(2)
如果您的模型完全适合您的数据,那么预测值就是实际值。但是,通常,不能将值作为值的简单线性组合来精确获得(“ 所有模型都是错误的,但有些模型是有用的 ”)。换句话说,(1)中误差项的方差通常不为零。但是,基本上,如果残差(或其中的缩放比例)为“小” ,则模型(1)是一个很好的近似值。X ÿ 我 - ÿ ⋆ 我
编辑
在您的评论中,您询问了predict()
实际执行的操作。这是一个简单的说明性示例。
#generate a simple illustrative data set
> x <- runif(10)
> y <- 5 + 2.7 * x + rnorm(10, mean=0, sd=sqrt(0.15))
>
> #fit the model and store the coefficients
> regLin <- lm(y~x)
> coef <- coef(regLin)
>
> #use the predict() function
> y_star2 <- predict(regLin)
> #use equation (2)
> y_star1 <- coef[1] + coef[2] * x
> #compare
> cbind(y, y_star1, y_star2)
y y_star1 y_star2
1 7.100217 6.813616 6.813616
2 6.186333 5.785473 5.785473
3 7.141016 7.492979 7.492979
4 5.121265 5.282990 5.282990
5 4.681924 4.849776 4.849776
6 6.102339 6.106751 6.106751
7 7.223215 7.156512 7.156512
8 5.158546 5.253380 5.253380
9 7.160201 7.198074 7.198074
10 5.555289 5.490793 5.490793
x1
并x2
为连续预测变量,而不是绝对预测变量。(为什么不用表示拦截?)