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 开发, ...
- JVM学习笔记——GC算法
GC 算法 GC 即 Garbage Collection 垃圾回收.JVM 中的 GC 99%发生在堆中,而 Java 堆中采用的垃圾回收机制为分代收集算法.即将堆分为新生代和老年代,根据不同的区域 ...
- 从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践
作者 | 落语 阿里云云原生技术团队 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复"入门",即可获取 S ...
- MSSQL还原数据库,更改用户登陆权限
有的时候还原完数据库后,使用账号登陆不进去,报告没有这个用户的时候,可以使用以下sql解决: sp_change_users_login 'update_one','username','userna ...
- 每日总结:Java基本语法 (2021.9.23)
对象:对象是类的一个实例,有状态和行为. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实 ...
- 题解 Children Trips
题目传送门 Description 给出一个大小为 \(n\) 的边权全为 \(1,2\) 的带权树,有 \(q\) 此查询,每次给出 \(u,v,p\) ,问 \(u\to v\) 每次可以最多走边 ...
- Redis使用过程中有哪些注意事项?看看BAT这类的公司是正确使用Redis的!!
Redis使用过程中要注意的事项 Redis使用起来很简单,但是在实际应用过程中,一定会碰到一些比较麻烦的问题,常见的问题有 redis和数据库数据的一致性 缓存雪崩 缓存穿透 热点数据发现 下面逐一 ...
- 【UE4 C++ 基础知识】<1> UPROPERTY宏、属性说明符、元数据说明符
属性声明 属性使用标准的C++变量语法声明,前面用UPROPERTY宏来定义属性元数据和变量说明符. UPROPERTY([specifier, specifier, ...], [meta(key= ...
- makedown笔记
makedown语法 表格 这个表格的主题 |姓名|性别|年龄|职业| | ----- | ----- | ----- | ----- | |张三|男|34|码农| |李四|男|27|代驾| 这个表格 ...
- 轻松掌握stm32直流电机驱动与测速
说实话就现在的市场应用中stm32已经占到了绝对住到的地位,51已经成为过去式,32的功能更加强大,虽然相应的难度有所增加,但是依然阻止不了大家学习32的脚步,不说大话了这些大家都懂要不然也不会学习s ...