Chúng ta hãy có một số mô hình tuyến tính, ví dụ chỉ đơn giản là 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)
Kết quả như sau:
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
Bây giờ tôi thử hai phương pháp khác nhau để ước tính khoảng tin cậy của các tham số này
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)
Câu hỏi:
- Sự phân bố của các hệ số hồi quy tuyến tính ước tính là gì? Bình thường hay ?
- Tại sao cả hai phương pháp mang lại kết quả khác nhau? Giả sử phân phối bình thường và SE chính xác, tôi mong muốn cả hai phương pháp đều có cùng kết quả.
Cảm ơn rât nhiều!
dữ liệu ~ 0 + thực tế
EDIT sau khi trả lời :
Câu trả lời là chính xác, điều này sẽ cho kết quả chính xác như 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])