Miejmy jakiś model liniowy, na przykład po prostu 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)
Wynik jest następujący:
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
Teraz próbuję dwóch różnych metod, aby oszacować przedział ufności tych parametrów
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)
Pytania:
- Jaki jest rozkład szacowanych współczynników regresji liniowej? Normalny czy ?
- Dlaczego obie metody dają różne wyniki? Zakładając, że rozkład normalny i poprawny SE, oczekiwałbym, że obie metody będą miały ten sam wynik.
Dziękuję Ci bardzo!
dane ~ 0 + fakt
EDYCJA po odpowiedzi :
Odpowiedź jest dokładna, da to dokładnie taki sam wynik jak 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
Ciekawy
źródło
źródło
Odpowiedzi:
(1) Gdy błędy są zwykle dystrybuowane, a ich wariancja nie jest znana, wówczas ma rozkład pod hipotezą zerową, że jest prawdziwym współczynnikiem regresji. Domyślnie jest to test , więc statystyki podają, że są tylko
R
Należy zauważyć, że w niektórych warunkach prawidłowości powyższa statystyka jest zawsze asymptotycznie normalnie rozłożona, niezależnie od tego, czy błędy są normalne, czy też znana jest wariancja błędu.
(2) Powodem, dla którego otrzymujesz inne wyniki, jest to, że percentyle rozkładu normalnego różnią się od percentyli rozkładu . Dlatego mnożnik używany przed błędem standardowym jest inny, co z kolei daje różne przedziały ufności.t
W szczególności pamiętaj, że przedział ufności z wykorzystaniem rozkładu normalnego wynosi
gdzie jest kwantylem rozkładu normalnego. W standardowym przypadku przedziału ufności i . Przedział ufności oparty na rozkładzie wynosizα/2 α/2 95% α=.05 zα/2≈1.96 t
gdzie mnożnik opiera się na kwantylach dystrybucji o stopniach swobody, gdzie jest wielkością próby, a jest liczbą predyktorów. Gdy jest duże, i są mniej więcej takie same.tα/2,n−p t n−p n p n tα/2,n−p zα/2
Poniżej znajduje się wykres mnożników dla wielkości próbek od do (założyłem dla tego wykresu, ale to jakościowo niczego nie zmienia). W -multipliers są większe, ale, jak to widać poniżej, ale są zbieżne do (stały mnożnik czarna linia) wraz ze wzrostem wielkości próbki.t 5 300 p=1 t z
źródło
confint(m1)
w przypadku nawet małych próbek!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])