结构方程模型 SEM 多元回归和模型诊断分析学生测试成绩数据与可视化

简介: 结构方程模型 SEM 多元回归和模型诊断分析学生测试成绩数据与可视化

本文首先展示了如何将数据导入 R。然后,生成相关矩阵,然后进行两个预测变量回归分析。最后,展示了如何将矩阵输出为外部文件并将其用于回归。

数据输入和清理

首先,我们将加载所需的包。

library(dplyr) #用于清理数据
library(Hmisc) #相关系数的显着性

然后,我们将使用 Fortran 读入数据文件并稍微清理数据文件。

# 确保将您的工作目录设置为文件所在的位置
# 位于,例如setwd('D:/下载) 您可以在 R Studio 中通过转到
# 会话菜单 - '设置工作目录' - 到源文件
# 选择数据的一个子集进行分析,存储在新的
# 数据框
sub <- subset(des,case < 21 & case != 9)# != 表示不等于
#让我们看看数据文件
sub #注意 R 将原始数据中的空白单元格视为缺失,并将这些情况标记为 NA。NA 是默认值

# 使用 dplyr 对特定测试进行子集化
select(sub, c(T1, T2, T4))
# 使用 psych 包获取描述

请注意,R 将原始数据中的空白单元格视为缺失,并将这些情况标记为 NA。NA 是 R 实现的默认缺失数据标签。

创建和导出相关矩阵

现在,我们将创建一个相关矩阵,并向您展示如何将相关矩阵导出到外部文件。请注意,创建的第一个相关矩阵使用选项“pairwise”,该选项对缺失数据执行成对删除。这通常是不可取的,因为它删除了变量,而不是整个案例,因此可能会使参数估计产生偏差。第二个选项,“complete”,对缺失数据实施列表删除,这比成对删除更可取,因为参数估计偏差较小(删除整个案例,而不仅仅是特定变量)。

# 在变量之间创建一个相关矩阵

cor <- cor( "pairwise.complete.obs",

cor #相关矩阵

rcorr( test)   # 相关性的显著性

# 将相关矩阵保存到文件中
write.csv( cor, "PW.csv")
cor(test, method = "pear")


cor #注意我们使用列表删除时的差异

# 将相关矩阵保存到硬盘上的文件中

write.csv(cor, "cor.csv")

多元回归

现在,我们将做一些多元回归。具体来说,我们将查看测试 1 和 2 是否预测测试4。我们还将检查一些模型假设,包括是否存在异常值以及检验之间是否存在多重共线性(方差膨胀因子或 VIF)。其中一些代码可帮助您将残差、预测值和其他案例诊断保存到数据帧中以供以后检查。请注意,lm 命令默认为按列表删除。

summary(model)

# 将拟合值和预测值保存到数据框
 Predicted  
# 保存个案诊断(异常值)
 hatvalues(model)
 
 
# 多重共线性检验
vif(model)

vcov(ol) #保存系数的方差协方差矩阵

cov(gdest) #保存原始数据的协方差矩阵

模型结果及其含义:

  • 多重 R 平方 告诉您在给定模型中自变量的线性组合的情况下预测或解释的因变量的方差比例。
  • 调整后的 R 平方 告诉您总体水平 R 平方值的估计值。
  • 残差标准误差 告诉您残差的平均标准偏差(原始度量)。如果平方是均方误差 (MSE),则包含在残差旁边的方差分析表中。
  • F 统计量之后的显着性项 提供了针对没有预测变量的仅截距模型的综合检验(您的模型是否比仅平均值更好地预测您的结果?)
  • 方差分析表 Mean Sq 残差的方差
  • 方差膨胀因子 告诉您模型中的预测变量之间是否存在多重共线性。通常大于 10 的数字表示存在问题。越低越好。
  • 影响度量 提供了许多个案诊断。在此输出中,相应的列编号按各自的顺序表示:截距的 dfbeta、X1 的 dfbeta、x2 的 dfbeta、dffits(全局影响,或 Yhat(预测的 Y)基于案例的删除而改变了多少)、协方差比率(通过删除此观察值,估计的协方差矩阵的行列式的变化),库克的距离(影响),杠杆率(就独立预测变量的值而言,观察值有多不寻常?),显着性检验标志着案例作为潜在的异常值。请注意,发现异常值的一种方法是寻找超出均值 2 个标准差以上的残差(均值始终为 0)。

接下来,让我们绘制一些模型图。

# 制作模型的图表

plot(T4 ~ T1, data =test)

绿线表示线性最佳拟合,而红线表示LOESS(局部加权回归)_拟合。红色虚线表示LOESS(局部加权回归)_平滑拟合线的 +-1 标准误差。第一个散点图命令的额外参数标记每个数据点以帮助识别异常值。注意第二个图,如果残差是正态分布的,我们会有一条平坦的线而不是一条曲线。


相关文章
|
19天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
59 3
|
2天前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
14 2
|
14天前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
|
22天前
|
测试技术
谈谈【软件测试的基础知识,基础模型】
谈谈【软件测试的基础知识,基础模型】
22 5
|
23天前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
25 4
|
21天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
33 1
|
21天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
59 1
|
22天前
|
存储 SQL 分布式计算
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
29 0
|
18天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
30 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
192 7
Jmeter实现WebSocket协议的接口测试方法