Lme4-Nlme

從 lmer 獲得自由度

  • April 17, 2015

我已經為 lmer 模型擬合了以下內容(儘管是虛構的輸出):

Random effects:
Groups        Name        Std.Dev.
day:sample (Intercept)    0.09
sample        (Intercept) 0.42
Residual                  0.023 

我真的很想使用以下公式為每個效果建立一個置信區間:

有沒有辦法方便地擺脫自由度?

相反,我只會創建輪廓似然置信區間。它們是可靠的,並且使用“lme4”包很容易計算。例子:

> library(lme4)
> fm = lmer(Reaction ~ Days + (Days | Subject),
           data=sleepstudy)
> summary(fm)
[…]
Random effects:
Groups   Name        Variance Std.Dev. Corr
Subject  (Intercept) 612.09   24.740       
         Days         35.07    5.922   0.07
Residual             654.94   25.592       

您現在可以使用以下confint()函數計算輪廓似然置信區間:

> confint(fm, oldNames=FALSE)
Computing profile confidence intervals ...
                              2.5 % 97.5 %
sd_(Intercept)|Subject        14.381  37.716
cor_Days.(Intercept)|Subject  -0.482   0.685
sd_Days|Subject                3.801   8.753
sigma                         22.898  28.858
(Intercept)                  237.681 265.130
Days                           7.359  13.576

您還可以使用參數引導程序來計算置信區間。這是 R 語法(使用parm參數來限制我們想要置信區間的參數):

> confint(fm, method="boot", nsim=1000, parm=1:3)
Computing bootstrap confidence intervals ...
                             2.5 % 97.5 %
sd_(Intercept)|Subject       11.886 35.390
cor_Days.(Intercept)|Subject -0.504  0.929
sd_Days|Subject               3.347  8.283

每次運行的結果自然會有所不同。您可以增加nsim以減少這種變化,但這也會增加估計置信區間所需的時間。

引用自:https://stats.stackexchange.com/questions/146988

comments powered by Disqus