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

article/2025/11/10 5:17:07

记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后。

做之前我们需要知道一些Mplus的默认的设定:

  • observed and latent exogenous variables are correlated, and
  • residuals of observed and latent outcome variables (which do not predict anything) in a path model are correlated.

这些设定可以帮助我们更容易地设定结构方程模型,但是在做随机截距交叉滞后模型的时候我们需要变化一下,此时需要在语法中加上ANALYSIS: MODEL = NOCOV;

用mplus做随机截距交叉滞后需要规定4个部分:

  1. 因素间部分,就是随机截距,用BY来设置,写出RIx BY x1@1 x2@1 ...这样的形式,其中@1表示固定为1的意思,这个是做随机效应交叉滞后的默认操作
  2. 因素内部分的内在波动,也是用BY来设定,写出wx1 BY x1; wx2 BY x2; ....这样的形式,同时需要将误差方差固定为0
  3. 交叉滞后部分,写出wx2 ON wx1 wy1; wx3 ON wx2 wy2; ....这样的形式
  4. 内外共变部分,因素内写出wx1 WITH wy1; wx2 WITH wy2;....这样的形式;因素外写出RIx WITH RIy的形式。

所以一个基本的随机截距交叉滞后的代码就是如下:

MODEL:      ! 随机截距RIx BY x1@1 x2@1 x3@1 x4@1 x5@1;RIy BY y1@1 y2@1 y3@1 y4@1 y5@1;! 因素内wx1 BY x1@1; wx2 BY x2@1;wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1;wy1 BY y1@1; wy2 BY y2@1;wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1;! 误差方差为0x1-y5@0;! 交叉滞后wx2 wy2 ON wx1 wy1;wx3 wy3 ON wx2 wy2;wx4 wy4 ON wx3 wy3;wx5 wy5 ON wx4 wy4;! 随机截距相关RIx WITH RIy;!组内相关wx1 WITH wy1;wx2 WITH wy2;wx3 WITH wy3; wx4 WITH wy4;wx5 WITH wy5; 

加协变量

一般情况下我们在重复测量之前都会收集一般人口学特征等等协变量,在做分析的时候我们也会有控制协变量的需求,此处我们是有两个选择,一个是把协变量在显变量水平(左图),另外一个是将协变量控制在随机截距水平(右图)

控制在显变量水平的意思就是说我这些变量对模型的作用都是对每一波测量都有的,在协变量不变的情况下来从整体上拟合我们的模型,比如我现在有一个协变量Z我就可以写出代码如下:

MODEL:      ! 随机截距RIx BY x1@1 x2@1 x3@1 x4@1 x5@1;RIy BY y1@1 y2@1 y3@1 y4@1 y5@1;RIx WITH RIy;wx1 BY x1@1; wx2 BY x2@1;wx3 BY x3@1; wx4 BY x4@1;wx5 BY x5@1;wy1 BY y1@1; wy2 BY y2@1;wy3 BY y3@1; wy4 BY y4@1;wy5 BY y5@1;x1-y5@0;! 协变量添加x1-x5 ON z1 (s1);y1-y5 ON z1 (s2);wx2 wy2 ON wx1 wy1;wx3 wy3 ON wx2 wy2;wx4 wy4 ON wx3 wy3;wx5 wy5 ON wx4 wy4;wx1 WITH wy1;wx2 WITH wy2;wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5;

控制在放在随机截距的意思就是说这个显变量是影响了个体差异进而影响整个模型,这个是在探究between-difference的影响的时候用的,此时我们的代码如下:

MODEL:      RIx BY x1@1 x2@1 x3@1 x4@1 x5@1;RIy BY y1@1 y2@1 y3@1 y4@1 y5@1;RIx WITH RIy;wx1 BY x1@1; wx2 BY x2@1;wx3 BY x3@1; wx4 BY x4@1;wx5 BY x5@1;wy1 BY y1@1; wy2 BY y2@1;wy3 BY y3@1; wy4 BY y4@1;wy5 BY y5@1;x1-y5@0;! 协变量添加语法RIx RIy ON z1;wx2 wy2 ON wx1 wy1;wx3 wy3 ON wx2 wy2;wx4 wy4 ON wx3 wy3;wx5 wy5 ON wx4 wy4;wx1 WITH wy1;wx2 WITH wy2;wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5;

运行上面的代码我们的带协变量的随机截距交叉滞后就出来了,然后我们点击view diagram还可以看自动生成的路径图

自己生成的就是乱糟糟一团,然后点击图中的各个节点都是可以调整的,下图是给一个同学做的多个显变量的随机截距交叉滞后模型,模型中控制了两个协变量sex和degree,然后下图就是mplus自动生成的模型图,调整调整还是能看的,这个模型是将协变量控制在显变量水平的:

多组比较建模

多组比较的意思就是看看路径系数或者载荷,在某个变量的组间是不是一样,内在原理是将模型分组拟合,然后比较固定两组路径相等的模型拟合优度和两组自由估计的优度之间的差异,如果路径相等的模型并没有显著差于自由估计的模型就可以认为组间无差异,常见的应用就是在量表的跨文化调试中,比如你想看看英文和中文的量表有没有差异,你就可以尝试进行多组比较建模

Multigroup models test separate models in two or more discrete groups. Equality constraints across groups are used to conduct nested tests using likelihood ratio comparisons between a model with certain parameters constrained to be equal and a model with those same parameters freely estimated (allowed to differ) across the groups. For example, one can investigate whether means, predictive paths, or loadings differ across two nationalities.

做多组比较的时候,我们也需要修改一些mplus的默认设定,在默认设定中,显变量的截距在组间是等价的;潜变量的均值是自由估计的,我们在做多组比较模型的时候需要估计的参数其实变多了,所以我们需要将显变量的截距自由估计和将潜变量的均值固定从而释放更多的自由度。

如果我们要依照某个变量比如说group这个变量进行多组比较,我就可以在variable参数中加上grouping,写出代码如下,如果我们想直接比较某两个参数,我们可以用model test语法,然后结果中就会输出系数的组间检验,比如下面的代码就是在比较两组间随机截距的相关是不是一样:

VARIABLE:   NAMES = x1-x5 y1-y5 GROUP;GROUPING = GROUP (1=G1 2=G2);MODEL:      ! 随机截距部分RIx BY x1@1 x2@1 x3@1 x4@1 x5@1;RIy BY y1@1 y2@1 y3@1 y4@1 y5@1;! 测量误差wx1 BY x1@1; wx2 BY x2@1;wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1;wy1 BY y1@1; wy2 BY y2@1;wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1;x1-y5@0;! 交叉滞后系数wx2 wy2 ON wx1 wy1;wx3 wy3 ON wx2 wy2;wx4 wy4 ON wx3 wy3;wx5 wy5 ON wx4 wy4;! 随机截距共变RIx WITH RIy(a);! 同一波次的相关wx1 WITH wy1;wx2 WITH wy2;wx3 WITH wy3; wx4 WITH wy4;wx5 WITH wy5;MODEL G2:  RIx WITH RIy(b);
model test:a = b;

上面的代码的意思就是在运行上面的代码就可以出多组比较的结果了:

结果中会有系数比较的结果,说明两组间我们的系数(随机截距的相关)是有显著差异的:

以上就是今天给大家分享的在随机截距交叉滞后中控制协变量以及如何做组间系数比较,希望对大家有所启发。

上面的所有操作都是可以在R语言中进行的,不过有做这个模型需求的大多数同学还是用mplus多,所以出了一期mplus,希望可以帮助到大家。之后会给大家写R的操作。

小结

今天给大家写了随机截距交叉滞后的mplus做法,包括如何添加协变量,以及如何进行多组比较,希望对大家有启发,感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞分享。

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


http://chatgpt.dhexx.cn/article/TEujWhgJ.shtml

相关文章

中介变量、调节变量与协变量

在平时看论文过程中偶会接触到这几个概念,然而都没想过弄明白,每次总觉得只要看明白个大概反正自己又不用这种方法…作为科研人,还是应该保持谦逊,保持学习 一、中介变量 1.概念 中介变量(mediator)是自…

协变量偏移/标签偏移/概念偏移

协变量偏移 这里我们假设,虽然输入的分布可能随时间而改变,但是标记函数,即条件分布P(y∣x)不会改变。虽然这个问题容易理解,但在实践中也容易忽视。 想想区分猫和狗的一个例子。我们的训练数据使用的是猫…

R语言绘制校正协变量后的ROC曲线

ROC曲线也叫受试者工作曲线,原来用在军事雷达中,后面广泛应用于医学统计中。ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。 ROC曲线主要应用于二分类…

倾向值分析(协变量选择)

Hirano 和 Imbens 基于预设的临界t值来设定预测变量的方法 逻辑回归:逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。逻辑回归可以进行多分类操作,但由逻辑回归算法本身性质决定其更常用于二分类。 a.逻辑回归公式如下: 其…

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响 主坐标分析(PCoA)广泛用于生态学和微生物学等领域,以描述样本之间的差异,例如群落的beta多样性等。然而混杂的协变量可能会使与感兴趣…

多变量时间序列、预训练模型和协变量

darts官方地址 GitHub:https://github.com/unit8co/darts文档:https://unit8co.github.io/darts/index.html 本笔记可作为以下内容的教程: 在多个时间序列上训练单个模型使用预训练模型来获得训练期间看不到的任何时间序列的预测训练和使用…

协变量偏移_恶意软件分类的协变量偏移

协变量偏移 介绍 (Introduction) Covariate shift in the data-generating distribution lowers the usefulness of generalization error as a measure of model performance. By unpacking the definitions, the previous sentence translates to “high accuracy on the dis…

matlab 去除协变量,求助协变量调整

花了一个礼拜的时间重新学习了一下协方差,回归,感觉自己的理解很多都是不对的。 协方差分析是方差分析线性回归,但它要求很多,比如至少有两个分组(一个分组就是线性回归了),协变量要是连续变量自变量和因变量要有线性关…

自变量/解释变量/因变量/响应变量/协变量等变量相关概念探析

概念探析 一般科学实验主要涉及以下三种变量: 自变量/独立变量(independent variable):自变量是指在实验中由实验者操作的变量,它被认为不会受其他变量的影响(即独立性)。 因变量&#xff08…

爬虫-猫眼电影票房

背景 最近也不知道咋了,一直遇到 字体反爬手段,起点中文网,抖音等等吧,猫眼我一直想搞,只是没有精力了,前面搞了2个了,不差这一个。搞完这个,不在搞字体反爬了。 目标网站 猫眼票房…

python爬虫实例——中国电影票房

刚好最近在做一个关于中国电影市场的分析,所以这篇实例就诞生啦!!! 一、观察网页 我所爬取的网站是:中国票房——年度票房。 网址甩出来:http://www.cbooo.cn/year?year2019 我们需要的数据是从2015年到…

python爬虫实战——猫眼电影案例

python爬虫实战——猫眼电影案例 背景 笔者上一篇文章《基于猫眼票房数据的可视化分析》中爬取了猫眼实时票房数据,用于展示近三年电影票房概况。由于数据中缺少导演/演员/编剧阵容等信息,所以爬取猫眼电影数据进行补充。关于爬虫的教学内容&#xff0c…

猫眼app产品分析和原型绘制

本项目为学习产品知识和技能过程中的一个小结,针对猫眼电影app的简单产品分析,顺便巩固xmind和axure技能。 项目名称 :猫眼电影app 产品背景:中国电影市场近10年(2009年-2019年)由高速增长阶段过渡到低速增…

Python爬虫实战+数据分析+数据可视化(猫眼电影)

一、爬虫部分 爬虫说明: 1、本爬虫是以面向对象的方式进行代码架构的 2、本爬虫爬取的数据存入到MongoDB数据库中 3、爬虫代码中有详细注释 代码展示 import re import timefrom pymongo import MongoClient import requests from lxml import html from urllib …

python爬虫基础案例——爬取猫眼电影并保存数据到excel

好久没更新博文了,最近忙于学习scrapy框架和微信小程序开发,今天看到一个自己之前写的但是中途放弃的爬虫小案例——爬取猫眼电影TOP100榜的相关数据,现在将它写好并分享给大家。 爬虫的套路就是通过url发送请求,获取数据&#x…

采集电影票房实时数据

网址:aHR0cDovL3BmLmZlLnN0Lm1hb3lhbi5jb20vZGFzaGJvYXJk 抓包分析 根据数据包可以发现,该网站在发送了ajax请求的同时又请求了一份woff文件,基本上可以确定这里使用了字体文件加密的方式了。 分析请求参数 不难看出,只有timestam…

【Python爬虫】猫眼电影榜单Top100

这是一个入门级的Python爬虫,结构易于理解。本文对编写此爬虫的全过程进行了讲述。希望对大家的Python爬虫学习有所帮助。 一、目标 爬取猫眼电影榜单Top100,将数据存入Excel文件中,并利用pyecharts库进行数据可视化得到.html文件和.png文件…

python爬虫阶段性总结和项目实操——爬取猫眼票房Top100

本博客通过爬取猫眼票房Top100来简要复习一下网页的HTML获取(requests库)解析(Beautiful Soup库)和数据保存(csv库)以及总结一下爬取过程中遇到的问题和解决方法 运行结果如下 1.获取网页源代码 def get_…

猫眼产品分析

一、前言 本文试图通过对猫眼电影的版本迭代历程分析、用户分析、功能分析、运营分析以及数据表现来回答以下几个问题: (1)猫眼电影的产品定位? (2)猫眼电影产品设计及运营中有哪些亮点和策略&#xff1f…

详解用爬虫批量抓取猫眼电影票房数据

"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在10TB规模左右&#xf…