R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
随着软件
包的进步,使用广义线性混合模型(GLMM)和线性混合模型(LMM)变得越来越容易。由于我们发现自己在工作中越来越多地使用这些模型,我们开发了一套R shiny工具来简化和加速与对象交互的lme4
常见任务。
相关视频:线性混合效应模型(LMM,Linear Mixed Models)和R语言实现
线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
时长12:13
shiny的应用程序和演示
演示此应用程序功能的最简单方法是使用Shiny应用程序,在此处启动一些指标以帮助探索模型。
在第一个选项卡上,该函数显示用户选择的数据的预测区间。该函数通过从固定效应和随机效应项的模拟分布中抽样并组合这些模拟估计来快速计算预测区间,以产生每个观察的预测分布。
在下一个选项卡上,固定效应和组级效果的分布在置信区间图上显示。这些对于诊断非常有用,并提供了检查各种参数的相对大小的方法。
在第三个标签上有一些方便的方法,显示效果的影响或程度predictInterval
。对于每种情况,最多12个,在所选数据类型中,用户可以查看更改固定效应的影响。这允许用户比较变量之间的效果大小,以及相同数据之间的模型之间的效果大小。
预测
预测像这样。
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
预测区间
较慢,因为它是模拟计算。
可视化
可视化检查对象的功能。最简单的是得到固定和随机效应参数的后验分布。
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模型的结果很困难,尤其是不同参数对预测结果的相对影响。
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
根据我们提供的newdata
在组因子系数的大小方面,从第一个到第五个分位数的变化。
ggplot(impSim, aes(x = factor(bin), y = AvgFit, ymin = AvgFit - 1.96*AvgFitSE,
ymax = AvgFit + 1.96*AvgFitSE)) +
非常感谢您阅读本文,有任何问题请在下面留言!
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)相关推荐
- R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析
R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录
- R语言计量(一):一元线性回归与多元线性回归分析
文章目录 一.数据调用与预处理 二.一元线性回归分析 三.多元线性回归分析 (一)解释变量的多重共线性检测 (二)多元回归 1. 多元最小二乘回归 2. 逐步回归 (三)回归诊断 四.模型评价-常用的 ...
- 在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析
广义相加模型(GAM:Generalized Additive Model),它模型公式如下:有p个自变量,其中X1与y是线性关系,其他变量与y是非线性关系,我们可以对每个变量与y拟合不同关系,对X2 ...
- R语言:作业六(逆变换法生成随机变量;线性同余发生器LCG的编写)
1. 用逆变换法编写产生下述随机变量的程序: X 0 1 p 0.4 0.6 模拟10000次,并确定随机变量的值0的比例. f <- function(n){{x <- rep(0,n) ...
- 用R语言进行数据探索
以iris数据集为例做演示. 1.查看数据 > #1.查看数据集的大小和结构,维度.名称.属性. > dim(iris) [1] 150 5 > names(iris) [1] &q ...
- R语言对数线性模型loglm函数_R 对数变换 《回归分析与线性统计模型》page103
BG:在box-cox变换中,当λ = 0时即为对数变换. 当所分析变量的标准差相对于均值而言比较大时,这种变换特别有用.对数据作对数变换常常起到降低数据波动性和减少不对称性的作用..这一变换也能有效 ...
- R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据...
全文下载链接:http://tecdat.cn/?p=24203 本教程使用R介绍了具有非信息先验的贝叶斯 GLM(广义线性模型) (点击文末"阅读原文"获取完整代码数据). 当前 ...
- R语言淮河流域水库水质数据相关性分析、地理可视化、广义相加模型GAM调查报告...
采样地点:淮河流域一带,昭平台水库.白龟山水库.燕山水库.石漫滩水库.板桥水库.宿鸭湖水库.博山水库.南湾水库.石山口水库.五岳水库.泼河水库.鲶鱼山水库(点击文末"阅读原文"获取 ...
- R语言逻辑回归预测分析付费用户
原文链接:http://tecdat.cn/?p=967 对于某企业新用户,会利用大数据来分析该用户的信息来确定是否为付费用户,弄清楚用户属性,从而针对性的进行营销,提高运营人员的办事效率(点击文末& ...
最新文章
- git push origin与git push -u origin master的区别
- HTML+CSS+JS实现 ❤️六边形圆柱弹性动画特效❤️
- linux-文件路径-相对路径-绝对路径
- Fourier变换、Laplace变换与广义函数总结
- 伟福6000微型计算机,伟福6000仿真软件
- JSP的注释、表达式、注意事项
- 消除PyCharm中满屏的波浪线
- 游戏服务器系统安装,修复Win10系统游戏服务无法安装错误 0x80073D26(4种方法)...
- EduCoder-Hive表DDL操作(一、二)答案-路漫漫远俢兮
- 一次关于架构的“嘴炮”
- 【云和恩墨大讲堂】黄宸宁 - 一次特殊的 ORA-04030 故障处理
- Java项目服务器cpu占用过高怎么办?
- Mysql 问题------解决1251 client does not support ...问题
- python编程课程-天津Python编程课程
- HLS视频服务器SRS简介
- 【url传参】之 获取url?后面的参数,对应参数名获取值 和 全量获取转换为对象结构两种方式
- Thrift 小试牛刀
- 深度学习(9) 计算机专业方面的期刊介绍
- python bind_Python tkinter之Bind(绑定事件)的使用示例
- matlab分类算法代码,实现几种经典的分类算法(ID3,C4.5等)