You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在lavaan的RI-CLPM代码中纳入非时变预测变量间路径

RI-CLPM模型中纳入预测变量间路径的lavaan代码修改

问题背景

现有RI-CLPM模型包含:

  • 两个连续重复测量变量:x1-x3、y1-y3(含缺失值)
  • 三个非时变预测变量:pre1(二分类,无缺失)、pre2(连续,含缺失)、pre3(二分类,无缺失)

已实现个体内水平的自回归与交叉滞后效应估计、观测变量对三个预测变量的回归,需新增路径pre3 ~ pre1 + pre2并整合到模型中。

修改后的完整代码

# 定义包含预测变量间路径的RI-CLPM模型
riclpmModel_with_predictors <- 
  '
# 随机截距潜变量设定
RI_x =~ 1* x1 + 1* x2 + 1* x3
RI_y =~ 1* y1 + 1* y2 + 1* y3

# 观测变量截距固定
x1 ~ mu1*1
x2 ~ mu2*1
x3 ~ mu3*1
y1 ~ pi1*1
y2 ~ pi2*1
y3 ~ pi3*1

# 随机截距的方差与协方差
RI_x ~~ RI_x
RI_y ~~ RI_y
RI_x ~~ RI_y

# 个体内潜变量(用于自回归与交叉滞后)
x1_latent1 =~ 1* x1
x2_latent2 =~ 1* x2
x3_latent3 =~ 1* x3
y1_latent1 =~ 1* y1
y2_latent2 =~ 1* y2
y3_latent3 =~ 1* y3

# 个体内的自回归与交叉滞后效应
x3_latent3 ~ alpha3* x2_latent2 + beta3* y2_latent2
x2_latent2 ~ alpha2* x1_latent1 + beta2* y1_latent1

y3_latent3 ~ delta3* y2_latent2 + gamma3* x2_latent2
y2_latent2 ~ delta2* y1_latent1 + gamma2* x1_latent1

# 个体内潜变量的方差与协方差
x1_latent1 ~~ x1_latent1
x2_latent2 ~~ u2* x2_latent2
x3_latent3 ~~ u3* x3_latent3
y1_latent1 ~~ y1_latent1
y2_latent2 ~~ v2* y2_latent2
y3_latent3 ~~ v3* y3_latent3

x1_latent1 ~~ y1_latent1
x2_latent2 ~~ y2_latent2
x3_latent3 ~~ y3_latent3

# 预测变量对观测变量的效应
x1 ~ px11* pre1 + px12* pre2 + px13* pre3
x2 ~ px21* pre1 + px22* pre2 + px23* pre3
x3 ~ px31* pre1 + px32* pre2 + px33* pre3

y1 ~ py11* pre1 + py12* pre2 + py13* pre3
y2 ~ py21* pre1 + py22* pre2 + py23* pre3
y3 ~ py31* pre1 + py32* pre2 + py33* pre3

# 新增:预测变量间的回归路径
pre3 ~ pp1*pre1 + pp2*pre2
'

# 拟合模型:使用MLR估计量适配含分类变量的模型
riclpmModel_with_predictors_fit <- lavaan(riclpmModel_with_predictors, 
                                          data = data_xy,
                                          missing = 'ML',  # 处理缺失值
                                          estimator = 'MLR',  # 稳健极大似然,适配含分类变量的模型
                                          int.ov.free = F,
                                          int.lv.free = F,
                                          auto.fix.first = F,
                                          auto.fix.single = F,
                                          auto.cov.lv.x = F,
                                          auto.cov.y = F,
                                          auto.var = F)

# 输出结果(含标准化系数)
summary(riclpmModel_with_predictors_fit, standardized = T)

关键修改说明

  1. 新增预测变量路径:直接在模型字符串末尾添加pre3 ~ pp1*pre1 + pp2*pre2,pp1、pp2为参数标签,方便在结果中识别对应系数。
  2. 估计量调整:由于pre3是二分类因变量,改用estimator='MLR'(稳健极大似然估计),该估计量对非正态分布、缺失数据的适配性更好,无需使用适用于有序多分类变量的WLSMV。
  3. 变量类型处理:pre1、pre3为二分类变量,无需设置ordered参数(该参数用于有序多分类变量),lavaan会自动识别二分类变量类型。

注意事项

  • 模型识别:新增路径后模型仍保持可识别性,预测变量间的回归路径属于额外可估计参数,不会破坏原RI-CLPM的识别结构。
  • 缺失值处理:missing='ML'可同时处理连续变量(x/y/pre2)的缺失值,pre1、pre3无缺失不影响模型拟合。
  • 参数解读:pp1为pre1对pre3的回归系数,pp2为pre2对pre3的回归系数,可通过标准化结果查看效应量大小。

内容的提问来源于stack exchange,提问作者jmso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:23:17