R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)
?原文鏈接:http://tecdat.cn/?p=3138
?
隨著軟件
包的進步,使用廣義線性混合模型(GLMM)和線性混合模型(LMM)變得越來越容易。由于我們發(fā)現(xiàn)自己在工作中越來越多地使用這些模型,我們開發(fā)了一套R shiny工具來簡化和加速與對象交互的lme4
常見任務。?
?
shiny的應用程序和演示
演示此應用程序功能的最簡單方法是使用Shiny應用程序,在此處啟動一些指標以幫助探索模型。?
?

在第一個選項卡上,該函數(shù)顯示用戶選擇的數(shù)據(jù)的預測區(qū)間。該函數(shù)通過從固定效應和隨機效應項的模擬分布中抽樣并組合這些模擬估計來快速計算預測區(qū)間,以產(chǎn)生每個觀察的預測分布。

在下一個選項卡上,固定效應和組級效果的分布在置信區(qū)間圖上顯示。這些對于診斷非常有用,并提供了檢查各種參數(shù)的相對大小的方法。

在第三個標簽上有一些方便的方法,顯示效果的影響或程度predictInterval
。對于每種情況,最多12個,在所選數(shù)據(jù)類型中,用戶可以查看更改固定效應的影響。這允許用戶比較變量之間的效果大小,以及相同數(shù)據(jù)之間的模型之間的效果大小。
預測
預測像這樣。
?
predict(m1, newdata
#> ? ? ? ?1 ? ? ? ?2 ? ? ? ?3 ? ? ? ?4 ? ? ? ?5 ? ? ? ?6 ? ? ? ?7 ? ? ? ?8
#> 3.146336 3.165211 3.398499 3.114248 3.320686 3.252670 4.180896 3.845218
#> ? ? ? ?9 ? ? ? 10
#> 3.779336 3.331012
預測lm
和glm
:
predInte(m1, newdata = Eval[1:10, ], n.sims = 500, level = 0.9,
#> ? ? ? ? fit ? ? ?lwr ? ? ?upr
#> 1 ?3.074148 1.112255 4.903116
#> 2 ?3.243587 1.271725 5.200187
#> 3 ?3.529055 1.409372 5.304214
#> 4 ?3.072788 1.079944 5.142912
#> 5 ?3.395598 1.268169 5.327549
#> 6 ?3.262092 1.333713 5.304931
預測區(qū)間
較慢,因為它是模擬計算。
?
可視化
可視化檢查對象的功能。最簡單的是得到固定和隨機效應參數(shù)的后驗分布。
?
head(Sim)
#> ? ? ? ? ?term ? ? ? ?mean ? ? ?median ? ? ? ? sd
#> 1 (Intercept) ?3.22673524 ?3.22793168 0.01798444
#> 2 ? ?service1 -0.07331857 -0.07482390 0.01304097
#> 3 ? lectage.L -0.18419526 -0.18451731 0.01726253
#> 4 ? lectage.Q ?0.02287717 ?0.02187172 0.01328641
#> 5 ? lectage.C -0.02282755 -0.02117014 0.01324410
我們可以這樣繪制:
pltsim(sim(m1, n.sims = 100), level = 0.9, stat = 'median'

?
我們還可以快速制作隨機效應的圖:
head(Sims)
#> ? groupFctr groupID ? ? ? ?term ? ? ? ?mean ? ? ?median ? ? ? ?sd
#> 1 ? ? ? ? s ? ? ? 1 (Intercept) ?0.15317316 ?0.11665654 0.3255914
#> 2 ? ? ? ? s ? ? ? 2 (Intercept) -0.08744824 -0.03964493 0.2940082
#> 3 ? ? ? ? s ? ? ? 3 (Intercept) ?0.29063126 ?0.30065450 0.2882751
#> 4 ? ? ? ? s ? ? ? 4 (Intercept) ?0.26176515 ?0.26428522 0.2972536
#> 5 ? ? ? ? s ? ? ? 5 (Intercept) ?0.06069458 ?0.06518977 0.3105805
plotR((m1, n.sims = 100), stat = 'median', sd = TRUE

有時,隨機效應可能難以解釋
Rank(m1, groupFctr = "d")
head(ranks)
#> ? ? ?d (Intercept) (Intercept)_var ? ? ? ER pctER
#> 1 1866 ? 1.2553613 ? ? 0.012755634 1123.806 ? 100
#> 2 1258 ? 1.1674852 ? ? 0.034291228 1115.766 ? ?99
#> 3 ?240 ? 1.0933372 ? ? 0.008761218 1115.090 ? ?99
#> 4 ? 79 ? 1.0998653 ? ? 0.023095979 1112.315 ? ?99
#> 5 ?676 ? 1.0169070 ? ? 0.026562174 1101.553 ? ?98
#> 6 ? 66 ? 0.9568607 ? ? 0.008602823 1098.049 ? ?97
效果模擬
?
解釋LMM和GLMM模型的結果很困難,尤其是不同參數(shù)對預測結果的相對影響。
impact(m1, Eval[7, ], groupFctr = "d", breaks = 5,
n.sims = 300, level = 0.9)
#> ? case bin ? AvgFit ? ? AvgFitSE nobs
#> 1 ? ?1 ? 1 2.787033 2.801368e-04 ?193
#> 2 ? ?1 ? 2 3.260565 5.389196e-05 ?240
#> 3 ? ?1 ? 3 3.561137 5.976653e-05 ?254
#> 4 ? ?1 ? 4 3.840941 6.266748e-05 ?265
#> 5 ? ?1 ? 5 4.235376 1.881360e-04 ?176
?
結果表明yhat
根據(jù)我們提供的newdata
在組因子系數(shù)的大小方面,從第一個到第五個分位數(shù)的變化。
ggplot(impSim, aes(x = factor(bin), y = AvgFit, ymin = AvgFit - 1.96*AvgFitSE,
ymax = AvgFit + 1.96*AvgFitSE)) +

?
非常感謝您閱讀本文,有任何問題請在下面留言!

最受歡迎的見解
1.基于R語言的lmer混合線性回歸模型
2.R語言用Rshiny探索lme4廣義線性混合模型(GLMM)和線性混合模型(LMM)
3.R語言線性混合效應模型實戰(zhàn)案例
4.R語言線性混合效應模型實戰(zhàn)案例2
5.R語言線性混合效應模型實戰(zhàn)案例
6.線性混合效應模型Linear Mixed-Effects Models的部分折疊Gibbs采樣
7.R語言LME4混合效應模型研究教師的受歡迎程度
8.R語言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預測GDP增長
9.使用SAS,Stata,HLM,R,SPSS和Mplus的分層線性模型HLM