2017-05-30 319 views
0

我正在使用lmer函數的混合模型。我想獲得所有固定和隨機效應的p值。我能夠使用不同的方法獲得固定效果的p值,但我沒有發現任何隨機效果。無論我在互聯網上找到什麼方法,都要爲它創建一個空模型,然後通過比較得到p值。我可以有一種方法,我不需要製作另一種模型? 我的模型看起來像: mod1 = lmer(Out〜Var1 +(1 + Var2 | Var3),data = dataset)lmer中的隨機效應的p值

回答

0

您必須通過模型比較來做到這些,據我所知。 lmerTest軟件包有一個名爲step的功能,它將根據許多不同的測試將模型簡化爲重要參數(固定和隨機)。文檔並不完全清楚所有事情的完成情況,所以我更喜歡使用模型比較來獲得特定的測試。

對於你的模型,你可以通過指定測試隨機斜率:

mod0 <- lmer(Out ~ Var1 + (1 + Var2 | Var3), data = dataset, REML=TRUE) 
mod1 <- lmer(Out ~ Var1 + (1 | Var3), data = dataset, REML=TRUE) 
anova(mod0, mod1, refit=FALSE) 

這將顯示您的數似然測試和檢驗統計量(卡方分佈)。但是您在這裏測試兩個參數:Var2的隨機斜率以及隨機斜率和隨機截距之間的協方差。所以你需要一個p值調整:

1-(.5*pchisq(anova(mod0,mod1, refit=FALSE)$Chisq[[2]],df=2)+ 
    .5*pchisq(anova(mod0,mod1, refit=FALSE)$Chisq[[2]],df=1)) 

更多關於這些測試herehere

+0

感謝您的回答。但是,我正在尋找一個我不需要比較的答案。在尋找同樣的東西的時候,我有了一個新的方法。請對此評論我是否正確。這裏是方法: 我使用ranef()函數和標準錯誤計算隨機效應係數,使用arm包下的se.ranef()函數。現在,係數/標準誤差會給我t值。使用2 * pt(-abs(tval.ranefs),df = dof),我正在計算p值。我唯一的疑問是關於自由度。你能建議我,我應該採取什麼作爲自由度隨機效應? –