Будемо мати лінійну модель, наприклад просто просту 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)
Результат такий:
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
Зараз я спробую два різні методи для оцінки довірчого інтервалу цих параметрів
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)
Запитання:
- Який розподіл розрахункових коефіцієнтів лінійної регресії? Звичайна чи ?
- Чому обидва методи дають різні результати? Якщо припустити нормальний розподіл і правильний SE, я очікую, що обидва методи матимуть однаковий результат.
Велике спасибі!
дані ~ 0 + факт
EDIT після відповіді :
Відповідь точна, це дасть точно такий же результат, як і 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])