Lassen Sie uns ein lineares Modell haben, zum Beispiel nur eine einfache ANOVA:
# data generation
set.seed(1.234)
Ng <- c(41, 37, 42)
data <- rnorm(sum(Ng), mean = rep(c(-1, 0, 1), Ng), sd = 1)
fact <- as.factor(rep(LETTERS[1:3], Ng))
m1 = lm(data ~ 0 + fact)
summary(m1)
Ergebnis ist wie folgt:
Call:
lm(formula = data ~ 0 + fact)
Residuals:
Min 1Q Median 3Q Max
-2.30047 -0.60414 -0.04078 0.54316 2.25323
Coefficients:
Estimate Std. Error t value Pr(>|t|)
factA -0.9142 0.1388 -6.588 1.34e-09 ***
factB 0.1484 0.1461 1.016 0.312
factC 1.0990 0.1371 8.015 9.25e-13 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.8886 on 117 degrees of freedom
Multiple R-squared: 0.4816, Adjusted R-squared: 0.4683
F-statistic: 36.23 on 3 and 117 DF, p-value: < 2.2e-16
Nun versuche ich zwei verschiedene Methoden, um das Konfidenzintervall dieser Parameter abzuschätzen
c = coef(summary(m1))
# 1st method: CI limits from SE, assuming normal distribution
cbind(low = c[,1] - qnorm(p = 0.975) * c[,2],
high = c[,1] + qnorm(p = 0.975) * c[,2])
# 2nd method
confint(m1)
Fragen:
- Wie ist die Verteilung der geschätzten linearen Regressionskoeffizienten? Normal oder ?
- Warum liefern beide Methoden unterschiedliche Ergebnisse? Unter der Annahme einer normalen Verteilung und einer korrekten SE würde ich erwarten, dass beide Methoden zum gleichen Ergebnis führen.
Vielen Dank!
Daten ~ 0 + Fakt
BEARBEITEN nach einer Antwort :
Die Antwort ist genau, dies ergibt genau das gleiche Ergebnis wie confint(m1)
!
# 3rd method
cbind(low = c[,1] - qt(p = 0.975, df = sum(Ng) - 3) * c[,2],
high = c[,1] + qt(p = 0.975, df = sum(Ng) - 3) * c[,2])