首页 > 其他分享 >R语言中实现sem进行结构方程建模和路径图可视化|附代码数据

R语言中实现sem进行结构方程建模和路径图可视化|附代码数据

时间:2023-04-11 23:00:43浏览次数:44  
标签:变量 模型 建模 可视化 sem x1 SEM x4 x5

原文链接: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中,回归方程可以表示为yax1+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)

图片

间接效应的Bootstrapping置信区间

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

sem(medmodel,se = "bootstrap")

图片

图片

图片

确认性因素分析

加载数据

我们将使用例子中的相同数据

指定模型

'
f =~ x1 + x2 + x3 +x4 + x5
x1~~x1
x2~~x2
x3~~x3
x4~~x4
x5~~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低得多所示。

图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《R语言中实现sem进行结构方程建模和路径图可视化》。

点击标题查阅往期内容

结构方程模型SEM分析心理学和营销研究数据路径图可视化结构方程模型SEM、路径分析房价和犯罪率数据、预测智力影响因素可视化2案例
结构方程模型 SEM 多元回归和模型诊断分析学生测试成绩数据与可视化
在R语言中实现sem进行结构方程建模和路径图可视化
R语言结构方程SEM中的power analysis 效能检验分析stata如何处理结构方程模型(SEM)中具有缺失值的协变量
R语言基于协方差的结构方程拟合的卡方检验
R语言基于协方差的SEM结构方程模型中的拟合指数
R语言:结构方程模型、潜变量分析
R语言对用电负荷时间序列数据进行K-medoids聚类建模和GAM回归
R语言进行支持向量机回归SVR和网格搜索超参数优化
R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断
R语言深度学习:用keras神经网络回归模型预测时间序列数据
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言使用虚拟变量(Dummy Variables) 回归分析工资影响因素

标签:变量,模型,建模,可视化,sem,x1,SEM,x4,x5
From: https://www.cnblogs.com/tecdat/p/17308199.html

相关文章

  • 复杂网络社区发现算法聚类分析全国电梯故障数据和可视化:诊断电梯“安全之殇”|附代码
    参考原文:http://tecdat.cn/?p=2186最近我们被客户要求撰写关于复杂网络社区发现算法的研究报告,包括一些图形和统计输出。物业工程肩负着维持项目各类设施设备的正常运作,保障全体业主的正常生活,令物业保值升值,是项目的心脏部门。拓端数据(tecdat)研究人员根据全国电梯故障上报汇总......
  • Semantic Kernel 入门系列:
    语义的归语义,语法的归语法。基础定义最基本的NativeFunction定义只需要在方法上添加SKFunction的特性即可。usingMicrosoft.SemanticKernel.SkillDefinition;usingMicrosoft.SemanticKernel.Orchestration;namespaceMySkillsDirectory;publicclassMyCSharpSkill......
  • 迁移学习()《Attract, Perturb, and Explore: Learning a Feature Alignment Network fo
    论文信息论文标题:Attract,Perturb,andExplore:LearningaFeatureAlignmentNetworkforSemi-supervisedDomainAdaptation论文作者:TaekyungKim论文来源:2020ECCV论文地址:download 论文代码:download视屏讲解:click1摘要提出了目标域内的域内差异问题。提......
  • react useMemo
    useMemo是React提供的一个用于优化组件性能的钩子函数。它可以缓存组件的计算结果,并在依赖项发生变化时重新计算。这可以避免在每次组件渲染时都重新计算相同的值,从而提高组件的性能。useMemo的语法如下:constmemoizedValue=useMemo(()=>computeExpensiveValue(a,b),......
  • AD633JRZ-ASEMI代理ADI亚德诺AD633JRZ车规级芯片
    编辑-ZAD633JRZ芯片参数:型号:AD633JRZ总误差:±1%标度电压错误:±0.25%电源干扰:±0.01%输出偏移电压:±5mV小信号带宽:1MHz斜率:20V/µs沉降时间达到1%:2µs宽带噪声:1mVrms输出电压摆幅:±11V短路电流:30mA信号电压范围:±10V差动电阻:10MΩ额定性能电源电压:±15V  AD63......
  • ASEMI代理ADI亚德诺AD8061ARTZ-REEL7车规级芯片
    编辑-ZAD8061ARTZ-REEL7芯片参数:型号:AD8061ARTZ-REEL7−3dB小信号带宽:320MHz−3dB大信号带宽:280MHz0.1dB平坦度的带宽:30MHz斜率:650V/μs总谐波失真:-77dBc输入电压噪声:8.5nV/√Hz输入电流噪声:1.2pA/√Hz输入偏移电压:1mV输入偏置电流:3.5uA输入失调电流:0.3±uA输入电阻......
  • 图扑数字孪生工厂合集 | 智慧工厂可视化,推动行业数字化转型
    前言图扑软件基于HTML5(Canvas/WebGL/WebVR)标准的Web技术,满足了工业物联网跨平台云端化部署实施的需求,以低代码的形式自由构建三维数字孪生、大屏可视化、工业组态等等。从SDK组件库,到2D和3D编辑,到属性修改,构成了一站式的数据可视化解决方案、形成了一整套实践证明的高效......
  • SketchUp曲面建模教程
    推荐:将NSDT场景编辑器加入你的3D工具链其他系列工具:NSDT简石数字孪生教程适用品牌型号:华硕N550JK系统版本:Windows10 专业版软件版本:SketchUp2021大伙儿建模的时候总会遇到曲面建模,那么SketchUp如何曲面建模?是不是一定要用插件才能完成曲面呢?下面就来分享两种曲面案建模的......
  • ASEMI代理AD8606ACBZ-REEL7原装ADI车规级AD8606ACBZ-REEL7
    编辑:llASEMI代理AD8606ACBZ-REEL7原装ADI车规级AD8606ACBZ-REEL7型号:AD8606ACBZ-REEL7品牌:ADI/亚德诺封装:WLCSP-8批号:2023+引脚数量:8安装类型:表面贴装型AD8606ACBZ-REEL7汽车芯片AD8606ACBZ-REEL7特征特征低偏移电压:最大65μV低输入偏置电流:最大1pA低噪声:8nV/√Hz......
  • ASEMI代理AD8606ACBZ-REEL7原装ADI车规级AD8606ACBZ-REEL7
    编辑:llASEMI代理AD8606ACBZ-REEL7原装ADI车规级AD8606ACBZ-REEL7型号:AD8606ACBZ-REEL7品牌:ADI/亚德诺封装:WLCSP-8批号:2023+引脚数量:8安装类型:表面贴装型AD8606ACBZ-REEL7汽车芯片AD8606ACBZ-REEL7特征特征低偏移电压:最大65μV低输入偏置电流:最大1pA低噪声:8nV/√Hz宽带:10MHz高开......