R语言中实现sem进行结构方程建模和路径图可视化(上)

简介: R语言中实现sem进行结构方程建模和路径图可视化

引言


诸如线性回归、多元回归、路径分析、确认性因子分析和结构回归等模型都可以被认为是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

路径分析


与上述步骤相同,但主要侧重于回归路径。值得注意的是这种方法对调节分析的效用。


点击标题查阅往期内容


R语言:结构方程模型、潜变量分析


01

02

03

04


##加载数据
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)


R语言中实现sem进行结构方程建模和路径图可视化(下):https://developer.aliyun.com/article/1495590

相关文章
|
7天前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
2天前
|
数据可视化
【R语言实战】——金融时序ARIMA建模
【R语言实战】——金融时序ARIMA建模
|
2天前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
2天前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
2天前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
7天前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
7天前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
7天前
|
数据可视化
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码2
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
7天前
|
数据可视化 数据挖掘
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码1
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
7天前
|
前端开发 数据可视化
R语言广义线性混合模型(GLMM)bootstrap预测置信区间可视化
R语言广义线性混合模型(GLMM)bootstrap预测置信区间可视化

热门文章

最新文章