La predicción es solo una combinación lineal de los coeficientes estimados. Los coeficientes son asintóticamente normales, por lo que una combinación lineal de esos coeficientes también será asintóticamente normal. Entonces, si podemos obtener la matriz de covarianza para las estimaciones de parámetros, podemos obtener fácilmente el error estándar para una combinación lineal de esas estimaciones. Si denoto la matriz de covarianza como y escribo los coeficientes para mi combinación lineal en un vector como entonces el error estándar es simplemente \ sqrt {C '\ Sigma C}Σdodo′Σ C-----√
# Making fake data and fitting the model and getting a prediction
set.seed(500)
dat <- data.frame(x = runif(20), y = rbinom(20, 1, .5))
o <- glm(y ~ x, data = dat)
pred <- predict(o, newdata = data.frame(x=1.5), se.fit = TRUE)
# To obtain a prediction for x=1.5 I'm really
# asking for yhat = b0 + 1.5*b1 so my
# C = c(1, 1.5)
# and vcov applied to the glm object gives me
# the covariance matrix for the estimates
C <- c(1, 1.5)
std.er <- sqrt(t(C) %*% vcov(o) %*% C)
> pred$se.fit
[1] 0.4246289
> std.er
[,1]
[1,] 0.4246289
Vemos que el método 'a mano' que muestro muestra el mismo error estándar que el informado a través de predict