【问题标题】:Estimating the Variance Inflation Factors (VIF) of a SEM model (lavaan)估计 SEM 模型 (lavaan) 的方差膨胀因子 (VIF)
【发布时间】:2021-01-11 00:08:22
【问题描述】:

我正在尝试从结构方程模型 (SEM) 中找到方差膨胀因子 (VIF)。我的模型是:

# load the data
library(readxl)
Log_And_SurveyResult <- read_excel("C:/Users/Aakash/Desktop/analysis/Today/Mot-Log.xlsx")

# load lavaan
library(lavaan)

#scale the variables
Log_And_SurveyResult$Time <-
scale(Log_And_SurveyResult$TotalActivity)

model <-
Ct =~ CT1 + CT2 + CT3
R =~ R1 + R2 + R3
B =~ B1 + B2 + B3
UserActivity =~ Time + TotalActivity

fit <- sem(model,data = Log_And_SurveyResult, std.lv = TRUE)
summary(fit, standardized=T)

这是我的数据示例:

Time,TotalActivity,CT1,CT2,CT3,R1,R2,R3,B1,B2,B3
-0.4923798,-0.09991485,4,4,4,3,3,3,3,3,2
-1.0519708,-1.12771752,3,2,2,2,2,3,4,2,3
-0.5330384,-0.06320762,4,4,5,5,4,4,4,4,4
-1.0134522,-0.67805386,5,4,4,5,5,4,4,5,5
-1.1568273,-1.18277838,4,3,4,3,2,3,3,4,4
-0.8561675,-0.12744528,3,4,4,4,4,3,3,3,3

当我运行vif(fit) 时,出现错误:

Error: $ operator not defined for this S4 class

我正在遵循以下示例:http://minato.sip21c.org/msb/man/VIF.html

关于 VIF 的大部分示例和教程都是使用多元回归模型生成的。但是我怎样才能获得我的 SEM 模型的 VIF?

【问题讨论】:

  • 您在数据框上运行 vif()。您应该在回归模型对象上使用它。首先使用model &lt;- lm(x ~ y, data=df) 运行回归,然后使用vif(model)
  • 我尝试按照您的建议进行建模,但这里可能是 x 和 y?因为我拥有的所有数据变量都是因变量。
  • vif() 用于衡量模型的方差膨胀因子。您无法单独获得因变量的 VIF。我将发布一个示例作为答案,看看是否有帮助。
  • 你能帮我写代码吗,如何创建模型?

标签: r r-lavaan


【解决方案1】:

编辑(与 OP 聊天并查看他的数据后):

OP 想要估计使用包 lavaansem() 函数生成的模型的 VIF。

我提出的解决方案是创建一个二元虚拟变量,将其与模型中的自变量进行回归,然后使用vif() 估计方差膨胀因子。示例:

## Create random binary variable
Log_And_SurveyResult$randomvar <- rbinom(nrow(Log_And_SurveyResult), 1, 0.5)

## Model and VIF
Model <- lm(randomvar ~ CT1 + CT2 + CT3, data=Log_And_SurveyResult)
vif(Model)

【讨论】:

  • 给我的错误是:Error in eval(predvars, data, env) : object 'UserActivity' not found
  • 我很难理解您要做什么。您需要指定您的因变量和自变量是什么。你不能单独在因变量上运行vif(),你需要有一个包含因变量和自变量的模型。
  • 您还需要指定 UserActivity CtRB 是什么。我在您的数据框中没有看到这些变量。
  • 抱歉,我的数据对象中没有因变量。这只是我拥有的数据。
  • 那么我可以平均 CT1+CT2+CT3 来生成自变量吗?因为它们是李克特量表,测量值从 1 到 5?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-26
  • 2020-11-24
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 2021-03-29
相关资源
最近更新 更多