R数据分析:二分类因变量的混合效应,多水平logistics模型介绍
今天给大家写广义混合效应模型Generalised Linear Random Intercept Model的第一部分 ,混合效应logistics回归模型,这个和线性混合效应模型一样也有好几个叫法:
Mixed Effects Logistic Regression is sometimes also called Repeated Measures Logistic Regression, Multilevel Logistic Regression and Multilevel Binary Logistic Regression .
之后如果你遇到重复测量logistics回归,多水平logistics回归,你就应该知道他们都是指的是混合效应logistics回归模型这一个东西。
模型介绍
重复测量和嵌套数据是科研中很常见的,此时需要考虑多水平模型来更好地分解变异,因变量是二分类变量的时候我们会用logistics回归,多水平模型和logistics模型两个一结合就是非常经典的广义线性混合模型之一-----------多水平logistics回归。
就是这么简单。
为了更好地帮助大家理解,我们先回顾一下混合效应的一般写法,以随机截距为例子,当我们的因变量是连续的,此时我们可以做混合效应模型,比如我们的随机截距混合效应模型就是如下,其中uj就叫做随机截距(去翻翻之前的文章哈):
再扩展一下,当我们的因变量Y不是正态分布的时候,我们就有广义线性随机效应模型如下:
多了一个链接函数link funtion,其余都一样的。这个链接函数可以是logit,可以是probit等等。
那么具体到因变量是二分类的时候我们就要用logit链接函数了。
此时我们的混合logistics模型的图示如下:
左上角就是大家都知道的logistics回归模型,右上角是随机截距logistics模型,左下角是随机斜率logistics回归模型,右下角就是既有随机截距又有随机斜率的logistics模型啦,和之前给大家写的线性混合模型一模一样的。
然后对于这么一个随机截距模型,我们有固定效应部分的系数如下表:
其中β0就是截距,是x取0的时候y取1的log-odds(看不明白log-odds的同学去瞅瞅logistics机器学习的文章哈),β1是在控制了其余变量的情况下x每增长一个单位,log-odds的增长量;我们要报告的expβ1,这个就是odds ratio,就是论文中常见的风险相对于参考组增加多少多少倍的意思。
我们还有随机效应部分的系数:
此部分就体现出来整个模型的变异分解,Uj就是组(嵌套的高水平)j对log-odds的作用,这就体现了嵌套数据的影响。这个uj也是服从正态分布的,标准差σ就是组水平上的效应扰动。
模型设定
在R语言中具体的随机效应的设定,请大家参考下表(建议大家收藏起来,自己试试哈):
依然是给大家写一个例子:
实例解析
首先还是先介绍一下手上的数据,一个医院不同医生接诊的肺癌患者的数据库,很明显我们知道,病人是嵌套在医生水平的,我现在感兴趣病人病情恢复情况remission的相关因素,包括病人的特征和医生的特征:
数据大概长这样:
超级简单的一个示例数据哈,其中DID是医生编号,Experience是医生的经验,我现在简单的认为,医生经验和病人病情都会对恢复结局产生影响,我就想跑跑回归看看结果,考虑到数据的嵌套特性我得使用多水平模型,remission是一个二分类变量,于是我们得考虑用多水平的logistics模型。
拟合模型的代码如下:
m_ri <- glmer(remission ~ CancerStage * Experience +
(1 | DID), data = d, family = binomial, control = glmerControl(optimizer = "bobyqa"))
我们用到的函数是glmer,这个是专门的广义线性混合模型的拟合函数,其参数一般形式如下:
在使用该函数的时候,我需要在formula参数中设定模型的固定效应和随机效应,family参数用来设定模型链接函数的分布族,control参数用来设定模型优化器,nAGQ越大模型拟合越慢同时也越精确。
运行我们刚刚的代码输出结果如下图:
看固定效应的系数:Experience的系数是正的0.09,内在的意思就是提示我们看病的时候还是得去找老大夫。哈哈哈。
其实这个模型还是有交互项的,就是相同的病情在不同经验的大夫手上结果会不会有差异,看图:
plot_model(m_ri, type = "int")
我们的分析结果再一次应证了得肺癌了应该去看经验丰富的老大夫才好。
模型的输出结果中是有拟合优度指标的:
比如有同学好奇,这个数据我就用普通的logistics回归,它的结果和多水平logistics回归到底差异有多大?
好的,我们来把两个结果放一起看看:
m2 <- glm(remission ~ CancerStage * Experience, data = d, family = binomial)
从输出结果看,两个模型对系数的结论似乎都是一致的,但是,一定注意R方,多水平模型的R方是普通logistics回归的2倍,模型的AIC也小很多;ICC这个是看有没有嵌套的指标,此例中icc达到了快0.5,也提示组内相关很大,我们有必要考虑数据的嵌套特性。
上面的优势就导致多水平logistics回归的系数估计一定是比普通回归更为准确的。
当然,你还可以进行模型间的Likelihood ratio test似然比检验:
anova(m_ri, m2)
模型比较的结果也显示多水平模型是显著地优于普通logistics回归模型的。
以上就是多水平logistics模型的做法。上面的例子中我只跑了随机截距模型,大家可以用同样的设定自己跑跑随机斜率模型,然后进行模型比较,练练手。
小结
今天给大家写了logistics多水平模型的做法,希望能给大家以启发,感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞分享。
也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,另欢迎私信。
如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、模型构建等发愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何问题,都可以联系我。因为我可以给您提供最好的,最详细和耐心的数据分析服务。
如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #Reports, #Composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??
Then Contact Me. I will solve your Problem...
往期精彩
R数据分析:随机截距交叉滞后RI-CLPM与传统交叉滞后CLPM
R数据分析:二分类因变量的混合效应,多水平logistics模型介绍的更多相关文章
- SPSS数据分析—二分类Logistic回归模型
对于分类变量,我们知道通常使用卡方检验,但卡方检验仅能分析因素的作用,无法继续分析其作用大小和方向,并且当因素水平过多时,单元格被划分的越来越细,频数有可能为0,导致结果不准确,最重要的是卡方检验不能 ...
- P,R,F1 等性能度量(二分类、多分类)
总结自<机器学习>周志华 2.3 目录 最常用的是查准率P(precision),查全率R(recall),F1 一.对于二分类问题 二.对于多分类问题 1.macro 2.micro 最 ...
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
最近看了好多潜类别轨迹latent class trajectory models的文章,发现这个方法和我之前常用的横断面数据的潜类别和潜剖面分析完全不是一个东西,做纵向轨迹的正宗流派还是这个方法,当 ...
- 《R包的分类介绍》
R分析空间数据(Spatial Data) R机器学习包(Machine Learning) R多元统计包(Multivariate Statistics) R药物(代谢)动力学数据分析包 R计算计量 ...
- R语言与分类算法的绩效评估(转)
关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们 ...
- R数据分析:跟随top期刊手把手教你做一个临床预测模型
临床预测模型也是大家比较感兴趣的,今天就带着大家看一篇临床预测模型的文章,并且用一个例子给大家过一遍做法. 这篇文章来自护理领域顶级期刊的文章,文章名在下面 Ballesta-Castillejos ...
- R数据分析:临床预测模型中校准曲线和DCA曲线的意义与做法
之前给大家写过一个临床预测模型:R数据分析:跟随top期刊手把手教你做一个临床预测模型,里面其实都是比较基础的模型判别能力discrimination的一些指标,那么今天就再进一步,给大家分享一些和临 ...
- SPSS数据分析—多分类Logistic回归模型
前面我们说过二分类Logistic回归模型,但分类变量并不只是二分类一种,还有多分类,本次我们介绍当因变量为多分类时的Logistic回归模型. 多分类Logistic回归模型又分为有序多分类Logi ...
- 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure(对于二分类问题)
首先我们可以计算准确率(accuracy),其定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比.也就是损失函数是0-1损失时测试数据集上的准确率. 下面在介绍时使用一下例子: 一个 ...
随机推荐
- DBeaver MSSQL 支持TLS设置
DBeaver是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议.可以通过官方网站或者 Github 进行下载. 由于 DBeaver 基于 Java 开发, ...
- Unity——FSM有限状态机
FSM有限状态机 一.设计思路 1.共同的状态父类,提供可重写的进入,保持,退出该状态的生命周期方法: 2.状态机,管理所有状态(增删查改),状态机运行方法(Run): 3.在角色控制器中,实例化状态 ...
- TWAIN-v2.4-说明文档翻译(1)介绍
介绍 Introduction 一致性需求(Need for Consistency) 对于扫描仪,数字摄像仪,以及其他图像获取设备,用户渴望发现将图像合并到他们的文档以及其他工作的价值.然而,支持展 ...
- canvas 实现简单的画板功能添加手机端效果 1.01
在上次的基础上,加了一些代码,手机端可操作 访问网址:https://chandler712.github.io/Item/ <!-- 简单版画板 --> <!DOCTYPE htm ...
- 图解java 多线程模式 读书笔记
第1章"Single Threaded Execution模式--能通过这座桥的只有一个人" 该模式可以确保执行处理的线程只能是一个,这样就可以有效防止实例不一致. 第⒉章&quo ...
- FastAPI 学习之路(三十八)Static Files
如果使用前后台不分离的开发方式,那么模板文件中使用的静态文件,比如css/js等文件的目录需要在后台进行配置,以便模板渲染是能正确读到这些静态文件.那么我们应该如何处理呢. 首先安装依赖 pip in ...
- 【数据结构与算法Python版学习笔记】递归(Recursion)——优化问题与策略
分治策略:解决问题的典型策略,分而治之 将问题分为若干更小规模的部分 通过解决每一个小规模部分问题,并将结果汇总得到原问题的解 递归算法与分治策略 递归三定律 体现了分支策略 应用相当广泛 排序 查找 ...
- [软工顶级理解组] Alpha阶段项目展示
目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...
- activemq实现队列的独有消费
在我们实际的开发中可能存在这么一种情况,应用程序要向一个队列名为queue的队列中发送3条消息,需要保证这3条消息按顺序消费.必须是第一条消费完,在消费第二条然后是第三条.而我们的程序中可能有时候存在 ...
- Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面
摘要:二进制SCA工具要想更好的辅助安全人员实现安全审计.降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战. ...