结构方程模型(SEM)以及用R语言实现

news2024/11/24 8:42:09

目录

结构方程模型概述

结构方程模型匹配

1.协方差SEM

2.分段SEM 


在R语言中实现sem进行结构方程建模和路径图可视化 – 拓端tecdat

结构方程模型是一个线性模型框架,它对潜变量同时进行回归方程建模。

​​​​​​​在R语言中实现SEM进行结构方程建模和路径图可视化!

结构方程模型概述

SEM需要分析人员首先自行建立一个因子之间的关系模型,之后使用SEM对该模型进行分析,根据结果评估模型的效果,之后不断的对模型进行调整,随后重复“调整-评估”这一循环,直至结果满意为止。

首先,一点,起始模型的建立,没有统一的标准,只能由每个分析人员根据研究的实际情况自行摸索。当然也有一些前期的基本工作,比如通过一些相关性分析、VIF、CCA/RDA等筛选一下用于建模的因子,去除不必要的因子,使得起始模型的建立更简单一些,也可以通过相关性结合研究实际初步评估一下直接作用和间接作用。

第二点,对模型的调整,每个因子应该放在什么位置,因子之间的关联如何改变。常规分析两个变量间是否存在关联时,我们会使用相关性分析,但是相关性只能表明两个变量存在相互关系,但无法得出哪个变量是因?哪个变量是果?

此外,相关性分析只是两个变量数量上的相互关系,而在实际情况中,有些变量可能不是直接与其它变量发生相互作用,而是通过第三个变量间接的与靶标变量关联。

结构方程模型(Structural Equation Modeling,SEM)就是一种将两个或多个结构模型联合起来,以实现对多元关系进行建模的统计框架,其可以解决相关性分析中无法得到的因果关系以及区别直接和间接作用。

结构方程模型匹配

SEM可以分为协方差SEM和分段SEM;

1.协方差SEM

协方差SEM假定所有变量均具有正态分布,即数据服从多元正态分布,同时该分析还假定所有的变量均为独立的。

使用piecewisedSEM包的keeley数据作为示例数据,假定的初始关系为firesev由age决定,同时firesev还决定cover,使用lavaan包进行协方差SEM模型匹配。


install.packages("piecewiseSEM")
install.packages("lavaan")
library(lavaan)
library(piecewiseSEM)

data(keeley)
keeley_formula <- '
firesev ~ age
cover ~ firesev
'
keeley_sem <- sem(keeley_formula, data = keeley)

summary(keeley_sem, standardize = T, rsq = T)
lavaan 0.6-12 ended normally after 1 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                         4

  Number of observations                            90

Model Test User Model:
                                                      
  Test statistic                                 3.297
  Degrees of freedom                                 1
  P-value (Chi-square)                           0.069

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  firesev ~                                                             
    age               0.060    0.012    4.832    0.000    0.060    0.454
  cover ~                                                               
    firesev          -0.084    0.018   -4.611    0.000   -0.084   -0.437

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .firesev           2.144    0.320    6.708    0.000    2.144    0.794
   .cover             0.081    0.012    6.708    0.000    0.081    0.809

R-Square:
                   Estimate
    firesev           0.206
    cover             0.191
keeley_sem <- sem(keeley_formula, data = keeley)

summary(keeley_sem, standardize = T, rsq = T)



keeley_psem <- psem(
  lm(firesev ~ age, data = keeley),
  lm(cover ~ firesev, data = keeley),
  data = keeley)
keeley_psem
fisherC(keeley_psem)
##   Fisher.C df P.Value
## 1     5.18  2   0.075
AIC(keeley_psem)
## [1] 17.18
BIC(keeley_psem)
## [1] 32.179
summary(keeley_psem, .progressBar = FALSE)

2.分段SEM 

不同于协方差SEM,分段SEM使用Fisher's C statistic代替卡方检验,但是同样要求P>0.05。AIC会在给定模型的复杂性与其拟合优度之间进行权衡,可以将AIC值视为对应了模型的准确性,AIC值越小的模型表明越有可能准确地预测新数据,AIC小于2时认为模型效果很好。

Structural Equation Model of keeley_psem 

Call:
  firesev ~ age
  cover ~ firesev

    AIC      BIC
 17.180   32.179

---
Tests of directed separation:

     Independ.Claim Test.Type DF Crit.Value P.Value 
  cover ~ age + ...      coef 87    -1.8018   0.075 

Global goodness-of-fit:

  Fisher's C = 5.18 with P-value = 0.075 and on 2 degrees of freedom

---
Coefficients:

  Response Predictor Estimate Std.Error DF Crit.Value P.Value Std.Estimate    
   firesev       age   0.0597    0.0125 88     4.7781       0       0.4539 ***
     cover   firesev  -0.0839    0.0184 88    -4.5594       0      -0.4371 ***

  Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05

---
Individual R-squared:

  Response method R.squared
   firesev   none      0.21
     cover   none      0.19

(于 2023-06-01 09:18:42 发布 )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/596839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VPP 编译记录

目录 虚拟机安装 VPP编译 下载一些工具 下载vpp源码 编译 首次构建 非首次直接编译 虚拟机安装 由于使用的统信系统作为宿主机器&#xff0c;在上面貌似只有VM virtualBox软件&#xff0c;先在应用商店安装此应用。 下载ubuntu 64位镜像 一开始没注意下载了32位的系统…

基于springboot_vue的学生在线选课java教学质量评价系统

对教师教学质量进行客观公正的评价,是一项十分严肃和重要的工作。是引导教师进行教学方法改进&#xff0c;提高教学质量的重要手段。它以教师的教学活动为主要评价对象&#xff0c;通过教学评价,发现存在的问题,了解学生的实际学习状况&#xff0c;明确教学改进的努力方向。但是…

【算法系列之二叉树II】leetcode112. 路径总和

257. 二叉树的所有路径 力扣题目链接 给你一个二叉树的根节点 root &#xff0c;按 任意顺序 &#xff0c;返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 输入&#xff1a;root [1,2,3,null,5] 输出&#xff1a;["1->2->5","…

解决spark程序 Permission denied: user=<username>, access=WRITE...等常见hive权限报错

Permission Denied Permission Denied: 这是最常见的错误消息之一&#xff0c;表示当前用户没有足够的权限执行写入操作。报错信息可能类似于&#xff1a; org.apache.hadoop.security.AccessControlException: Permission denied: user<username>, accessWRITE, inode&…

Linux教程——操作系统是什么,操作系统概述

Linux 也是众多操作系统之一&#xff0c;要想知道 Linux 是什么&#xff0c;首先得说一说什么是操作系统。 计算机是一台机器&#xff0c;它按照用户的要求接收信息、存储数据、处理数据&#xff0c;然后再将处理结果输出&#xff08;文字、图片、音频、视频等&#xff09;。计…

Linux高级---k8s安全认证

文章目录 一、访问控制概述1、客户端2、认证、授权与准入控制 二、认证管理1、认证方式2、HTTPS认证大体分为3个过程 三、授权管理1、授权策略2、RBAC3、Role、ClusterRole4、RoleBinding、ClusterRoleBinding5、RoleBinding引用ClusterRole进行授权6、实战&#xff1a;创建一个…

Java线程池总结

背景 Java线程池的写法和参数是面试中出现频率很高的基础题。越是基础的东西&#xff0c;特别是对高阶职位的面试者&#xff0c;需要回答的符合自己面试的职位等级。 这里也不能说是一个多么好的答案&#xff0c;只是说如果是我&#xff0c;我怎么回答&#xff0c;仅供参考。…

Java --- springboot3依赖管理和自动配置机制

目录 一、依赖管理机制 二、自动配置机制 一、依赖管理机制 &#x1f695;、为什么导入starter-web所有相关依赖都导入进来&#xff1f; ①、开发什么场景&#xff0c;导入什么场景启动器。 ②、maven依赖传递原则。A-B-C&#xff1a; A就拥有B和C ③、导入 场景启动器。 场…

JavaScript 发展的前世今生

专栏介绍 本专栏主要用作于开放性知识点分享学习&#xff0c;其主要知识点范围是 以围绕 原生 JavaScript 语法 从基础知识到高阶语法阶段的学习分享。 导语&#xff1a; 既然博主&#xff0c;计划将此专栏打造为 JavaScript 的知识点学习分享集结地。所以&#xff0c;本章节就…

奥威BI,适合中国电商的大数据分析平台

电商数据分析做得好不好&#xff0c;除了分析思维这类主要因素外&#xff0c;大数据分析平台的选择也尤为重要。从电商数据分析实际体验来看&#xff0c;电商行业需要大数据分析平台需满足海量数据秒分析、数据直观易懂、操作简单易上手这三大基础要求&#xff0c;如能提供系统…

Tomcat下载安装以及配置

目录 tomcat的下载安装 修改控制台乱码 idea配置tomcat tomcat的下载安装 到tomcat的官网https://tomcat.apache.org/下载所需版本&#xff0c;我们下载的tomcat必须要和我们的jdk相匹配否则会导致tomcat运行和部署的时候出错&#xff0c;挑选tomcat的版本的时候参考下图 …

阿里系cookie之acw_sc__v2 逆向分析

文章目录 声明案例地址目标参数加密流程与逆向分析js代码python调用测试声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! cookie中使用acw_sc__v2的网站有很多,比如前程无忧、诸葛找房、…

2023年6月跟资深软考辅导专家学习备考软考(中/高级)到这家

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

收集关键词的方法有哪些?(如何查找精准的行业流量关键词)

关键词的收集通常可以通过以下几种方法: 关键词收集方法 1.根据市场价值、搜索词竞争性和企业实际产品特征进行筛选&#xff1a;确定您的关键词列表之前&#xff0c;建议先进行市场分析&#xff0c;了解您的竞争对手、行业状况和目标受众等信息&#xff0c;以更好地了解所需的特…

if __name__ == ‘__main__‘详细解释及实操演示

在Python中&#xff0c;每个模块都有一个内置的变量 name&#xff0c;用于表示当前模块的名称。当一个Python文件被执行时&#xff0c;Python解释器会首先将该文件作为一个模块导入&#xff0c;并执行其中的代码。此时&#xff0c;__name__的值为模块的名称。 if name ‘main…

浅谈RPC,gRPC和RESTful

RPC 远程过程调用&#xff08;Remote Procedure Call&#xff0c;RPC&#xff09;是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间&#xff08;通常为一个开放网络的一台计算机&#xff09;的子程序&#xff0c;而程序员就像调用本地程序一样&…

UniFi USW-Flex 室内-室外 POE 交换机

选择理由 选择理由是是因为要户外使用&#xff0c;对比下户外可以使用的 POE 交换机并不是很多。 UniFi USW-Flex 室内-室外 5 端口 PoE 千兆交换机能够支持在户外和户内使用。 户外使用需要具有基本的防水性能&#xff0c;尤其是冬天比较寒冷的时候也需要具备一定的环境耐受…

SpringBoot接收请求参数的方式

【方式一】原始方式 因为SpringBoot封装了Servlet&#xff0c;所以也允许使用HttpServletRequest类中的方法来获取 /*** 【方式一】原始方式*/RequestMapping("/demo01")public String demo01(HttpServletRequest request) {// 参数名要与页面提交的参数名一致Strin…

【十二】设计模式~~~行为型模式~~~命令模式(Java)

命令模式-Command Pattern【学习难度&#xff1a;★★★☆☆&#xff0c;使用频率&#xff1a;★★★★☆】 1.1. 模式动机 在软件设计中&#xff0c;我们经常需要向某些对象发送请求&#xff0c;但是并不知道请求的接收者是谁&#xff0c;也不知道被请求的操作是哪个&#xf…

是德Keysight N9000A(agilent)N9000B CXA信号分析仪

Keysight N9000A (Agilent) CXA 信号分析仪是一款多功能、低成本的工具&#xff0c;可用于基本信号表征。它可以帮助您在多个层面上加速产品测试和开发&#xff1b;降低成本、吞吐量、设计增强等。通过 CXA 中的 X 系列可扩展性获得基本功能 -并期待更多。 我们无法预测未来&a…