El modelo con el que se trabaja tiene la forma
yi=μ+β1x1i+β2x2i+ϵi (1)
donde ϵi es un término de error que se supone proviene de una distribución normal de media cero.
Ha ajustado el modelo y ha obtenido estimaciones: ˆμ , ˆβ1 y ˆβ2 .
Ahora, si se fijan los valores de las covariables dentro de su rango, digamos x⋆1i y x⋆2i un valor previsto para yi se puede obtener calculando
y⋆i=ˆμ+ˆβ1x⋆1i+ˆβ2x⋆2i (2)
Si el modelo se ajusta perfectamente a los datos, los valores predichos son valores reales. Pero, en general, y no pueden obtenerse exactamente como una simple combinación lineal de x valores (" Todos los modelos son erróneos, pero algunos son útiles "). En otros términos, la varianza del término de error en (1) no es cero en general. Pero, básicamente, el modelo (1) es una buena aproximación si los residuos yi−y⋆i (o una versión a escala de éstos) son "pequeños".
Editar
En sus comentarios, ha preguntado qué predict()
realmente lo hace. He aquí un sencillo ejemplo ilustrativo.
#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