Tôi hiểu rằng chúng tôi sử dụng các mô hình hiệu ứng ngẫu nhiên (hoặc hiệu ứng hỗn hợp) khi chúng tôi tin rằng một số tham số mô hình thay đổi ngẫu nhiên theo một số yếu tố nhóm. Tôi có mong muốn phù hợp với một mô hình trong đó phản hồi đã được chuẩn hóa và tập trung (không hoàn hảo, nhưng khá gần) qua một yếu tố nhóm, nhưng một biến độc lập x
chưa được điều chỉnh theo bất kỳ cách nào. Điều này dẫn tôi đến thử nghiệm sau (sử dụng dữ liệu bịa đặt ) để đảm bảo rằng tôi sẽ tìm thấy hiệu ứng mà tôi đang tìm kiếm nếu nó thực sự ở đó. Tôi đã chạy một mô hình hiệu ứng hỗn hợp với một đánh chặn ngẫu nhiên (giữa các nhóm được xác định bởi f
) và một mô hình hiệu ứng cố định thứ hai với yếu tố f là một yếu tố dự đoán hiệu ứng cố định. Tôi đã sử dụng gói R lmer
cho mô hình hiệu ứng hỗn hợp và hàm cơ sởlm()
cho mô hình hiệu ứng cố định. Sau đây là dữ liệu và kết quả.
Lưu ý rằng y
, bất kể nhóm nào, thay đổi trong khoảng 0. Và x
thay đổi nhất quán y
trong nhóm, nhưng thay đổi nhiều hơn giữa các nhóm so vớiy
> data
y x f
1 -0.5 2 1
2 0.0 3 1
3 0.5 4 1
4 -0.6 -4 2
5 0.0 -3 2
6 0.6 -2 2
7 -0.2 13 3
8 0.1 14 3
9 0.4 15 3
10 -0.5 -15 4
11 -0.1 -14 4
12 0.4 -13 4
Nếu bạn thích làm việc với dữ liệu, đây là dput()
đầu ra:
data<-structure(list(y = c(-0.5, 0, 0.5, -0.6, 0, 0.6, -0.2, 0.1, 0.4,
-0.5, -0.1, 0.4), x = c(2, 3, 4, -4, -3, -2, 13, 14, 15, -15,
-14, -13), f = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L,
4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor")),
.Names = c("y","x","f"), row.names = c(NA, -12L), class = "data.frame")
Lắp mô hình hiệu ứng hỗn hợp:
> summary(lmer(y~ x + (1|f),data=data))
Linear mixed model fit by REML
Formula: y ~ x + (1 | f)
Data: data
AIC BIC logLik deviance REMLdev
28.59 30.53 -10.3 11 20.59
Random effects:
Groups Name Variance Std.Dev.
f (Intercept) 0.00000 0.00000
Residual 0.17567 0.41913
Number of obs: 12, groups: f, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 0.008333 0.120992 0.069
x 0.008643 0.011912 0.726
Correlation of Fixed Effects:
(Intr)
x 0.000
Tôi lưu ý rằng thành phần phương sai đánh chặn được ước tính 0, và quan trọng đối với tôi, x
không phải là một yếu tố dự báo đáng kể y
.
Tiếp theo, tôi phù hợp với mô hình hiệu ứng cố định với f
vai trò là công cụ dự đoán thay vì hệ số nhóm cho một lần đánh chặn ngẫu nhiên:
> summary(lm(y~ x + f,data=data))
Call:
lm(formula = y ~ x + f, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.16250 -0.03438 0.00000 0.03125 0.16250
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.38750 0.14099 -9.841 2.38e-05 ***
x 0.46250 0.04128 11.205 1.01e-05 ***
f2 2.77500 0.26538 10.457 1.59e-05 ***
f3 -4.98750 0.46396 -10.750 1.33e-05 ***
f4 7.79583 0.70817 11.008 1.13e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1168 on 7 degrees of freedom
Multiple R-squared: 0.9484, Adjusted R-squared: 0.9189
F-statistic: 32.16 on 4 and 7 DF, p-value: 0.0001348
Bây giờ tôi nhận thấy rằng, như mong đợi, x
là một yếu tố dự báo quan trọng y
.
Điều tôi đang tìm kiếm là trực giác về sự khác biệt này. Theo cách nào thì suy nghĩ của tôi sai ở đây? Tại sao tôi không mong đợi tìm thấy một tham số quan trọng cho x
cả hai mô hình này nhưng chỉ thực sự nhìn thấy nó trong mô hình hiệu ứng cố định?
x
biến không đáng kể. Tôi nghi ngờ đó là kết quả tương tự (hệ số và SE) mà bạn sẽ chạylm(y~x,data=data)
. Không có thêm thời gian để chẩn đoán, nhưng muốn chỉ ra điều này.