stata行logistic回归交互项(交互作用)的可视化分析(1)
交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,不仅如此,交互作用还可以使用来进行数据挖掘。在既往文章中,我们已经介绍了怎么使用R语言可视化visreg包对交互作用进行可视化分析(见下图),
在既往文章中,我们已经使用R语言和SPSS分别绘制了logistic回归交互效应的可视化分析,后台有粉丝希望做一期stata交互效应的可视化分析,现在我们来使用stata演示一下logistic回归交互项(交互作用)的可视化分析,继续使用我们的不孕症数据(公众号回复:不孕症,可以获得数据),这样有助于对结果进行比较。
我们先导入数据数据看一下
数据有8个指标,最后两个是PSM匹配结果,我们不用理他,其余六个为:
Education:教育程度,age:年龄,parity产次,induced:人流次数,case:是否不孕,这是结局指标,spontaneous:自然流产次数。
先把Education这个指标转成数字
g edu=2
replace edu=0 if education=="0-5yrs"
replace edu=1 if education=="6-11yrs"
我们进行的logistic回归可视化,肯定要先建立logistic回归模型,假设我们想知道age和spontaneous有无交互,模型可以界面操作也可以代码,我就直接代码了,这里要说明一下,在stata中#号代表交互的意思(和R不一样,R是*号),age前面加个c.代表这是连续变量,spontaneous前面加个i.代表这是分类变量
logistic case age i.edu parity i.induced i.spontaneous c.age#i.spontaneous
算出来的结果后,我们生成它的概率
predict fit
生成概率后就可以做图了,主要是用到twoway这个函数做图,下面我们来由简单到复杂,慢慢深入应用这个函数作图,以便加深这个函数的了解。
我们先来做一个简单的点图,这个函数的主体是twoway,加上scatter表示绘制点图,如果加上line表示绘制线图,connected表示散点和线的连接图。下面代码中fit 和age是我们的变量,if spontaneous0 表示条件判断,意思是绘制spontaneous0 的fit 和age关系散点
twoway scatter fit age if spontaneous==0, sort
twoway scatter fit age if spontaneous0, sort和twoway (scatter fit age if spontaneous0, sort)的代码是一样的,等于用括号括起来。
twoway (scatter fit age if spontaneous==0, sort)
下面我们把上面代码中的scatter换成connected,这样就是点线连接图
twoway (connected fit age if spontaneous==0, sort)
我们已经做了spontaneous0的连接图,同理稍稍修改就可以做spontaneous1和spontaneous==2的连接图,3个线条同时作图
twoway (connected fit age if spontaneous==0, sort) (connected fit age if spontaneous==1, sort lp(-)) (connected fit age if spontaneous==2, sort lp(-))
这个图是散点连接图,好像有点丑,我们对它进行改动一下,在每个线图的后面加上一句(qfit fit age if spontaneous==n),就可以根据散点拟合线条
twoway (scatter fit age if spontaneous==0, sort) (qfit fit age if spontaneous==0 )(scatter fit age if spontaneous==1, sort lp(-))(qfit fit age if spontaneous==1 ) (scatter fit age if spontaneous==2, sort lp(-)) (qfit fit age if spontaneous==2 )
哎,这样好像好看一点了,好歹有个趋势,如果不想要散点
twoway (qfit fit age if spontaneous==0 )(qfit fit age if spontaneous==1 ) (qfit fit age if spontaneous==2 )
如果不想要曲线可以改成直线
twoway (lfit fit age if spontaneous==0 )(lfit fit age if spontaneous==1 ) (lfit fit age if spontaneous==2 )
最后加上图例
twoway (lfit fit age if spontaneous==0 )(lfit fit age if spontaneous==1 ) (lfit fit age if spontaneous==2 ),legend(lab(1 "spontaneous==0 ") lab(2 "spontaneous==1 ") lab(3 "spontaneous==3 "))
还可以修改图例位置
twoway (lfit fit age if spontaneous==0 )(lfit fit age if spontaneous==1 ) (lfit fit age if spontaneous==2 ),legend(lab(1 "spontaneous==0 ") lab(2 "spontaneous==1 ") lab(3 "spontaneous==3 ") ring(0) pos(1))
这样基本就做好了,还可以加上标题和修改X轴和Y轴名字等等,我就不一一演示了。Twoway这个函数还有很多强大的功能,我们将在以后的文章中一一演示。另外COX回归的交互可视化做法也差不多,有兴趣的可以自己试试。
stata行logistic回归交互项(交互作用)的可视化分析(1)相关推荐
- R语言logistic回归交互项(交互作用)的可视化分析3
既往我们对logistic回归交互项(交互作用)进行了可视化分析,很多人对交互作用影响还不是很明白,都在后台发私信询问.其实交互作用就是一个变量通过对另一个变量的影响,导致结局变量改变,最常见的就是我 ...
- R语言logistic回归交互项(交互作用)的可视化分析2
交互作用效应(p for Interaction)在SCI文章中可以算是一个必杀技,几乎在高分的SCI中必出现,因为把人群分为亚组后再进行统计可以增强文章结果的可靠性,不仅如此,交互作用还可以使用来进 ...
- R语言logistic回归交互项(交互作用)的可视化分析
交互作用我们在前面已经说过,就不具体说了.在SCI论文中可以起到画龙点睛,并能进一步挖掘数据之间的亚组关系,进行数据挖掘也非常实用,交互项的可视化能把交互数据之间的关系明白的展示出来,在实际论文中绝对 ...
- stata进行logistic回归内部验证和外部验证
我们既往已经介绍了使用Stata进行logistic回归绘制列线图并做内部验证,不少粉丝发信息问我怎么进行外部验证.今天我们来介绍一下,继续使用我们的不孕症数据(公众号回复:不孕症可以获得该数据).我 ...
- logistic回归报错问题:Warning messages: 1: glm.fit:算法没有聚合 2: glm.fit:拟合機率算出来是数值零或一
logistic回归的时候报错问题包括下面两种 Warning: glm.fit: algorithm did not converge Warning: glm.fit: fitted probab ...
- 06.Logistic回归与最大熵模型(学习笔记)
06.Logistic回归与最大熵模型 参考: 袁春老师<大数据机器学习公开课>:https://www.xuetangx.com/course/THU08091001026/103331 ...
- 有序分类logistic回归-R语言
有序分类logistic回归 正如字面理解,包含两个方面:一是有序性,如调研中常用的满意度常用李克特量表,即有序的因变量:二是logistic分类,如1代表优秀.2代表良好.3代表一般等等. 因变量为 ...
- 手动以及使用torch.nn实现logistic回归和softmax回归
其他文章 手动以及使用torch.nn实现logistic回归和softmax回(当前文章) 手动以及使用torch.nn实现前馈神经网络实验 文章目录 任务 一.Pytorch基本操作考察 1.1 ...
- 多项logistic回归系数解释_深入解读Logistic回归结果(一):回归系数,OR
深入解读Logistic回归结果(一):回归系数,OR 关键词:Logistic回归分析.lasso回归系数解读.回归系数解读 Logistic回归虽然名字叫"回归" ,但却是一种 ...
- Stata:如何输入交互项
方法一:stata中使用命令 "gen c = a*b"产生新变量代表交互项c. 方法二:stata回归命令中输入命令:c.x1#c.x2.c.x1#c.x2前的系数代表交互性系数
最新文章
- 为什么java单精度要f_为什么快速反平方根如此奇怪和慢Java?
- IBM X3650 WIN2003安装详细方法
- 分酒问题matlab代码,matlab葡萄酒分类数据归一化问题
- 12.5K 颗星星的 C++ 教程,带你高速上手现代 C++ !
- SAP Cloud for Customer的产品主数据通过PI同步到CRM
- CASREL:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction(关系抽取,ACL2020,重叠关系)
- ajax发送请求和数据返回,Ajax发送和接收请求
- jsp连接sqlServer数据库教程、jsp连接sqlServer数据库报ClassNotFoundException异常
- 标准模板库(STL)之算法篇 —— lower_bound/upper_bound
- Echarts地图配置
- flowable工作流所有业务概念
- esxi7.0虚拟机安装群辉DS3615-6.2.2版本
- 图片转Excel表格在线工具,分享几款不错的工具!
- PAT(甲级)2021年冬季考试 7-2 Rank a Linked List
- 解读国内外激光雷达技术差异
- 启明云端分享:出乎意料,原来旋钮屏还可以这么用
- 几何结构因子(Geometrical structure factor)和原子形状因子(atomic form factor)
- 【毕业设计】基于树莓派的指纹识别打卡系统 - 单片机 物联网
- 蓝墨云班课与中职计算机课,蓝墨云环境下中职《计算机应用基础》的对分课堂教学研究...
- AURIX™ Development Studio 安装使用