原文链接: http://tecdat.cn/?p=23312

引言

构造方程模型是一个线性模型框架,它对潜变量同时进行回归方程建模。  诸如线性回归、多元回归、路径分析、确认性因子分析和构造回归等模型都能够被认为是SEM的特例。在SEM中可能存在以下关系。

  • 察看到的变量与察看到的变量之间的关系(,如回归)。
  • 潜变量与察看变量(,如确认性因子分析)。
  • 潜变量与潜变量(,,如构造回归)。

SEM独特地蕴含了测量和构造模型。测量模型将观测变量与潜变量分割起来,构造模型将潜变量与潜变量分割起来。目前有多种软件解决SEM模型,包含Mplus、EQS、SAS PROC CALIS、Stata的sem和最近的R的lavaan。R的益处是它是开源的,能够收费应用,而且绝对容易应用。

本文将介绍属于SEM框架的最常见的模型,包含

  • 简略回归
  • 多元回归
  • 多变量回归
  • 路径分析
  • 确认性因素剖析
  • 构造回归

目标是在每个模型中介绍其

  • 矩阵表述
  • 门路图
  • lavaan语法
  • 参数和输入

在这次训练完结时,你应该可能了解这些概念,足以正确辨认模型,意识矩阵表述中的每个参数,并解释每个模型的输入。

语法简介

语法一:f3~f1+f2(门路模型)

构造方程模型的门路局部能够看作是一个回归方程。而在R中,回归方程能够示意为y~ax1+bx2+c,“~”的右边的因变量,左边是自变量,“+”把多个自变量组合在一起。那么把y看作是内生潜变量,把x看作是外生潜变量,略去截距,就形成了语法一。

语法二:f1 =~ item1 + item2 + item3(测量模型)

"=~"的右边是潜变量,左边是观测变量,整句了解为潜变量f1由观测变量item1、item2和item3体现。

语法三:item1 item1 , item1 item2

"~~"的两边雷同,示意该变量的方差,不同的话示意两者的协方差

语法四:f1 ~ 1

示意截距

基础知识

加载数据

在这种状况下,咱们将模仿数据。

y ~ .5*f  #有内部规范的回归强度f =~ .8\*x1 + .8\*x2 + .8\*x3 + .8\*x4 + .8*x5  #定义因子f,在5个我的项目上的载荷。x1 ~~ (1-.8^2)*x1 #残差。请留神,通过应用1平方的载荷,咱们在每个指标中实现了1.0的总变异性(标准化的)。......#产生数据;留神,标准化的lv是默认的simData #看一下数据describe(simData)\[,1:4\]

指定模型

y ~ f # "~回归"f =~ x1+ x2 + x3 + x4 + x5 # "=~被测量的是"x1 ~~ x1 # 方差x2 ~~ x2 #方差x3~~x3 #变量x4~~x4 #变量x5~~x5 #变量#x4~~x5将是协方差的一个例子

拟合模型

summary(model_m)

inspect(model_m)

Paths

路径分析

与上述步骤雷同,但次要侧重于回归门路。值得注意的是这种办法对调节剖析的效用。

##加载数据set.seed(1234)Data <- data.frame(X = X, Y = Y, M = M)

指定模型

 # 间接效应             Y ~ c*X #应用字符来命名回归门路           # 调节变量             M ~ a*X             Y ~ b*M           # 间接效应(a*b)             ab := a*b #定义新参数           # 总效应             total := c + (a*b) #应用":="定义新参数

拟合模型

summary(model_m)

 

Paths(model)

间接效应的Bootstrapping置信区间

除了指定对5000个样本的标准误差进行bootstrapping外,上面的语法还指出标准误差应进行偏差校对(但不是accelearted)。这种办法将产生与SPSS中的PROCESS宏程序相似的后果,即对标准误差进行偏差修改。 

sem(medmodel,se = "bootstrap")

 

 

确认性因素剖析

加载数据

咱们将应用例子中的雷同数据

指定模型

'f =~ x1 + x2 + x3 +x4 + x5x1~~x1x2~~x2x3~~x3x4~~x4x5~~x5'

拟合模型

sem(fit, simData)

 

Paths(fit)

anova

正如各模型的LRT所示,sem()和cfa()是具备雷同默认值的软件包。CFA能够很容易地应用cfa()或sem()实现 构造方程模型

加载数据

在这种状况下,我将模仿数据。

#构造成分y ~ .5\*f1 + .7\*f2 #用内部规范回归的强度#测量局部f1 =~ .8\*x1 + .6\*x2 + .7\*x3 + .8\*x4 + .75*x5 #定义因子f,在5个我的项目上的载荷。x1 ~~ (1-.8^2)*x1 #残差。留神,通过应用1平方的载荷,咱们实现了每个指标的总变异性为1.0(标准化)。...#生成数据;留神,标准化的lv是默认的sim <- sim(tosim)#看一下数据describe(sim )

  

指定模型

测试正确的模型

#结构性y ~ f1+ f2#测量f1 =~ x1 + x2 + x3 + x4 + x5 f2 =~ x6 + x7

测试不正确的模型。假如咱们谬误地认为X4和X5负载于因子2。

incorrect#结构性y ~ f1+ f2#测量f1 =~ x1 + x2 + x3 f2 =~ x6 + x7 + x4 + x5

拟合模型

正确的模型


 

summary(model_m)

不正确的模型

 

summary(incorrectmodel_m, fit.measures = TRUE)

比拟模型

正确模型

 不正确模型

Paths(incorrec)

anova

除了不正确模型的整体拟合指数较差--如CFI<0.95,RMSEA>0.06,SRMR>0.08和Chi-square test<0.05所示,正确模型也优于不正确模型,如正确模型的AIC和BIC低得多所示。


最受欢迎的见解

1.R语言多元Logistic逻辑回归 利用案例

2.面板平滑转移回归(PSTR)剖析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型剖析案例

5.R语言混合效应逻辑回归Logistic模型剖析肺癌

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

8.python用线性回归预测股票价格

9.R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测