- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 R 的 lavaan 包进行潜在变量分析。但是,我收到以下错误消息:
Warning messages: 1: In lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: some observed variances are (at least) a factor 1000 times larger than others; use varTable(fit) to investigate 2: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING: could not compute standard errors! lavaan NOTE: this may be a symptom that the model is not identified. 3: In lav_object_post_check(object) : lavaan WARNING: some estimated ov variances are negative 4: In lav_object_post_check(object) :
lavaan WARNING: some estimated lv variances are negative
我的模型结构如下:
model <- "
# regressions
eigenvector.frug ~ Size + Morphology
# latent variables
Size =~ Mass + Forearm
Morphology =~ LMT + BUM
# covariances and variances
Mass ~~ Forearm
LMT ~~ BUM
Mass ~~ Mass
Forearm ~~ Forearm
LMT ~~ LMT
BUM ~~ BUM
"
我正在运行的代码是:
fit <- sem(model, data=data,
orthogonal=TRUE)
我得到以下摘要:
lavaan (0.5-23.1097) converged normally after 141 iterations
Number of observations 41
Estimator ML
Minimum Function Test Statistic 88.676
Degrees of freedom 2
P-value (Chi-square) 0.000
Parameter Estimates:
Information Expected
Standard Errors Standard
Latent Variables:
Estimate Std.Err z-value P(>|z|)
Size =~
Mass 1.000
Forearm 4.941 NA
Morphology =~
LMT 1.000
BUM 1.349 NA
Regressions:
Estimate Std.Err z-value P(>|z|)
eigenvector.frug ~
Size -0.000 NA
Morphology -2.774 NA
Covariances:
Estimate Std.Err z-value P(>|z|)
.Mass ~~
.Forearm 59.805 NA
.LMT ~~
.BUM 2.926 NA
Size ~~
Morphology 0.000
Variances:
Estimate Std.Err z-value P(>|z|)
.Mass 272.184 NA
.Forearm -518.752 NA
.LMT 3.283 NA
.BUM 5.871 NA
.eigenvectr.frg 0.344 NA
Size 26.894 NA
Morphology -0.038 NA
由于数据在不同尺度上有所不同,我尝试使用尺度函数对所有变量进行标准化,然后再次运行模型。
data2 = scale(data)
然后我收到以下错误消息:
Warning message: In lav_model_vcov(lavmodel = lavmodel, lavsamplestats = lavsamplestats, : lavaan WARNING: could not compute standard errors! lavaan NOTE: this may be a symptom that the model is not identified.
以及以下摘要:
lavaan (0.5-23.1097) converged normally after 69 iterations
Number of observations 41
Estimator ML
Minimum Function Test Statistic 87.973
Degrees of freedom 2
P-value (Chi-square) 0.000
Parameter Estimates:
Information Expected
Standard Errors Standard
Latent Variables:
Estimate Std.Err z-value P(>|z|)
Size =~
Mass 1.000
Forearm 0.940 NA
Morphology =~
LMT 1.000
BUM 0.181 NA
Regressions:
Estimate Std.Err z-value P(>|z|)
eigenvector.frug ~
Size 0.536 NA
Morphology -0.042 NA
Covariances:
Estimate Std.Err z-value P(>|z|)
.Mass ~~
.Forearm 0.389 NA
.LMT ~~
.BUM 0.541 NA
Size ~~
Morphology 0.000
Variances:
Estimate Std.Err z-value P(>|z|)
.Mass 0.404 NA
.Forearm 0.471 NA
.LMT 0.394 NA
.BUM 0.957 NA
.eigenvectr.frg 0.819 NA
Size 0.571 NA
Morphology 0.581 NA
你能帮我找出问题所在吗?非常感谢。
最佳答案
我认为问题在于同一构造上的指标之间的相关残差。您试图以冗余的方式解释同一构造上的指标之间的关系。
例如,潜在构造“尺寸”可以解释指示变量“质量”和“前臂”之间的关系。残差将被概念化为指标中的方差,该方差不能由潜在构造解释。
然后你要做的就是让残差相互关联,这对“质量”和“前臂”之间的共享方差进行建模,而潜在因素无法解释这一点。
问题在于您的潜在构造仅由这两个变量组成。您基本上是在告诉lavaan
:“将这两个指标之间的方差建模为潜在构造......不等!还将相同的方差建模为残差!”所以 lavaan
基本上是在告诉你,“这没有意义,我不能那样做!”我会尝试这段代码:
model2 <- "
# regressions
eigenvector.frug ~ Size + Morphology
# latent variables
Size =~ Mass + Forearm
Morphology =~ LMT + BUM
# covariances and variances
Mass ~~ Mass
Forearm ~~ Forearm
LMT ~~ LMT
BUM ~~ BUM
"
此代码隐式将残差协方差修复为零。
您可能遇到的另一个问题是每个子模型均未识别。对于每个潜在变量,您尝试根据 2 个未识别的指标来估计潜在构造(即,您有 3 个与方差相关的元素可供使用,但您正在估计 2 个残差、一个载荷和一个潜在方差) 。为了解决这个问题,您可以将每个潜在因子的载荷限制为彼此相等。我们可以通过为因子载荷分配相同的标签来做到这一点(这里,每个因子为“a”和“b”)。
model3 <- "
# regressions
eigenvector.frug ~ Size + Morphology
# latent variables
Size =~ a*Mass + a*Forearm
Morphology =~ b*LMT + b*BUM
# covariances and variances
Mass ~~ Mass
Forearm ~~ Forearm
LMT ~~ LMT
BUM ~~ BUM
"
关于r - R 的 lavaan 中的模型识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44114501/
我正在尝试使用 semTools 进行功率分析使用 lavaan 估计的潜在增长曲线模型.见下文: library(RCurl) library(lavaan) library(semTools) x
任何人都可以告诉我如何在结构方程模型的 lavaan 包的模型语句中编写潜在变量交互吗? 假设我有潜在变量L1和一些观察到的变量F1,并且想编码它们对某些结果Y的相互作用影响: L1 =~ x1 +
我对将 lm-syntax 翻译成 lavaan 很感兴趣,特别是我在 factor x numeric 变量之间的effects-coded 交互之后 > 2 个级别。 (提醒:effects-co
假设您有一个结果变量(Y;连续变量)、一个自变量(X;虚拟变量)和一个调节变量(W;虚拟变量)。假设您想测试另一个变量(M;连续)是否调节 X 和 W 之间的联系。您将如何在 R 中编写此测试(使用
在 R 的 lavaan 中,当使用 sem() 函数时,协方差值会自动填充。但是,我想在使用 sem() 函数时强制其中一个协方差值为零,即不移动到手动 lavaan() 函数。 如何做到这一点?
我必须运行许多 CFA,并希望自动将特定输出值保存在数据框中,以便稍后将其转换为 latex 表。 具体来说,我使用 lavaan 得到类似这样的输出: model <- 'y =~ x1 + x2
我必须运行许多 CFA,并希望自动将特定输出值保存在数据框中,以便稍后将其转换为 latex 表。 具体来说,我使用 lavaan 得到类似这样的输出: model <- 'y =~ x1 + x2
我正在尝试使用 SEM 和 R 中的 lavaan 包来比较两组 child 并测试执行功能 (EF) 是否是推理 (CR) 的重要预测因子(我还包括其他协变量)。 我是否正确地与这段代码进行了比较?
我想为带有 lavaan 的 SEM 模型使用 semPlot 为不同的节点设置不同的大小。 library(lavaan) library(semPlot) model <- ' # measu
我已经创建了一份问卷。该问卷由四个子量表组成,测量我感兴趣的变量的 4 个不同组成部分。每个子量表由 3 个项目组成。每个项目都是 6 分制(然后每个项目的回答都在 1 到 6 之间)。 这是我的数据
我想对我使用 lavaan 制作的路径图进行更改和 semPlot包。 require(lavaan); require(semPlot) head(mtcars) model Loading re
我区分了 R lavaan包裹cfa()和 sem()帮助页面。没有区别。 下面的代码给出了相同的估计。 如果是这样的话,同一个东西有两个不同的名字有什么意义呢? model <- ' # lat
我正在尝试使用 R 的 lavaan 包进行潜在变量分析。但是,我收到以下错误消息: Warning messages: 1: In lav_data_full(data = data, group
我正在尝试使用 R 的 lavaan 包进行潜在变量分析。但是,我收到以下错误消息: Warning messages: 1: In lav_data_full(data = data, group
假设我在lavaan中安装了一个模型,如下所示: # model model <- ' L1 =~ x1 + x2 ' # fit & summary fit <- lavaan(model=m
我有一个大型 SEM,正在使用 Lavaan 软件包。由于它很大,我使用循环来生成方程式。然而,似乎有必要将方程式作为字符串输入,其中每个方程式都是一个新行。例如: model <- ' F1
我的问题陈述是确定影响净推荐值的因素 我正在使用带有示例数据的 lavaan 包测试 下面是代码 library(lavaan) age=c(24,56,34) weight=c(76,55,66)
希望有人能在这里提供一些指导。 我正在使用 simDesign 包创建一个多变量模拟,我改变了因素的数量以及加载到每个因素上的项目。我想编写一个命令来识别 factornumbers 中存在的因子数量
我正在尝试从结构方程模型 (SEM) 中找出方差膨胀因子 (VIF)。我的模型是: # load the data library(readxl) Log_And_SurveyResult <- re
我正在尝试从结构方程模型 (SEM) 中找出方差膨胀因子 (VIF)。我的模型是: # load the data library(readxl) Log_And_SurveyResult <- re
我是一名优秀的程序员,十分优秀!