線形混合モデルの変量効果予測を手動で計算する


10

私は線形混合モデルからランダム効果予測を手作業で計算しようとしています、そして一般化された加法モデルでウッドによって提供された表記を使用しています:Rの紹介(pdfの294 / pg 307)、私は各パラメーターについて混乱していますを表します。

以下はウッドからの要約です。

線形混合モデルを定義する

Y=Xβ+Zb+ϵ

ここで、B N(0、ψ)、及びε N(0、σ 2ψϵσ2

bとyが結合正規分布の確率変数である場合

[by]N[[0Xβ],[ψΣbyΣybΣθσ2]]

RE予測は、

E[by]=ΣbyΣyy1(yxβ)=ΣbyΣθ1(yxβ)/σ2=ψzTΣθ1(yxβ)/σ2

Σθ=ZψZT/σ2+In

lme4Rパッケージのランダムインターセプトモデルの例を使用して出力を取得する

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

ψ(yXβ)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)

これらを掛け合わせると

th * zt %*% res / sig
         [,1]
1  103.524878
2   94.532914
3   33.934892
4    8.131864
---

と比較すると正しくありません

> ranef(m)
$replicate
   (Intercept)
1   14.2365633
2   13.0000038
3    4.6666680
4    1.1182799
---

どうして?

回答:


9

2つの問題(2番目の問題を見つけるのに40分ほどかかったと私は認めます):

  1. σ223.51

    sig <- 23.51

    ψ39.19

    psi <- 39.19
  2. 残差はで得られていないcake$angle - predict(m, re.form=NA)が、とresiduals(m)

それを一緒に入れて:

> psi/sig * zt %*% residuals(m)
15 x 1 Matrix of class "dgeMatrix"
         [,1]
1  14.2388572
2  13.0020985
3   4.6674200
4   1.1184601
5   0.2581062
6  -3.2908537
7  -4.6351567
8  -4.5813846
9  -4.6351567
10 -3.1833095
11 -2.1616392
12 -1.1399689
13 -0.2258429
14 -4.0974355
15 -5.3341942

これはに似ていranef(m)ます。

predict計算結果が本当にわかりません。


ϵ^PYP=V1V1X(XV1X)1XV1

ϵ^=σ2PY
b^=ψZtPY.

b^=ψ/σ2Ztϵ^


1
yxβplot(residuals(m), cake$angle-predict(m, re.form=NULL)) ; plot(residuals(m), cake$angle-predict(m, re.form=NA))

1
固定効果を使用する方法、および上記のE [b | y]の3番目のバージョン: z = getME(m, "Z") ; big_sig = solve(((z * psi) %*% zt ) / sig + diag(270)) ; psi/sig * zt %*% big_sig %*% (cake$angle-predict(m, re.form=NA))。正しい項目を指摘していただきありがとうございます。
user2957945 2016年

ΣbyΣyy

ΣybψZ

エルビス、私はこれについて別のことを考えさせられました(私は遅いことを知っています)。このように残差を使用することは、REレベルの予測値(および残差)を使用して計算するため、あまり意味がなく、方程式の両側で使用していると思います。(したがって、RE予測(E [b | y])を使用して、残差の予測を作成します(これらは予測しようとしている項ですが))
user2957945 '28
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.