Existe una diferencia entre los IC porque en el caso del ANOVA, la estimación de la varianza del error se basa en todas las observaciones de todos los grupos, mientras que en la muestra única separada $t$ -Cuando se prueba el CI de cada grupo, cada CI utiliza su propia estimación de error basada en las observaciones de ese único grupo.
Edición: El uso de una estimación de error combinada es apropiado cuando la verdadera varianza del error en cada grupo es la misma (hipótesis de homogeneidad de la varianza). En ese caso, utilizar los residuos de, por ejemplo, el grupo C para estimar la varianza del error en el grupo A tiene sentido. La estimación del error agrupado se basa en más observaciones que en cada muestra única $t$ -test CI, y por tanto es más fiable (cuando se cumplen los supuestos). Este aumento de la fiabilidad se refleja en una menor $t_{\alpha/2}$ valor del cuantil que influye en la amplitud del IC. Es más bajo porque el $t$ -La distribución tiene más df.
En resumen, ambos métodos le proporcionan los IC para las verdaderas medias de cada grupo. Los IC basados en la estimación del error combinado son normalmente (pero no necesariamente para cada grupo) más estrechos porque se utilizan más observaciones para la estimación del error. Esta ventaja se adquiere asumiendo la igualdad de las varianzas del error verdadero en cada grupo.
set.seed(1.234) # generate some reproducible data
P <- 3 # number of groups
Nj <- c(41, 37, 42) # group sizes
N <- sum(Nj) # total number of observations
DV <- rnorm(N, rep(c(-1, 0, 1), Nj), 4) # simulated data for all groups
IV <- factor(rep(LETTERS[1:P], Nj)) # grouping factor
Ahora ajuste un modelo de medias de celda tal que los coeficientes del modelo teórico sean los valores esperados de la celda, y sus estimaciones sean las medias de la celda.
> fit <- lm(DV ~ IV - 1) # ANOVA with cell means model (no intercept)
> (bJ <- coef(fit)) # estimated coefficients
IVA IVB IVC
-0.6569245 0.5935542 1.3960387
> (Mj <- tapply(DV, IV, mean)) # ... are just the cell means
A B C
-0.6569245 0.5935542 1.3960387
Probar los coeficientes individualmente (hipótesis nula: el coeficiente es 0, con el modelo de medias de celdas: la misma hipótesis que en la correspondiente muestra única $t$ -prueba) así como el modelo completo. Obtenga también los intervalos de confianza de los coeficientes. No es necesario hacerlo manualmente, hay confint()
.
> summary(fit) # some output lines deleted
Coefficients:
Estimate Std. Error t value Pr(>|t|)
IVA -0.6569 0.5551 -1.183 0.2390
IVB 0.5936 0.5843 1.016 0.3118
IVC 1.3960 0.5485 2.545 0.0122 *
---
Residual standard error: 3.554 on 117 degrees of freedom
Multiple R-squared: 0.07077, Adjusted R-squared: 0.04695
F-statistic: 2.97 on 3 and 117 DF, p-value: 0.03472
> confint(fit) # confidence intervals for coefficients
2.5 % 97.5 %
IVA -1.7562828 0.4424337
IVB -0.5637040 1.7508125
IVC 0.3098469 2.4822305
Los errores estándar de las estimaciones de los coeficientes son la diagonal de la matriz $\hat{\sigma} (\bf{X}'\bf{X})^{-1}$ donde $\hat{\sigma}^{2} = ||e||^{2} / (N-P)$ es la estimación de la varianza del error ( $||e||^{2}$ es la suma de los residuos al cuadrado, $N$ el número total de observaciones, y $P$ el número de grupos), y $\bf{X}$ es la matriz de diseño. Con estos errores estándar y la $t_{\alpha/2; N-P}$ obtenemos los intervalos de confianza.
> sigHatSq <- sum(residuals(fit)^2) / (N-P)
> X <- model.matrix(fit) # design matrix
> (StdErr <- sqrt(diag(sigHatSq * solve(t(X) %*% X))))
IVA IVB IVC
0.5551059 0.5843418 0.5484577
> bJ - qt(0.025, N-P)*StdErr # confidence interval upper bound
IVA IVB IVC
0.4424337 1.7508125 2.4822305
> bJ + qt(0.025, N-P)*StdErr # confidence interval lower bound
IVA IVB IVC
-1.7562828 -0.5637040 0.3098469
En la correspondiente muestra única $t$ -Los CIs se basan en la desviación estándar de cada célula y en la $t_{\alpha/2; n_{j}-1}$ (nótese la diferente df que refleja que la estimación del error se basa en menos observaciones).
> t.test(DV[IV == "A"])$conf.int
[1] -1.763466 0.449617
> t.test(DV[IV == "B"])$conf.int
[1] -0.679711 1.866819
> t.test(DV[IV == "C"])$conf.int
[1] 0.3504876 2.4415898
> sdJ <- tapply(DV, IV, sd) # group standard deviations
> Mj - qt(0.025, Nj-1)*(sdJ / sqrt(Nj)) # confidence interval upper bound
A B C
0.449617 1.866819 2.441590
> Mj + qt(0.025, Nj-1)*(sdJ / sqrt(Nj)) # confidence interval lower bound
A B C
-1.7634661 -0.6797110 0.3504876