微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

lavaan相互作用回归模型:样本协方差矩阵不是正定的

如何解决lavaan相互作用回归模型:样本协方差矩阵不是正定的

我正在运行带有lavaan R包的模型,该模型通过连续代码和两个分类代码来预测连续结果。其中一个是二分变量(我们将其称为A; 0 =否,1 =是),另一个是三级分类变量(我们将其称为B; 0 =低,中,3 =高)。下面是数据示例:

  outcome      gender      age continuous  A    B
1   1.333333        2 23.22404   1.333333  1    0
2   1.500000        2 23.18033   1.833333  1    1
3   1.500000        2 22.37978   2.166667  1    NA
4   2.250000        1 18.74044   1.916667  1    0
5   1.250000        1 22.37978   1.916667  1    1
6   1.500000        2 20.16940   1.500000  1    NA

除了连续,二分类和三级分类变量外,我的模型还包含一些控制变量:

model.1a <- 'outcome ~ gender + age + continuous + A + B

         A ~~ continuous 
         A ~~ B
         continuous ~~ B'
fit.1a <- sem(model=model.1a,data=dat)
summary(fit.1a,fit.measures=TRUE,standardized=TRUE,ci=TRUE,rsquare=T)

第二步,我还希望包括变量A和B之间的交互。为此,我首先将这两个变量居中,然后将交互包括在模型中:

model.1b <- 'outcome ~ gender + age + continuous + A_centr + B_centr + interaction

         A_centr ~~ continuous
         A_centr ~~ B_centr
         continuous ~~ B_centr
         interaction ~~ 0*gender + 0*age
         gender ~~ age'
fit.1b <- sem(model=model.1b,data=dat)
summary(fit.1b,rsquare=T)

但是,当我运行此模型时,出现以下错误

Error in lav_samplestats_icov(COV = cov[[g]],ridge = ridge,x.idx = x.idx[[g]],: 
  lavaan ERROR: sample covariance matrix is not positive-definite

据我所知,之所以如此,是因为两个分类变量间的相互作用与原始变量非常相似,但是我不确定如何解决。有人有解决问题的建议吗?

为供您参考,我已经尝试将非中心版本用于一个或两个类别变量,以创建交互作用项并在回归模型中使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。