r语言 - 用验证性因子分析的效应编码法确定潜在均值



我目前正在使用R-packagelavaan进行多组验证性因子分析。该模型有两个潜变量,每个潜变量有四个指标。我已经建立了组间的(部分)标量不变性现在要确定组的潜在均值。为了计算潜在均值,我计划使用效应编码方法(Little, t.d., Slegers, d.w., &Card, 2006),这将指标(每个潜在变量)的负荷平均限制为1.0,每个潜在变量内指标的截值之和限制为0。

我已经能够为因子加载设置约束,但是我正在努力解决潜在均值的截距求和为0的语法问题。

我的问题:

  • 我如何定义我的cfa模型,使指标的截点之和为零?(在每个潜在变量内)

这是这个模型,对于这个模型,我能够将测量指标的因子负载限制为平均为1。


model <- "
Beliefs =~ NA*item_1 + b1*item_1 + b2*item_2 + b3*item_3 + b4*item_4
Feelings =~ NA*item_5 + f1*item_5 + f2*item_6 + f3*item_7 + f4*item8
# loadings sum up to 1
b1 == 4 - b2 - b3 - b4
f1 == 4 - f2 - f3 - f4
"
fit <- lavaan::cfa(model, 
data = data,
group = "grouping_variable")

summary(fit, standardized = TRUE, fit.measures = TRUE)

我如何进一步定义我的cfa模型,使潜在变量的截距额外相加为零?

谢谢你的帮助!

我如何定义我的CFA-Model,使指标的截距之和为零?

您将遵循相同的过程:

  • 标记每个指示器的截距
  • 将1约束为其他
  • 的和的补

来自?model.syntax帮助页面的注意,拦截是通过回归1 (variable ~ 1)来定义的。对于第一个因素:

item_1 ~ foo1*1
item_2 ~ foo2*1
item_3 ~ foo3*1
item_4 ~ foo4*1
foo4 == -1*(foo1 + foo2 + foo3)

单个标签意味着它在组之间是相等的,但是你说你有部分不变性,所以至少有一个截距在组之间是不同的。在这种情况下,你需要一个标记向量来表示这个截距。然后使用不变的截距来定义约束。

item_1 ~ foo1*1
item_2 ~ foo2*1
item_3 ~ c(foo3, bar3)*1 # different across 2 groups
item_4 ~ foo4*1
foo4 == -1*(foo1 + foo2) # only invariant intercepts

我如何进一步定义我的cfa模型,使潜在变量的截距额外相加为零?

不确定你是否真的想要约束潜在的截距/均值求和为零,因为当用效果编码的截距识别它们时,它们都可以自由估计。但是如果你设置std.lv=TRUE,那么你实际上可以在相同的效应编码约束下估计所有的潜在均值。没有必要,因为潜在位置/尺度总是任意的(与Little等人误导性的标题相反)。

最新更新