楼主: codewar
2933 4

[学习分享] R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍 [推广有奖]

  • 0关注
  • 13粉丝

本科生

80%

还不是VIP/贵宾

-

威望
0
论坛币
1392 个
通用积分
1114.7520
学术水平
73 点
热心指数
71 点
信用等级
58 点
经验
3214 点
帖子
52
精华
0
在线时间
32 小时
注册时间
2021-7-10
最后登录
2024-4-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从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 ~ x1  m2 ~ a*x1   m2 ~ m1  y2  ~ b*m1  x3 + m3~ x2  m3+y3  ~ m2  y3~c*x1  y2~y1  y3~y2    x1+m1+y1~z1  x1+m1+y1~z2  # 相关   x1 ~~ y1 # Covariance  x1 ~~ m1  m1 ~~ y1    # 方差  x1 ~~ x1  m1 ~~ m1# Variances  y1 ~~ y1     x2 ~~ x2  m2 ~~ m2# Residual variances  y2 ~~ y2    x3 ~~ x3   m3 ~~ m3  y3 ~~ 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.

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

小结

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

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

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


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据分析 纵向数据 中介模型 Longitudinal Longitudina

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
llb_321 + 12 + 12 精彩帖子
cheetahfly + 20 精彩帖子
Sunknownay + 3 + 3 + 3 鼓励积极发帖讨论

总评分: 经验 + 12  论坛币 + 32  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
yangming98 发表于 2021-8-25 23:31:08 来自手机 |只看作者 |坛友微信交流群
codewar 发表于 2021-8-25 17:58
看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中 ...
好的好的好的好的好的

使用道具

藤椅
hlw 在职认证  发表于 2021-8-26 09:14:07 |只看作者 |坛友微信交流群
貌似数据链接不好用

使用道具

板凳
初音啦啦啦 发表于 2021-11-26 17:27:47 |只看作者 |坛友微信交流群
您好,交叉滞后分析的最小有效样本量是多少呢,一直没有查到。

使用道具

报纸
rockymu 发表于 2022-5-19 08:15:56 |只看作者 |坛友微信交流群
谢谢提供的资源

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 02:19