De fondo
Estoy tratando de comprender el primer ejemplo en un curso de montaje de los
modelos (por lo que esto puede parecer ridículamente simple). He hecho los cálculos a mano y que coincide con el ejemplo,
pero cuando me las repita en R, el modelo de coeficientes están apagados. Pensé
la diferencia puede ser debido a que el libro de texto utilizando la varianza de la población
( $\sigma^2$ ), mientras que R puede ser el uso de la varianza de muestra ($S^2$), pero yo
no puede ver donde estas se utilizan en los cálculos. Por ejemplo, si
lm()
utiliza var()
en algún lugar, en la sección de ayuda en var()
notas:
El denominador n - 1 se utiliza lo que le da un estimador imparcial de la (co)varianza para el yo.yo.d. observaciones.
He mirado el código para lm()
y lm.fit()
y ni
hacer uso de var()
, pero lm.fit()
pasa que los datos compilados de C
código (z <- .Call(C_Cdqrls, x, y, tol, FALSE)
) que no tengo
el acceso a la.
Pregunta
¿Alguien puede explicar por qué R está dando resultados diferentes? Incluso si hay una diferencia en el uso de muestra frente a la varianza de la población, ¿por qué la los coeficientes estimados son diferentes?
Datos
Ajuste de una línea para predecir el tamaño del zapato de grado en la escuela.
# model data
mod.dat <- read.table(
text = 'grade shoe
1 1
2 5
4 9'
, header = T);
# mean
mod.mu <- mean(mod.dat$shoe);
# variability
mod.var <- sum((mod.dat$shoe - mod.mu)^2)
# model coefficients from textbook
mod.m <- 8/3;
mod.b <- -1;
# predicted values ( 1.666667 4.333333 9.666667 )
mod.man.pred <- mod.dat$grade * mod.m + mod.b;
# residuals ( -0.6666667 0.6666667 -0.6666667 )
mod.man.resid <- (mod.dat$shoe - mod.man.pred)
# residual variance ( 1.333333 )
mod.man.unexpl.var <- sum(mod.man.resid^2);
# r^2 ( 0.9583333 )
mod.man.expl.var <- 1 - mod.man.unexpl.var / mod.var;
# but lm() gives different results:
summary(lm(shoe ~ grade, data = mod.dat))
Call:
lm(formula = shoe ~ grade, data = mod.dat)
Residuals:
1 2 3
-0.5714 0.8571 -0.2857
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.0000 1.3093 -0.764 0.585
grade 2.5714 0.4949 5.196 0.121
Residual standard error: 1.069 on 1 degrees of freedom
Multiple R-squared: 0.9643, Adjusted R-squared: 0.9286
F-statistic: 27 on 1 and 1 DF, p-value: 0.121
Editar
Como Ben Bolker ha demostrado, parece que los profesores hacen que los errores a veces. Parece que R cálculos son correctos. Moraleja de la historia: no creer en algo sólo porque el maestro dice es cierto. Comprobar por ti mismo!