数学建模【相关性模型】

news2025/2/28 3:12:47

一、相关性模型简介

相关性模型并不是指一个具体的模型,而是一类模型,这一类模型用来判断变量之间是否具有相关性。一般来说,分析两个变量之间是否具有相关性,我们根据数据服从的分布和数据所具有的特点选择使用pearson(皮尔逊)相关系数和spearman(斯皮尔曼)等级相关系数;分析两组变量,每组变量都有多个指标的时候,无论是pearson相关系数还是spearman等级相关系数都无能为力,所以又要介绍一个新的典型相关分析来解决这个问题。

二、适用赛题

显而易见,这些相关性模型适用于探究变量之间的关系,帮助了解它们是否存在相关性,以及相关性的强度和方向。

三、模型流程

四、流程分析

因为整个流程包含三个模型,所以会以pearson相关系数,spearman等级相关系数,典型相关分析的顺序来讲解。

注:本篇存在大量的概率论与数理统计的知识,这里并不对其中出现的知识、定理等作概念说明和详细证明

1.pearson相关系数

可以从流程图看到,应用pearson相关系数条件还是比较苛刻的。首先得是两个变量之间,其次这两个变量的数据还要服从正态分布。其实应用pearson相关系数的条件还不止,后面会全部介绍。

①正态分布检验

为什么要正态分布检验?

  • 第一,实验数据通常假设是成对的来自于正态分布的总体。因为我们在求pearson相关系数以后,通常还会用t检验之类的方法来进行皮尔逊相关系数检验,而t检验是基于数据呈正态分布的假设的
  • 第二,实验数据之间的差距不能太大。皮尔逊相关性系数受异常值的影响比较大
  • 第三,每组样本之间是独立抽样的。构造t统计量时需要用到
Ⅰ正态分布JB检验(大样本 n > 30)

雅克-贝拉检验(Jarque-Bera test)

这是原理,但是在MATLAB中,代码很简单

注:有些地方正态分布峰度为0,MATLAB中是3

skewness(x) % 偏度
kurtosis(x) % 峰度

可以用这两句查询数据的偏度和峰度

MATLAB中进行JB检验的语法:

[h, p] = jbtest(x, alpha);

当输出h等于1时,表示拒绝原假设;h等于0则代表不能拒绝原假设。alpha就是显著性水平,一般取0.05, 此时置信水平为1 - 0.05 = 0.95。x就是我们要检验的随机变量,注意这里的x只能是向量。

ⅡShapiro-wilk检验(小样本 3 ≤ n ≤ 50)

Shapiro-wilk 夏皮洛-威尔克检验

此操作一般在SPSS软件上进行。

②计算相关系数

pearson相关系数的原理在概率论课本上有,无论是总体还是样本。这里给出MATLAB中如何求

R = corrcoef(A) % 返回A的相关系数的矩阵,其中A的列表示随机变量(指标),行表示观测值(样本)
R = corrcoef(A, B) % 返回两个随机变量A和B (两个向量) 之间的系数

关于pearson相关系数的总结

  •  如果两个变量本身就是线性的关系,那么pearson相关系数绝对值大的就是相关性强,小的就是相关性弱
  • 在不确定两个变量是什么关系的情况下,即使算出pearson相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说它们相关,我们一定要画出散点图来看才行
③假设检验

事实上,比起相关系数的大小,我们往往更关注的是显著性(假设检验)

原理这里不再给出,证明过于复杂。

这里用更好的方法:p值判断法

一行代码得到p值

[R, P] = corrcoef(test);

R返回的是相关系数表,P返回的是对应于每个相关系数的p值

注:拒绝原假设意味着pearson相关系数显著的异于0

2.spearman等级相关系数

pearson相关系数不能用,就使用spearman等级相关系数。鉴于pearson相关系数中已经介绍过正态分布检验,这里不在重复。

①计算相关系数

注:如果有的数值相同,则将它们所在的位置取算术平均。

举个例子:

在MATLAB中,代码也是很简单

coeff = corr(X, Y, 'type', 'Spearman'); % 这里的X和Y必须是列向量
coeff = corr(x, 'type', 'Spearman'); % 这时计算X矩阵各列之间的spearman相关系数
②假设检验
Ⅰ小样本情况(n ≤ 30)

直接查临界值表即可


n

单尾检验的显著水平

.05

.025

.01

.005

双尾检验的显著水平

.10

.05

.02

.01

4

1.000

5

0.900

1.000

1.000

6

0.829

0.886

0.943

1.000

7

0.714

0.786

0.893

0.929

8

0.643

0.738

0.833

0.881

9

0.600

0.700

0.783

0.833

10

0.564

0.648

0.745

0.794

11

0.536

0.618

0.709

0.755

12

0.503

0.587

0.671

0.727

13

0.484

0.560

0.648

0.703

14

0.464

0.538

0.622

0.675

15

0.443

0.521

0.604

0.654

16

0.429

0.503

0.582

0.635

17

0.414

0.485

0.566

0.615

18

0.401

0.472

0.550

0.600

19

0.391

0.460

0.535

0.584

20

0.380

0.447

0.520

0.570

21

0.370

0.435

0.508

0.556

22

0.361

0.425

0.496

0.544

23

0.353

0.415

0.486

0.532

24

0.344

0.406

0.476

0.521

25

0.337

0.398

0.466

0.511

26

0.331

0.390

0.457

0.501

27

0.324

0.382

0.448

0.491

28

0.317

0.375

0.440

0.483

29

0.312

0.368

0.433

0.475

30

0.306

0.362

0.425

0.467

35

0.283

0.335

0.394

0.433

40

0.264

0.313

0.368

0.405

45

0.248

0.294

0.347

0.382

50

0.235

0.279

0.329

0.363

60

0.214

0.255

0.300

0.331

70

0.190

0.235

0.278

0.307

80

0.185

0.220

0.260

0.287

90

0.174

0.207

0.245

0.271

100

0.165

0.197

0.233

0.257

注:样本相关系数r必须大于等于表中的临界值,才能得出显著的结论。

Ⅱ大样本情况

依旧是选择更好用的p值检验法

[R, P] = corr(test, 'type', 'Spearman'); % 直接给出相关系数和p值

这里和p值和pearson相关系数假设检验那里的p值解释相同。

3.pearson相关系数和spearman等级相关系数选择
  • 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用spearman等级相关系数也可以,就是效率没有pearson相关系数高
  • 上述任一条件不满足,就用spearman等级相关系数,不能用pearson相关系数
  • 两个定序数据之间也用spearman等级相关系数,不能用pearson相关系数

定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据。

例如:优、良、差;我们可以用1表示差、2表示良、3表示优,但请注意,用2除以1得出的2并不代表任何含义。定序数据最重要的意义代表了- -组数据中的某种逻辑顺序。

注:斯皮尔曼相关系数的适用条件比皮尔逊相关系数要广,只要数据满足单调关系(例如线性函数、指数函数、对数函数等)就能够使用。

4.典型相关分析

声明:对于典型相关分析,其中原理、证明过于复杂,本篇不作涉及,只介绍得出结果的流程。

基本思想

典型相关分析由Hotelling提出,其基本思想和主成分分析非常相似。首先在每组变量中找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数。然后选取和最初挑选的这对线性组合不相关的线性组合,使其配对,并选取相关系数最大的一对,如此继续下去,直到两组变量之间的相关性被提取完毕为此。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。典型相关系数度量了这两组变量之间联系的强度。

①矩阵标准化变换

矩阵的准化变换属于线性代数的知识,这里介绍为什么要对矩阵进行标准化变化的操作

  • 典型相关分析涉及多个变量,不同的变量往往具有不同的量纲及不同的数量级别。在进行典型相关分析时,由于典型变量是原始变量的线性组合,具有不同量纲变量的线性组合显然失去了实际意义
  • 其次,不同的数量级别会导致“以大吃小”,即数量级别小的变量的影响会被忽略,从而影响了分析结果的合理性
  • 因此,为了消除量纲和数量级别的影响,必须对数据先做标准化变换处理,然后再做典型相关分析
②求解

再看过第一步之后肯定是一头雾水,矩阵是哪里来的?这里对典型相关分析中的变量做一些介绍

规定有

第一步的矩阵标准化就是对这四个矩阵进行操作

这里以一组数据为例子

康复俱乐部对20名中年人测量了三个生理指标:体重(x1),腰围(x2),脉搏(x3);三个训练指标:引体向上次数(y1),起坐次数(y2),跳跃次数(y3)。分析生理指标与训练指标的相关性。

根据数据可得

在标准化之后,矩阵用R表示

设置A和B

这里A和B的特征值是相同的

则可得

每一个a和b都是对应的特征向量,在这里也就是典型相关系数

第二对和第三对也是如此。

③假设检验

对于每一对典型变量进行计算

④典型载荷分析

进行典型载荷分析有助于更好解释分析已提取的p对典型变量。所谓的典型载荷分析是指原始变量与典型变量之间相关性分析。

⑤典型冗余分析

5.补充

可以看见,典型相关分析过于复杂,不过可以利用SPSS软件完成对数据相关性的分析,包括pearson相关系数和spearman等级相关系数。

 

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

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

相关文章

《论文阅读》一个基于情感原因的在线共情聊天机器人 SIGIR 2021

《论文阅读》一个基于情感原因的在线共情聊天机器人 前言简介数据集构建模型架构损失函数实验结果咨询策略总结前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Towards an Online Empathetic Chatbot…

MySQL之中文转拼音(全拼音、简拼)

中文转换拼音全称 1、创建拼音对照表 CREATE TABLE IF NOT EXISTS t_base_pinyin (pin_yin_ VARCHAR(255) CHARACTER SET gbk NOT NULL,code_ INT(11) NOT NULL,PRIMARY KEY (code_) ) ENGINEINNODB DEFAULT CHARSETutf8mb4;2、插入对照数据 INSERT INTO t_base_pinyin (pin…

提高办公效率:Excel在文秘与行政办公中的应用技巧

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在当今信息化时代,Excel作为一款常…

STM32程序(移植)中头文件的路径

例:#include "./BSP/LCD/lcd.h"为什么有的头文件加了路径? 先看AI的回答: 在C和C编程中,当我们在源文件中包含(或称为“引入”或“导入”)一个头文件时,编译器需要知道这个头文件的位置。通常,编译器会在…

hcia datacom课程学习(1):通信基础

1.总体框架 上图为发送方通过互联网传递信息给接收方的过程。 家用路由器会直接集成上图中的四层(vlan,DHCP,静态路由,NAT,PPPoE)。 2.网络性能指标 (1)带宽 单位时间内传输的数…

【linux进程信号(一)】信号的概念以及产生信号的方式

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 进程信号 1. 前言2. 信号的基…

零基础C++开发上位机--基于QT5.15的串口助手(三)

本系列教程本着实践的目的,争取每一节课都带大家做一个小项目,让大家多实践多试验,这样才能知道自己学会与否。 接下来我们这节课,主要学习一下QT的串口编程。做一款自己的串口助手,那么这里默认大家都是具备串口通信…

keil的首次尝试,芯片为stm32F103C6T6

已经试了一下,吐槽这个软件的使用好麻烦啊 安装 然后先去安装对应的pack 这个鬼玩意里找对应的芯片,或者去官网上下载 我是在这里搜到芯片,再去官网下载一个驱动 https://www.keil.arm.com/packs/stm32f1xx_dfp-keil/boards/ 会有一个安装…

Laravel04 eloquent

eloquent 1. eloquent2. 创建eloquent model 以及 取数据 1. eloquent 文档地址: https://learnku.com/docs/laravel/8.x/eloquent/9406 下面是我们,通过laravel的DB类从数据库中获取了post记录,那么有没有可能我们直接获取一个post对象&am…

音频常用测试参数

一、总谐波失真(THDN) 总谐波失真指音频信号源通过功率放大器时,由于非线性元件所引起的输出信号比输入信号多出的额外谐波成份。谐波失真是由于系统不是完全线性造成的,我们用新增加总谐波成份的均方根与原来信号有效值的百分比来…

如何远程访问内网数据库?

天联是一种专门为远程访问内网数据库而设计的组网解决方案。由于其操作简单、跨平台应用、无网络要求以及独创的安全加速方案等原因,天联在几十万用户中广泛应用,解决了各行业客户的远程连接需求。通过采用穿透技术,天联实现了简单易用的远程…

基于雷达影像的洪水监测技术方法详解

洪水发生时候大多数是阴雨天气,光学影像基本上拍不到有效影像。雷达影像这时候就能发挥其不受天气影像的优点。现在星载的雷达卫星非常多,如高分三号、陆探一号、海丝一号(巢湖一号)、哨兵1号等。本文以哨兵1号L1地距(GRD)产品来介…

在Pycharm中运行Django项目如何指定运行的端口

方法步骤: 打开 PyCharm,选择你的 Django 项目。在菜单栏中,选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中,选择你的 Django server 配置(如果没有,你…

nginx(三)重写功能 防盗链 方向代理 等

return 可以写在location server if 里面 return用于完成对请求的处理,并直接向客户端返回响应状态码,比如:可以指定重定向URL(对于特殊重定向状态码,301/302等) 或者是指定提示文本内容(对于特殊状态码403/500等),处于此指令后…

simple-pytest 框架使用指南

simple-pytest 框架使用指南 一、框架介绍简介框架理念:框架地址 二、实现功能三、目录结构四、依赖库五、启动方式六、使用教程1、快速开始1.1、创建用例:1.2、生成py文件1.3、运行脚本1.3.1 单个脚本运行1.3.2 全部运行 1.4 报告查看 2、功能介绍2.1、…

JAVA高并发——CompletableFuture

CompletableFuture是Java 8新增的一个超大型工具类。为什么说它大呢?因为它实现了Future接口,而更重要的是,它也实现了CompletionStage接口。CompletionStage接口也是Java 8中新增的,它拥有多达40种方法!是的&#xff…

大数据职业技术培训包含哪些

技能提升认证考试,旨在通过优化整合涵盖学历教育、职业资格、技术水平和高新技术培训等各种教育培训资源,通过大数据行业政府引导,推进教育培训的社会化,开辟教育培训新途径,围绕大数据技术人才创新能力建设&#xff0…

k8s pv与pvc理解与实践

参考文章: https://blog.csdn.net/qq_41337034/article/details/117220475 一、 pv/pvc简述 Pv是指PersistentVolume,中文含义是持久化存储卷是对底层的共享存储的一种抽象,Pv由管理员进行配置和创建,只要包含存储能力&#xff…

vue3使用elementPlus进行table合并处理

elementPlus中table合并部分列 虚拟数据中公司下有多个客户,公司一样的客户,公司列需要合并,客户如果一样也需要合并进行展示,效果展示 const tableData ref([])自定定义自已想要的数据,一般都是通过接口拿到 //table…

CPU处理器NUMA架构简介

在实际工作中,经常遇到服务器是否开启NUMA、NUMA绑定几颗Core、跨NUMA节点访问的性能下降等等话题。那么NUMA作为非一致性内存访问的多处理器架构,在架构上有什么特性、与SMP架构有哪些不同,调优策略等,本文将作简要介绍。 1、CPU…