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])
r
regression
confidence-interval
Neugierig
quelle
quelle
Antworten:
(1) Wenn die Fehler normalverteilt sind und ihre Varianz nicht bekannt ist, hat eine Verteilung unter der Nullhypothese, dass der wahre Regressionskoeffizient ist. Standardmäßig wird getestet , daher sind die angegebenen Statistiken nur tβ0β0=0t β
R
Beachten Sie, dass die obige Statistik unter bestimmten Regularitätsbedingungen immer asymptotisch normal verteilt ist, unabhängig davon, ob die Fehler normal sind oder ob die Fehlervarianz bekannt ist.
(2) Der Grund, warum Sie unterschiedliche Ergebnisse erhalten, ist, dass sich die Perzentile der Normalverteilung von den Perzentilen der Verteilung unterscheiden . Daher ist der Multiplikator, den Sie vor dem Standardfehler verwenden, unterschiedlich, was wiederum unterschiedliche Konfidenzintervalle ergibt.t
Denken Sie insbesondere daran, dass das Konfidenzintervall bei Verwendung der Normalverteilung gleich ist
Dabei ist das Quantil der Normalverteilung. Im Standardfall eines -Konfidenzintervalls ist und . Das Konfidenzintervall bezogen auf die Verteilung beträgt α / 2 95 % α = 0,05 z α / 2 ≤ 1,96 tzα / 2 α / 2 95 % α = 0,05 zα / 2≈ 1.96 t
wobei der Multiplikator auf den Quantilen der Verteilung mit Freiheitsgraden basiert, wobei die Stichprobengröße und die Anzahl der Prädiktoren ist. Wenn groß ist, sind und ungefähr gleich.tα / 2 , n - p t n - p n p n tα/ 2 , n - p zα / 2
Unten ist eine grafische Darstellung der Multiplikatoren für Stichprobengrößen von bis (ich habe für diese grafische Darstellung angenommen , aber das ändert qualitativ nichts). Die Multiplikatoren sind größer, aber wie Sie unten sehen können, konvergieren sie mit zunehmender Stichprobengröße zum Multiplikator (durchgezogene schwarze Linie).t 5 300 p = 1 t z
quelle
confint(m1)
!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])