看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中介,从一般的回归做法,到结构方程框架下的路径分析法,到反事实框架做法,从中介变量和因变量到是连续变量到中介变量和因变量是分类变量,很浩渺的系统知识,今天开始一点一点给大家写。

今天就和大家一起探讨纵向数据的中介效应检验,一般来讲考虑因果关系的时间先后顺序,纵向数据才是探讨中介的理想数据形式

In practice, it is strongly recommended to establish mediation with longitudinal data

但是问题也存在,就是说同一波次的中介变量和因变量可能成为纵向中介路径上的混杂,自己会影响自己,自己又会受到中介变量和自变量的影响,这些中介和暴露又会受到前一波数据的影响,怎么说得清呢?况且做了中介我们还需要对每个路径上的效应进行分解,感觉好难哦。

今天就写写这个。

随机效应交叉滞后中介模型引出

首先明白一点,做中介用纵向数据才好,其次明白,交叉滞后是纵向面板数据的常用分析方法:

the CLPM allows time for causes to have their effects, supports stronger inference about the direction of causation in comparison to models using cross-sectional data, and reduces the probable parameter bias that arises when using cross-sectional data.

再记住,纵向数据的中介分析的做法之一就是使用交叉滞后。

但是传统交叉滞后不考虑个体扰动,只拟合全部个体的均值,所以在特定人群中估计系数可能不准(理解方法参考混合模型),因为存在上面的问题,所以一般我们会做一个允许个体扰动的情形下纵向数据的中介模型------multilevel model (MLM):

multilevel model (MLM), which is proposed on the basis of the fact that longitudinal data are clustered in nature: The repeated measures are nested within individuals

通过多水平模型我们允许个体扰动,使得模型更符合数据层次,但是开篇就指出,在纵向数据中我们需要控制掉前一波数据的影响,和同波次数据的相互影响,所以我们把多水平模型和交叉滞后一结合,形成带随机效应的交叉滞后就可以啦。

传统交叉滞后中介模型

开篇一张图:

在做纵向中介的我们的数据最少是3波,期望检验的中介路径是x1到m2到y3,当然如果你比较猛,或者你们组比较猛,你还可以多整几波数据探讨中介效应的时间效应,本文不做展开。

treatment, mediator and outcome variables should be measured at three separated and ordered time points.

有同学问两波数据行不行?这个需要你自己考虑怎么来说服审稿人,比如你中介变量是时间不变的,那么你只要将自变量和因变量放在不同波次就行,我觉得也完全OK。

总之你自己自圆其说就完全没问题,本来是纵向设计,好多人完全拎出来横断面做中介人家也能发文章:

Another 10 (14%) ignored or abused the longitudinal structure of their own data by focusing on only a single wave,averaging across waves, or treating later variables as predictors of earlier variables when testing for mediation.

如果你是3波数据,中介出来的结构路径图就是开篇的第一张图。要报告的系数就是中介路径上的a,b,c,分别代表两个间接效应和一个直接效应。需要注意的是对间接作用的检验是检验ab的乘积,并非单单只看一条路径,这个是很多同学不太明白的地方。

The indirect effect is denoted by ab because it is often quantified by the product of two effects: the effect of X on M (a effect) and the effect of M on Y controlling for X

传统交叉滞后中介模型的做法实例

我的数据长这样哈,这个数据是我们自己模拟出来的,只是为了给大家说明数据形式,其中3波次的自变量x,3波次的中介变量m,和3波次的结局y,还有两个协变量z,只考虑人群均值而不考虑个体扰动,我们做一个交叉滞后中介模型,探讨在纵向设计中m是否中介了xy的关系:

首先,我们加载相应的包并进行模型设定,代码如下:

CLPM <- '# 路径系数x2 ~ x1m2 ~ a*x1 m2 ~ m1y2  ~ b*m1x3 + m3~ x2m3+y3  ~ m2y3~c*x1y2~y1y3~y2x1+m1+y1~z1x1+m1+y1~z2# 相关 x1 ~~ y1 # Covariancex1 ~~ m1m1 ~~ y1# 方差x1 ~~ x1m1 ~~ m1# Variancesy1 ~~ y1 x2 ~~ x2m2 ~~ m2# Residual variancesy2 ~~ y2x3 ~~ x3 m3 ~~ m3y3 ~~ y3 # 间接作用 (a*b)ab := a*b# 总效应total := c + (a*b)
'

可以看到为了方便报告和中介效应分解,我还设定了系数标签,abc,和新的间接效应ab和总效应tatal,运行上面的代码,总结后即可输出模型结果:

基本的模型优度如下,可以看到模型拟合是很差劲的,不过数据都是模拟出来的嘛,大家主要看方法就行:

各个回归系数如下(没有截图完整的)可以看到我们关心的系数abc都有标注:

当然还有间接效应和总效应的检验结果:

有了上面这些结果你就可以报告这就是一个部分中介模型了

另外再给大家分享一个出图的方法,之前我做结构方程一直用的semPlot出图,图不好个性化定制,乱糟糟的,最近发现tidySEM才是真的好用,比如就我上面的模型,写代码如下:

graph_sem(model = CLPM.fit)
lay <- get_layout("x1", "x2", "x3","m1","m2","m3","y1","y2", "y3",rows = 3)graph_sem(model = CLPM.fit,layout = lay)

就可以出一个整整齐齐的图,见下图,简直跟发表的文献中一模一样哦,真好,强烈推荐给大家,之后有空出一期tidySEM的详细教程,快快点关注哈:

随机效应交叉滞后中介模型

关于交叉滞后和随机效应(截距和斜率)交叉滞后的区别之前文章有给大家写,如果要考虑个体间的变异或扰动,我们就需要给模型加上随机效应,此时就是随机效应交叉滞后中介模型。

为啥要考虑随机效应呢?因为本来个体残差异质性都是可能存在的嘛,如果我们做模型的时候不考虑,简单的认为人都是一样的水平,其实和你在嵌套数据中用了回归是一回事的,此时你的统计推断可能不准,注意是可能不准,如果你的人群确实都是一个样,那也就无所谓,你有这个意识就行,可能不准带来的后果就是也许你用交叉滞后回归没做出来阳性结果,然后你把变异分解的更好后用随机效应交叉滞后就出来阳性结果了。

random effects will cause heteroscedasticity in the residuals. Failure to take into account this heteroscedasticity can bias the standard error estimates, leading to misleading statistical inferences.

那么具体的随机效应交叉滞后中介模型如何做呢,其实就是在随机效应交叉滞后加上和上面一样的中介设定就行了,随机效应交叉滞后的代码在之前的文章中,这儿就不给大家写例子啦。

小结

今天给大家写了纵向数据的中介做法-----交叉滞后中介模型,这个模型考虑个体随机扰动就是随机效应交叉滞后中介模型,希望对大家有所启发。

感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞分享。

也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,另欢迎私信。

R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍相关推荐

  1. R数据分析:逐步回归的做法和原理,案例剖析

    做回归的时候经常头痛的一个问题就是变量的选择,好多人一放一大堆变量但是结果做出来都没意义,这个时候你可以试试让算法给你选择最优的自变量组合哟. 那么今天要写的就是回归时筛选变量的逐步法: The st ...

  2. 文献解读:纵向数据的测量不变性和交叉滞后模型(一)

    今天本来想看看交叉滞后怎么做,然后给粉丝写写教程,查资料的过程中发现了一篇很好的文献,记录下来分享给大家. 这篇文献主要是讲如何用R的lavaan包做交叉滞后模型的. 文献一开始首先介绍Measure ...

  3. R数据分析:交叉滞后模型基础与实例解析

    最近问纵向数据分析的同学贼多,像潜增长,GEE,多水平,之前都有写,今天偷空出个简易的交叉滞后教程哈,大家只要遇到像causal models,cross- lagged panel models,l ...

  4. R数据分析:随机截距交叉滞后RI-CLPM与传统交叉滞后CLPM

    有同学问随机截距交叉滞后和传统交叉滞后的区别,随便记录一下,希望给到大家启发. 拟合随机截距交叉滞后模型RI-CLPM的时候我们需要将变量的观察分数分为3个部分:第一部分为总体均数grand mean ...

  5. R数据分析:交叉滞后模型非专业解释

    今天继续写交叉滞后模型,本文大部分内容参考自文献:Kearney, Michael. (2017). Cross-Lagged Panel Analysis. 所以不论自己写的怎么样都建议大家去瞅瞅原 ...

  6. R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型

    系列文章 R做面板数据分析:R语言 面板数据分析 plm包实现(一) --LSDV和固定效应模型 如果想看随机效应模型怎么做,参见这篇文章 R语言 面板数据分析 plm包实现(二)--随机效应模型 如 ...

  7. R数据分析:网络分析的做法,原理和复现方法

    对于复杂问题和现象行为的研究,尤其是他们之间还有复杂的交互影响(complex interplay)的时候,网络分析(备用名:psychological networks, network analy ...

  8. 随机截距交叉滞后模型(Random Intercepts Cross-Lagged Panel Model, RI-CLPM)

    交叉滞后面板模型(Cross-Lagged Panel Model, CLPM) 说到随机截距交叉滞后模型(Random Intercepts Cross-Lagged Panel Model, RI ...

  9. R数据分析:潜在转化分析LTA的做法和解释(一)

    之前给大家写了很多潜在类别分析的教程Mplus教程:如何做潜在类别分析LCA R数据分析:用R语言做潜类别分析LCA Mplus数据分析:潜在类别分析(LCA)流程(详细版) R数据分析:再写潜在类别 ...

最新文章

  1. Oracle中的 IN, NOT IN和 EXISTS, NOT EXISTS的區別
  2. ICCV 2017 PTAV:《Parallel Tracking and Verifying:A Framework for Real-Time and High Accuracy ...》论文笔记
  3. 【Elasticsearch】es 电台 收听 笔记
  4. body 没有被撑开_父div没有被撑开,该怎么解决?_html/css_WEB-ITnose
  5. 信号与系统(一) 能量信号和功率信号
  6. Linux下安装LAMP的步骤
  7. hdu1536 S-Nim(博弈)
  8. h5案例欣赏及分析_2019下半年,10个优秀H5案例参考
  9. Unity零基础到入门 ☀️| 学会这些Unity常用组件,Unity中必备组件技能学习!
  10. 2022年大厂中秋礼盒大赏,卷的就是创意!
  11. [leetcode]592. Fraction Addition and Subtraction
  12. a推b等价于非a或b_手机系统将有A/B分区?Android 11这些变化你关注过吗
  13. 2020微信对话截图生成器,各种截图一键制作!
  14. [iOS]高德地图SDK开发--准备篇
  15. 关于ROS功能包里package.xml和CMakeList.txt的源码分析
  16. Word学习笔记:P1-页面简介文字编辑
  17. 计算机及应用专插本,2020广东财经大学华商学院专插本计算机科学与技术专业《数据库原理与应用》考试大纲...
  18. 研发团队管理经验总结(一)
  19. Android 实现开机自启动 Service
  20. 佳能Canon iR-ADV C2230 打印机驱动

热门文章

  1. threejs 加载两个场景_three.js 场景切换
  2. JAVA有percentile函数吗_五分位算法
  3. Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
  4. 新手看Mockplus2.3
  5. js两只手指控制div图片放大缩小功能
  6. python-名字按拼音排序-(用pypinyin)
  7. 第13课:实战之用 Python 写一个抢票软件
  8. 全球AI四强大PK:微软“软”,百度“硬”,亚马逊“猛”,谷歌“横”
  9. 机器学习在脊柱的应用现状:从临床的观点
  10. 5分绩点转4分_5分GPA3.7转化成4分制大概是多少了