Lme4-Nlme
從 lmer 獲得自由度
我已經為 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
以減少這種變化,但這也會增加估計置信區間所需的時間。