Tôi đang cố gắng tính toán các dự đoán hiệu ứng ngẫu nhiên từ mô hình hỗn hợp tuyến tính bằng tay và sử dụng ký hiệu được cung cấp bởi Wood trong Mô hình phụ gia tổng quát: giới thiệu với R (pg 294 / pg 307 của pdf), tôi đang bối rối về từng tham số đại diện.
Dưới đây là một bản tóm tắt từ Gỗ.
Xác định mô hình hỗn hợp tuyến tính
trong đó b N (0, ) và N (0, )
Nếu b và y là các biến ngẫu nhiên có phân phối chuẩn khớp
Dự đoán RE được tính bằng
trong đó
Sử dụng một ví dụ mô hình chặn ngẫu nhiên từ lme4
gói R tôi nhận được đầu ra
library(lme4)
m = lmer(angle ~ temp + (1 | replicate), data=cake)
summary(m)
% Linear mixed model fit by REML ['lmerMod']
% Formula: angle ~ temp + (1 | replicate)
% Data: cake
%
% REML criterion at convergence: 1671.7
%
% Scaled residuals:
% Min 1Q Median 3Q Max
% -2.83605 -0.56741 -0.02306 0.54519 2.95841
%
% Random effects:
% Groups Name Variance Std.Dev.
% replicate (Intercept) 39.19 6.260
% Residual 23.51 4.849
% Number of obs: 270, groups: replicate, 15
%
% Fixed effects:
% Estimate Std. Error t value
% (Intercept) 0.51587 3.82650 0.135
% temp 0.15803 0.01728 9.146
%
% Correlation of Fixed Effects:
% (Intr)
% temp -0.903
Vì vậy, từ điều này, tôi nghĩ = 23,51, có thể được ước tính từ và từ bình phương của phần dư dân số.cake$angle - predict(m, re.form=NA)
sigma
th = 23.51
zt = getME(m, "Zt")
res = cake$angle - predict(m, re.form=NA)
sig = sum(res^2) / (length(res)-1)
Nhân các số này lại với nhau
th * zt %*% res / sig
[,1]
1 103.524878
2 94.532914
3 33.934892
4 8.131864
---
không đúng khi so sánh với
> ranef(m)
$replicate
(Intercept)
1 14.2365633
2 13.0000038
3 4.6666680
4 1.1182799
---
Tại sao?
plot(residuals(m), cake$angle-predict(m, re.form=NULL)) ; plot(residuals(m), cake$angle-predict(m, re.form=NA))