有同学问随机截距交叉滞后和传统交叉滞后的区别,随便记录一下,希望给到大家启发。

拟合随机截距交叉滞后模型RI-CLPM的时候我们需要将变量的观察分数分为3个部分:第一部分为总体均数grand means,就是每个变量在同一时间所有观测的均数;第二部分是因素间的稳定性stable between components,体现为变量的随机截距,就是说不同的个体在显变量的得分上有一个随机扰动,第三部分是因素内的波动性fluctuating within components,就是针对每个个体的每次测量和期望的得分的差异。

设定随机截距的操作就是在模型设定的时候额外设定一个重复测量的潜变量,然后将所有测量的载荷设定为1。

具体地看下面的例子,下图是一个研究睡眠问题和焦虑的随机截距交叉滞后模型,数据测了5波,其中Sit代表个体i在t时间的睡眠问题,Ait代表个体i在t时间的焦虑:

以上图为依据给大家讲讲随机截距交叉滞后的3个部分,首先总体均数就是说我观测的所有样本在某个时间点测得的这个变量的总体水平,比如睡眠的总体均数我就可以用μt表示,焦虑的总体均数就可以用πt表示,t就取1到5,当然了这个总体均数可以随着时间变化,作为一个验证性的方法我也可以选择验证不变性,都行,看你的理论考虑。

第二个部分就是因素间的稳定性,在上面的图中用B打头,这个主要是体现时间不变性条件下的得分与总体均数之间的差异性(同一时间点每个人之间的不同),用随机截距体现,就是个体差异。

第三部分是因素内的波动性,是用W表示的,表示一个个体观测的分数和基于随机截距和总体均数所期望出来的分数之间的差异(纵向波动)。

上面一段中的‘因素’这个词是我本人的翻译,不一定精准,英文是-unit或者component,就是如果你是随访的人,那么就是between person,或within-person,大家理解就好。

有了这三个部分后,我们具体的每一次观测的睡眠问题和焦虑水平就可以写出来方程:

跟普通回归很像哦。应该不难理解吧。就是说各个时间具体变量的观测值等于,总体均值,加一个个体差异和纵向波动误差,意思就是我在随机截距交叉滞后中既考虑between- difference有考虑within- difference,很多论文都有这些术语哦。随机截距交叉滞后这个特点也是其区别于交叉滞后的最大特点。

普通的交叉滞后是不考虑将变异如此分解的,只拟合总体均值的自回归和交叉滞后效应,如图:

这就是两者的区别。

再看RI-CLPM图的结构部分,我们都是有自回归效应的,表示个体自带的“惯性”,自回归是正的,就说明睡眠问题差的人随访时倾向有更差的睡眠,焦虑的人随访中倾向更焦虑。

我们还有交叉滞后效应,就是图中的斜线,这个表示单个效应“溢出”影响到了另外的变量,比如正向的睡眠问题到焦虑的滞后效应就是说睡眠问题的提高会导致下一阶段焦虑水平的提高。焦虑和睡眠的交叉滞后效应也是相同解释的。

模型中还应该有每个因素间和因素内的共变关系,表现在图中就是6个双向箭头啦,既有因素间的也有因素内的,对因素间的共变我们在做法上设定随机截距之间拟合共变就可以。

还有,如果在实际的模型拟合中如果随机截距的方差不显著地偏离0,我们也可以考虑去掉随机截距,直接做交叉滞后就行。这个时候就意味着你的个体变异是不显著的,直接用总体均值拟合模型就行(传统交叉滞后)。

给模型一些限制条件后继续验证数据

当我们的研究是对特定的理论假设的验证的时候,我们可以设定模型相应的限制条件,然后做模型间的比较(卡方),验证我们的假设是否合理:

This can be done by comparing the fit of a (nested) model with constraints to the fit of the more general model using a chi-square difference test (Δχ2)

这儿给大家介绍两种常见的可以在随机截距交叉滞后模型中加的限制条件:

一个是交叉滞后系数的时间不变性,就是我们可以将所有的滞后系数固定为一个数,然后估计模型,将它和所有滞后系数自由估计的模型做比较,就可以得出来是不是滞后影响是发展波动的。比如我研究睡眠和焦虑,发现固定交叉滞后系数后模型拟合显著好,则说明睡眠和焦虑的关系在纵向来看是稳定的,反之则是波动的。这个叫做交叉滞后系数的时间不变性(一定是在时间间隔相同的几波数据中才能用)。

第二个限制是看变量总体均数的时间不变性,就是我看看是不是睡眠和焦虑在几波测量中都是纵向稳定的,这个时候我们限制的就是总体均值,如果我们发现固定了睡眠和焦虑的总体均值后模型拟合的更好,就说明我们的个案在随访时间中睡眠情况和焦虑情况纵向是不变的,反之则是变化的。

具体的选择是完全看你的理论,经验,最后才看数据拟合情况。包括所有的验证性分析方法都是如此。这又使我想起了大佬的话:所有的统计模型都是错误的,只不过有一些都点用处而已,不要迷信统计

RI-CLPM实例操练

在R中做随机截距交叉滞后我们需要设定4个部分:

一是因素间部分,也就是变量的随机截距,在这部分的设定中我们一般认为各个波次数据在截距上面的载荷都是1,可以用1*来设定。

二是因素内部分,也就是因素变量随时间的波动,用=~来设定。

三是交叉滞后效应。

四是共变关系。

具体地,比如我要研究睡眠和焦虑的交叉滞后,我同时考虑个体内和个体间变异,我就可以用随机截距交叉滞后模型,假设我的数据长这样,x是睡眠,y是焦虑,随访5次,都需要转换成宽数据,数据形式如下:

我就可以写出如下代码:

RICLPM <- '# 随机截距RIx =~ 1*x1 + 1*x2 + 1*x3 + 1*x4 + 1*x5RIy =~ 1*y1 + 1*y2 + 1*y3 + 1*y4 + 1*y5# 个体内的变量设定wx1 =~ 1*x1wx2 =~ 1*x2wx3 =~ 1*x3 wx4 =~ 1*x4wx5 =~ 1*x5wy1 =~ 1*y1wy2 =~ 1*y2wy3 =~ 1*y3wy4 =~ 1*y4wy5 =~ 1*y5# 个体内交叉滞后设定wx2 + wy2 ~ wx1 + wy1wx3 + wy3 ~ wx2 + wy2wx4 + wy4 ~ wx3 + wy3wx5 + wy5 ~ wx4 + wy4# 个体内共变设定wx1 ~~ wy1 wx2 ~~ wy2wx3 ~~ wy3wx4 ~~ wy4wx5 ~~ wy5# 随机截距的方差和共变RIx ~~ RIxRIy ~~ RIyRIx ~~ RIy#这个系数是需要报告的# 个体内变量的方差wx1 ~~ wx1 wy1 ~~ wy1 wx2 ~~ wx2 wy2 ~~ wy2 wx3 ~~ wx3 wy3 ~~ wy3 wx4 ~~ wx4 wy4 ~~ wy4 wx5 ~~ wx5wy5 ~~ wy5
'
RICLPM.fit <- lavaan(RICLPM, data = dat, missing = 'ML', meanstructure = T, int.ov.free = T)
summary(RICLPM.fit, standardized = T)

运行代码得到结果,结果输出和普通的结构方差无异,挺长的,这儿只给大家展示部分:

下图中最后一行是随机截距间的共变,这个是说明因素间差异的,就是论文中的between difference,也是随机截距交叉滞后的精髓,是需要报告的。

比如我们的结果显示我两个随机截距都是显著地偏离0的(见下图),这个就说明这个共变是有意义的,就说明:我的研究对象间,他们的睡眠和焦虑都是有显著的个体差异的,所以我加随机截距是正确的,同时,我们还看到两个随机截距之间的共变关系是显著的正向的,就是说睡眠问题越大的对象,他们的焦虑问题也倾向越严重。

Moreover, we find a significant positive covariance between the random intercepts, suggesting that individuals who have more sleep problems, in general, are also more anxious in general.

同样地,如果你的数据跑出来后发现随机截距的方差就是0,那么就说明,睡眠和焦虑的个体间扰动是没有的,你的所有对象的睡眠和焦虑都是随总体均数的。这个时候你直接做普通交叉滞后就好。

其余系数的解释和普通交叉滞后一样,这儿就不给大家一一写了。

什么时候选随机截距交叉滞后

最后再给大家说明一个问题,啥时候用随机截距呢?我怎么知道我的数据要加呢?

首先你要掌握RI-CLPM和CLPM的区别,然后结合你的研究目的,比如有一篇文章想要探讨社交焦虑和父母教养的因果方向的同时,还想看看between- and within-person中这种associations有没有差异,作者就使用了RI-CLPM,通过对between-person随机截距共变的解读和within-person自回归和交叉滞后系数的解读,作者就成功地回答了自己的科学问题。

所以如果在你的研究中,你除了关系变量的因果方向,你还关心个体间的变异,就尝试使用RI-CLPM吧。

小结

今天给大家粗略地写了随机截距交叉滞后,希望能给到大家启发,感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。

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

R数据分析:随机截距交叉滞后RI-CLPM与传统交叉滞后CLPM相关推荐

  1. Mplus数据分析:随机截距交叉之后的做法和如何加协变量,写给粉丝

    记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后. 做之前我们需要知道一些Mplus的默认的设定: obse ...

  2. R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中介,从一般的回归做法,到结构方程框架下的路径分析法,到反事实框架做法,从中介变量和因变量到是连续变 ...

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

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

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

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

  5. R语言caret包构建xgboost模型实战:特征工程(连续数据离散化、因子化、无用特征删除)、配置模型参数(随机超参数寻优、10折交叉验证)并训练模型

    R语言caret包构建xgboost模型实战:特征工程(连续数据离散化.因子化.无用特征删除).配置模型参数(随机超参数寻优.10折交叉验证)并训练模型 目录

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

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

  7. 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))...

    机器学习实操(以随机森林为例) 为了展示随机森林的操作,我们用一套早期的前列腺癌和癌旁基因表达芯片数据集,包含102个样品(50个正常,52个肿瘤),2个分组和9021个变量 (基因).(https: ...

  8. python软件设计数据分析统计服_Python 和 R 数据分析/挖掘工具互查

    写在前面 在此总结一些在数据分析/挖掘中可能用到的功能,方便大家索引或者从一种语言迁移到另一种.当然,这篇博客还会随时更新(不会另起一篇,为了方便大家索引),请大家如果有需要收藏到书签中. 如果大家还 ...

  9. R数据分析|可视化|dplyr|Kaggle奥运会数据集(二)

    R数据分析|可视化|dplyr|Kaggle奥运会数据集(二) 由于这个数据集较为庞大,想深入探究点东西,所以想缩小数据范围.那么我们就仅关注"男子球类运动".这里用到的是grep ...

最新文章

  1. 提高图形匹配精度,亮风台提出「完全可训练」的图匹配方法|CVPR 2020 Oral
  2. webpack打包转换es6_webpack(二)解析es6并打包
  3. 表单input中disabled提交后得不到值的解决办法
  4. 大厂php怎么做前端,大厂前端经典面试问题精选(附答案)
  5. MFC CTreeCtrl运用
  6. how many libraries within Cambridge?
  7. 【转载】在华为敲代码那些年,我知道的这些事
  8. JUC多线程:Atomic原子类与CAS原理
  9. img超出div width时, jQuery动态改变图片显示大小
  10. JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))
  11. python识图找图_利用python进行识别相似图片(二)
  12. SpringBoot解决redirect参数中文乱码问题
  13. Proguard使用最新,最全教程,亲自试验
  14. 全局路径规划:图搜索算法介绍3(A stars tie breaker)
  15. 软件需求与分析课堂讨论
  16. ftp服务器文件端口,ftp服务器端口用哪个文件
  17. mysql手写data.sql ,使用语句创建数据库(创建数据库/表 , 设置时间(date)的默认值(default),设置字符集)
  18. Oracle 批量修改字段长度
  19. ojdbc14:11.2.0.1.0出错
  20. 电子邮件收发原理和JavaMail开发

热门文章

  1. 国内下载android源码
  2. 男人不能没钱女人不能没爱
  3. 56.木秀于林,风必摧之
  4. 关于IOS时间格式显示问题
  5. 学习笔记(19):零基础搞定Python数据分析与挖掘-常用的正则符号(二)
  6. OC 下载iCloud 图片和视频
  7. 电信PPPoE拨号失败,获取不到IP
  8. 通过深度学习进行高频传感器故障检测和预测性维护
  9. 基于pytorch的图像识别基础完整教程
  10. linux系统程序问题报告,Linux程序设计实验报告.docx