中介与交互作用分析【9天实用统计学公益训练营Day6-1】
关注公众号的朋友都知道郑老师我之前连续4年开设了“30天学会医学统计学”从理论到实操一步一步教会大家统计学、SPSS课程。2026年我们对这门课程进行全新升级课程时间大幅度缩短内容大幅度提升我称为9天实用医学统计学公益训练营。课程介绍“9天实用医学统计学”公益训练营即将启动更高效、更高级的统计课本课程是浙江中医药大学医学统计学教研室的公益、免费公开视频课不是骗人入坑收费的广告。本课程公益视频课定期开课欢迎您参与学习。欢迎报名本公众号“医学论文与统计分析”后台回复“报名”加入微信学习群吧。Day 6-1 中介分析本章节主要介绍的是“中介作用”与“交互作用”分析。这两块内容一般来说并不是医学数据分析的主角往往起到的是辅助性的作用在医学论文里通常是锦上添花。但在某些特定场合它们的作用非常大。例如在护理研究中我们经常用到中介作用分析在临床数据分析中我们经常开展的亚组分析就属于交互作用分析的范畴。因此本章节将花较短的时间把这两块内容合在一起分别做介绍。中介作用分析我们先来了解一下中介变量的定义以及它与混杂变量的区别。所谓的中介变量我想很多人都明白。当我们探讨暴露因素导致疾病发生发展的过程时有些变量会起到一个中介的作用。比如说吸烟导致心脏病的发生那么可能吸烟会先引发高血压再导致心脏病再比如吸烟导致肺癌那么吸烟可能先产生慢阻肺COPD再产生肺癌。这里的“高血压”和“慢阻肺”都不是混杂因素但它们又是我们流行病学病因推断中必须排除、必须考虑的尤其在统计建模的时候是必须妥善处理的一类外部因子这就是中介变量。暴露因素X对结果Y的产生有些是直接的影响叫直接作用有些是间接的影响叫间接作用。比如X通过M产生的叫间接作用而X对Y直接作用就不通过M来发挥作用。因此暴露因素对结果的作用在本章节来看有两条路径。那么中间变量跟混杂变量的区别呢我想大家也比较清楚。混杂变量与X有关又与Y有因果关系但它不是M如果是M的话它就是中间变量。所以大家要学会区别中间变量跟混杂变量。特别注意这两种变量有时候是很难区分的因为从数据层面来看它们对暴露因素与结局的关联性比如HR或OR值都会有干扰。而且我们很难通过统计学方法去区分谁是中介、谁是混杂。一般情况下这需要从专业领域知识、文献知识以及以往的理论知识来做出判定。这是开展因果推断必须要思考的必要过程。如果你不好好思考把它搞混了那么结果就会出错。比如如果我们有混杂因素在回归分析时纳入混杂因素的确可以控制混杂偏倚。但是如果我们把中介变量与暴露因素一起纳入构建一个多因素回归模型就会扭曲暴露因素的作用。大家注意暴露因素X对结果Y的总效应是直接作用和间接作用两条路径加起来的总和。但如果这个时候你把中间变量放进模型那么间接的这条路径就被“阻断”了剩下的X对Y的作用就只剩下直接作用。这样算出来的直接作用是不充分的结果是有问题的。因此你必须要学会从专业领域知识出发很形象地展现X对Y的作用。这种形象化的展现我之前讲过可以用DAG有向无环图这个工具。当然必须跟你们说DAG本身也不能自动区分谁是中介、谁是混杂都需要自己有一定的专业知识来判定。当你能够分析出混杂和中介之后如果是混杂因素我们在回归的时候就会纳入混杂变量把它控制掉如果是中介变量那有两种状况如果你只是分析暴露因素的总效应那么中介变量千万不要放到模型里否则会扭曲暴露因素与结果的关联性如果你想分析中介效应那就要考虑专门的中介效应分析方案。如果你不讨论中介效应就千万不要把中介变量放入到模型里。√传统中介分析乘积法现在我们来了解一下传统中介分析方法--“乘积法”的分析步骤主要分为四步第一步建立X与Y的关系计算X的总效应系数为c。第二步看自变量与中介变量的关系构建模型算出a即X对中介变量M的作用。第三步同时把X和M纳入模型此时算出的有两个效应一个是X对Y的直接效应系数为c另一个是M对Y的作用系数为b。第四步计算中介效应。中介效应就是a乘以b中介效应占总效应的比例就是(a*b)/c。我们把这个示意图展示一下X对Y的总效应是cX对Y的直接效应是cX对M的作用是aM对Y的作用是b。那么a乘以b就是我们的中介效应间接效应。a乘以b加上c就是总效应c。所以你想知道中介效应占比那就是a乘以b除以c。案例血清中Klotho与糖尿病肾病的关系以全身炎症指数为中介我们还是拿之前讲过的文章举例研究血清中某些指标含量与死亡的关系以全身免疫炎症指数SII作为中介。首先我们可以分析X对Y的总效应因为其结局是生存时间我们构建Cox回归模型得到的回归系数或者HR反映的是c即总效应。其次要评价暴露因素对中介SII的作用即X对M的作用才是a我们也可以构建回归模型回归系数Beta就是我们想要的结果。然后我们分析X对Y的直接作用c这个时候模型里面加入了中介变量当模型加入了中介变量X对Y的作用只剩下直接作用。此外我们还能得到中介变量对Y的作用b。因此我们就可以得到a、b、c和c。我们把回归系数a乘以b这就是我们的间接作用也就是中介作用。比如总效应c等于0.07那意味着中介变量参与的中介作用在总效应的比重就是7%。这里的算法我们风暴统计平台没有额外提供特殊的黑箱操作一般就是用传统的乘积法结合Bootstrap法自助法可以获得中介效应占比的95%置信区间。√自然中介效应Natural Effects接下来我们讲讲现在流行的做法叫“自然中介效应”。我们刚才讲的是传统方法即路径系数乘积法一般通过回归系数a乘以b来估计中介效应。它隐含的假设是所有的变量都是线性的、无交互的。在复杂的模型中存在交互或者非线性的情况下传统方法可能会有偏倚。而“自然中介效应”是在反事实框架下得到的--它通过比较同一个体在不同反事实情境下的潜在结果做一个差异来定义效应。反事实框架如何与中介效应结合各位我们之前讲过反事实框架通过反事实会得到一个事实人群跟反事实人群两组之间的差别这就是我们说的效应。同样我们要评价中介效应也可以通过比较事实人群跟反事实人群的差别这样得到的中介效应就叫自然中介效应或者说自然直接效应和自然间接效应。这种反事实框架下的自然效应不依赖特定的模型形式甚至不依赖特定的关系有些时候X跟Y没有线性关系也是没问题的。“受控效应”的概念我们再来说一下我们传统的中介效应叫“受控效应”也就是将中介变量强制固定为某一个特定值然后讨论X对Y的影响。这种回归方法就是传统的乘积法利用回归方法算出的中介效应就是受控效应分析。这是一种干预情境下的一个效应不一定自然发生所以我们叫受控效应。“自然效应”的概念所谓的“自然效应”呢强调了一个关键理念中介变量被设定为其在自然状况下出现的一个值。在自然情况下你是怎么样子的那我们找到一个反事实的状态下然后比较一下出来的结果那就是很真实的了。所以自然效应就是让中介变量取反事实状态下的自然值通过比较事实跟反事实下的两种结果之间的差值就可以计算出自然中介效应。这个概念理解起来是有点难的在一般情况下你可以先忽略你可以把它等同于在反事实框架下计算的中介效应。“自然间接效应NIE”的概念这里就有“自然间接效应NIE”它衡量的是中介变量所传导的效应。这里的反事实定义是如果保持暴露因素不变将中间变量改变为“有暴露”和“无暴露”两种互为反事实的状态它们之间结局的差异就是自然间接效应即中介效应。我们同时可以理解为当所有人都接受暴露但是将其中介变量人为地设置为未暴露的时候结局就会发生什么变化“自然直接效应NDE”的概念“自然直接效应NDE”是另外一个东西是我们讲的暴露因素的直接效应衡量暴露因素直接影响结局的效应。它的反事实状态就是保持中介变量不变比较“有暴露”和“无暴露”两种反事实状态下的结局差异性。比如说如果所有人的中介变量都固定为未暴露时我们施加暴露和未暴露这两者之间两种潜在结果的差别就是我们的自然直接效应。大家可以想象一下假如中间变量不变那么在这种情况下暴露因素的事实人群跟反事实人群的比较不就是我们讲的直接效应吗反正自然直接效应跟自然间接效应都是反事实框架下的产物。大家其实不需要死记硬背去理解它但现在这种研究中介效应是比较时髦的。像R语言大部分的中介效应的包分析的都是自然直接效应和间接作用。比如说现在这个自然中介作用比如我们传统的mediation包它产生的中介效应也就是反事实框架下的自然中介效应。但现在更加完善的一个包叫CMAverse这个包是我比较推荐的我们风暴统计平台用的也是这个包。那么它就可以得到自然直接效应、自然间接效应还有中介效应占比这三个是最重要的。它这个得到的效应就是HR值。√传统回归中介vs自然中介所以我们可以再总结一下传统回归中介跟自然中介的区别传统的回归中介用路径系数法通过路径系数乘积一般需要严格的模型假设比如有线性关系、不能有交互。我们得出的作用名词叫“间接效应”跟“直接效应”。反事实框架下的自然效应我们的理论基础是潜在结果反事实。通过比较两种不同的潜在结果可以产生我们想要的结果。它对不同的情景下包括线性、非线性、有交互、无交互的情景下都是适用的所以它更灵活是比较在因果推断中也比较推崇的。所以它产生的效应名词叫“自然间接作用”跟“自然直接作用”。今后大家看到这两个名词应该能够条件反射地理解出来它的中介效应是基于什么样的理论基础来开展的。反正现在总体来说我研究过这么多包我觉得多数主要是基于自然效应的理论模式与模型基于反事实框架下去计算自然间接作用和自然直接作用。最后提醒要学习本推文的完全对应的课程视频请发送关键词“报名”至公众号加入高校公益免费课程群来学习吧。关于郑老师团队及公众号全国较大的医学统计服务平台专注于医学生、医护工作者学术研究统计支持郑老师团队可以提供诸多统计支持各式统计课程、临床试验设计构建预测模型与真实世界研究“双库”保发表训练营、医学数据库挖掘详情联系助教小董咨询微信号aq566665