潜变量因子值估算流程及parcel与原始数据选择的技术咨询
潜变量因子值估算与假设检验操作流程解答
核心问题解答
1. 能否基于Parcel确定因子值?
lavPredict仅支持普通lavaan对象,不兼容parcelAllocation生成的lavaan.mi对象,所以直接用parcel后的多组插补模型无法调用lavPredict计算因子值。如果需要得到parcel对应的因子值,有两种可行方式:
- 提取parcel后的数据集,单独拟合一个普通的
lavaan模型(非多组插补版本),再将该模型传入lavPredict计算 - 手动计算:用parcel的因子载荷乘以parcel得分,再进行标准化处理(但这种方式不如
lavPredict精准,且需要自行处理模型参数的提取)
不过更建议用原始条目拟合的模型计算因子值来做假设检验——parcel会合并原始条目信息,降低假设检验的敏感度,不利于发现数据中的线性偏离或异常值。
2. 正确的操作流程
你的判断是对的,正确流程应遵循「先验假设检验,后parcel处理」的逻辑:
- 第一步:原始条目拟合与因子值计算
用原始条目构建SEM模型,得到普通lavaan对象,调用lavPredict生成潜变量因子值。 - 第二步:假设检验
用生成的因子值检验线性假设(比如绘制因子与目标变量的散点图、残差正态性检验)、无异常值假设(比如计算马氏距离、Cook距离,或用箱线图识别极端值)。 - 第三步:后续处理
若假设满足,再使用parcelAllocation进行parcel处理,构建lavaan.mi对象并评估模型拟合;若假设不满足,先对数据进行修正(如变量转换、移除/修正异常值、调整模型结构),直到假设符合要求后再进入parcel环节。
关键逻辑说明
线性与无异常值假设是SEM建模的基础前提,若假设不成立,后续parcel处理得到的模型拟合结果可靠性会大幅下降——parcel本身是为了简化模型、减少参数估计压力,而非弥补数据假设的缺陷,因此必须先确保基础假设满足,再开展parcel相关操作。
内容的提问来源于stack exchange,提问作者HHKK
相关产品推荐
相关产品推荐

