数学建模【相关性模型】

一、相关性模型简介

相关性模型并不是指一个具体的模型,而是一类模型,这一类模型用来判断变量之间是否具有相关性。一般来说,分析两个变量之间是否具有相关性,我们根据数据服从的分布和数据所具有的特点选择使用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.mzph.cn/news/704382.shtml

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

相关文章

Linux系统——Nginx小总结

目录 一、影响用户体验的因素 二、网络连接——Apache/Nginx服务请求过程 三、I/O模型——Input/Output模型 1.同步/异步 2.阻塞/非阻塞 3.同步异步/阻塞非阻塞组合 四、Nginx用法 一、影响用户体验的因素 客户端硬件配置客户端网络速率客户端与服务端距离服务端网络速…

容器库(12)-std::unordered_multiset

unordered_multiset是以key为元素无序的关联容器,搜索、移除和插入操作是平均常数的时间复杂度。unordered_multiset在内部没有按任何顺序排列,而是放在桶当中的,放进哪个桶是通过计算key的hash值来决定的。和unordered_set不同的是&#xff…

【JS】事件绑定方法自带一个形参e“function(e)”,what is e?

在学习js的时候 我跳过了一部分章节的内容,导致现在学习react的时候很多内容都不知所措,因为这些教程都是建立在它认为你js所有内容都掌握的前提下,当然这是我自身的原因。需要反省。 下面是正题: 我们知道js有很多事件&#…

学习 Python operator 模块的 itemgetter

学习 Python operator 模块的 itemgetter 0. 引言1. itemgetter函数说明1-1. 示例代码1-2. 多级排序 0. 引言 operator模块提供了一系列对操作符的函数化接口,例如:加法、乘法、比较操作等。 itemgetter函数是operator模块中的一个功能,它用…

【一】【SQL】表的增删查改(部分)

表之“增”操作 建表的操作 mysql> create table students(-> id int unsigned primary key auto_increment,-> sn int unsigned unique key,-> name varchar(20) not null,-> qq varchar(32) unique key-> ); Query OK, 0 rows affected (0.03 sec)mysql&g…

v-rep--addon--附加组件

附加组件汉化文档 官网 什么是addon 就是一个lua语言文件; 用户通过编写的lua文件来增加coppeliasim的功能。 addon的作用 通过用户编写的lua语言实现添加coppliasim功能。

Day01:Web应用架构搭建站库分离路由访问配置受限DNS解析

目录 常规的Web应用搭建 三种常规网站搭建模式 程序源码 中间件配置 数据库类型 文件访问路径 总结 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件…

Pytorch添加自定义算子之(1)-安装配置Eigen库

一、安装对应的ubuntu环境 推荐使用Docker FROM nvcr.io/nvidia/pytorch:23.01-py3 RUN pip install tensorboardX RUN pip install pyyaml RUN pip install yacs RUN pip install termcolor RUN pip install opencv-python RUN pip install timm0.6.12 WORKDIR /app COPY . …

Python入门必学:print函数--从基础语法到高级用法

Python入门必学:print函数–从基础语法到高级用法 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您…

2024 春招市场行情报告:鸿蒙人才遭“爆抢”

前言 2024年可以说是布道鸿蒙开发行业的最佳时机,华为在千帆启航仪式会中发布会中表示,已有200家头部企业加入原生开发当中,并且一直有高薪抢人的局面,这一信息已经引起业界很大关注。 因此有很多公司开始准备要招聘鸿蒙工程师&…

机器学习YOLO操作全流程​​编

YOLO介绍 Ultralytics YOLOv8,是最新的著名实时目标检测和图像分割模型。它基于深度学习和计算机视觉的最新进展,提供了无与伦比的速度和精度性能。由于其精简的设计,适用于各种应用,并且可以轻松适配不同的硬件平台,从边缘设备到云端API。 探索 YOLOv8 文档,这是一个全…

R语言【BIEN】——BIEN_occurrence_genus():从BIEN数据库下载特定属的观察记录。

Package BIEN version 1.2.6 Description BIEN_occurrence_genus() 从BIEN数据库下载特定属的观察记录。 Usage BIEN_occurrence_genus(genus,cultivated FALSE,new.world NULL,all.taxonomy FALSE,native.status FALSE,natives.only TRUE,observation.type FALSE,poli…

【MySQL】探索表结构、数据类型和基本操作

表、记录、字段 数据库的E-R(entity-relationship,实体-关系)模型中有三个主要概念: 实体集 、 属性 、 关系集 。 一个实体集对应于数据库中的一个表,一个实体则对应于数据库表 中的一行,也称为一条记录。…

【Linux基础】Linux自动化构建工具make/makefile

背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后…

ubuntu 安装jdk8

在Ubuntu上安装Java Development Kit (JDK) 8,可以通过以下两种方法进行: 方法一:通过PPA源安装Oracle JDK 8(不推荐,因为Oracle已停止对JDK 8的公开更新支持) 由于Oracle自2019年起对JDK 8的公共更新仅限…

2/26作业

1.link_stack.c #include "link_stack.h" //申请栈顶指针 top_p creat_top() { top_p top (top_p)malloc(sizeof(top_t)); if(topNULL) { printf("空间申请不成功\n"); return NULL; } top->len 0; top->…

18.openeuler OECA认证模拟题1

单选 1。openEuler 操作系统中,通过什么命令可以查看操作系统的版本信息() B A、uname B、cat /etc/os-release C、cat /etc/.kyinfo D、lscpu 2.系统启动的过程顺序正确的是() A A、BIOS自检-MBR中的引导装载程序启动-Linux内核运行-用户登录 B、BIOS自检-MBR中…

Android基础进阶 - RecyclerView列表加载多类型视图

你是否会经常见到在同一个 RecyclerView 列表中加载多种不同的布局效果?最近写了一篇 ConcatAdapter 相关内容,发现虽然之前一直在使用多类型视图列表,但从未记录过,故重新记录于此 RecyclerView基础 Android进阶之路 - Recycler…

亲密关系中的问题

陈海贤老师会帮你解答亲密关系里的典型问题。 用户丫丫: 我想请教一下老师,如果男朋友因为工作或是生活上的事情遇到了挫折而情绪低落,那么我应该怎么有效地安慰他? 答:你想安慰他,其实这件事对于你男朋友…

leet hot 100-6 三数之和

三数之和 原题链接思路代码 原题链接 leet hot 100-5 15. 三数之和 思路 从前往后定义第一个数字 first 开始遍历整个数组 然后要求 frist和上一个数字不重复否则就是重复组合 从frist往后遍历第二个数字 同样要求第二个数字不能重复 再定义第三个数字从后往前面数 三个数字…