数学建模--皮尔逊相关系数、斯皮尔曼相关系数

2024-08-31 03:36

本文主要是介绍数学建模--皮尔逊相关系数、斯皮尔曼相关系数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.总体的皮尔逊相关系数

2.样本的皮尔逊相关系数

3.对于皮尔逊相关系数的认识

4.描述性统计以及corr函数

​编辑 5.数据导入实际操作

6.引入假设性检验

6.1简单认识

6.2具体步骤

7.p值判断法

8.检验正态分布

8.1jb检验

8.2威尔克检验:针对于p值进行检验

9.两个求解方法的总结


1.总体的皮尔逊相关系数

我们首先要知道这个皮尔逊相关系数里面的两个概念,我们的系数的计算要使用到这两个概念,一个就是总体的均值(就是求和之后求解平均值),xy各是一组数据,我们使用这个x里面的数据减去第一组的均值乘上第二组的数值减去均值,然后做乘法求和,除以on就是这个两组数据的协方差

皮尔逊相关系数就是在协方差的基础上面,除以各自对应的标准差,这个除以标准差的过程,实际上就是进行的这个标准化的过程,这个标准化之后的协方差就是我们的皮尔逊相关系数;

2.样本的皮尔逊相关系数

我们的总体的皮尔逊相关系数是除以这个数组的个数n,但是这个样本的皮尔逊相关系数是除以这个n-1,这个就是两者在计算上面的区别;

上面的这个无论是总体的皮尔逊相关系数,还是样本的皮尔逊相关系数,都是为了让我们了解这个背后的计算方法,在实际的数学建模里面,我们是使用的相关的数学软件里面的函数直接进行这个计算的,并不会用到上面的理论知识,但是只有了解这些理论知识,当我们的结果计算出来的时候,我们才可以让这个结果结合理论对于我们的题目进行描述性说明,达到我们的建模的效果;

3.对于皮尔逊相关系数的认识

 

通过上面的这个图形,我们也可以看出来同样是0.816的系数,我们的散点图的绘制效果完全不同,这个就是因为我们的这个皮尔逊相关系数使用是有自己的条件的,如果我们无论是什么模型都去计算这个皮尔逊相关系数,其实是没有他的真实含义的;

实际上只有两个变量之间是线性相关,这个相关系数的求解计算才会有实际意义,因此这个就要求我们首先要进行这个可视化,做出来这个散点图,根据这个散点图去判断我们的这个两个变量之间是否满足线性相关,只有满足的情况下我们再去计算这个皮尔逊相关系数;

对于上面的这四张图片,我们进行下面的解释,就是这个皮尔逊相关系数即使是一样的,但是这个实际情况却截然不同,第一个图像上面的数据点显然不是线性相关的,但是这个皮尔逊相关系数的计算结果显示这个数据集具有很强的相关性,离散的点对于这个皮尔逊系数的影响也很大,最后一张图的那个根本就没有相关关系,但是这个计算结果却很大,实际上这个计算结果是没有实际意义的;

因此,我们进行总结,当两个变量之间满足线性相关的时候,结果大就说明两个变量的相关性强,小就是两个变量的相关性弱,但是如果这两个变量就没有相关性,这个时候即使计算结果很大也不能说明两个变量之间具有较强的相关性;

4.描述性统计以及corr函数

下面这个就是多组向量,我们可以先进行可视化的工作,然后根据这个可视化的结果去判断这个是否满足线性相关,满足的话我们就是用这个corr函数进行皮尔逊相关系数的计算;

 

但是对于这样的数据类赛题,我们拿到这个数据之后最好是进行一下这个数据的描述性分析,就是计算这个数据的平均值,方差之类的,获得这个数据的数字特征,利于我们后续的分析;

我们使用下面的这个基本的计算方差,均值,标准差之类的函数对于这个数据的数字特征进行计算和说明,这个是我们的准备工作;然后我们就可以去调用这个corrcoef函数你进行这个相关系数的计算,这个计算结果就是一个6*6的矩阵,表示这6个变量之间一一对应的相关系数,因为这个1和2,2和1的这个相关系数应该是一样的,因此使用这个函数输出的这个矩阵也是一个对称矩阵,只需要看一半就可以知道任意两组数据之间的相关关系;

 5.数据导入实际操作

在这个数学建模的时候,很多的情况下我们都需要导入数据,这个时候我们就需要去学习导入数据的方法以及使用数据的代码:

选择我们想要导入的数据:不要复制这个表头,例如这个x,y之类的,我们只需要复制这个数据,因为这个就算我们把这个x,y复制过去,这个也是被视为0的,因为这个xy不是数值型数据;

首先就是右键,点击新建,然后新建一个变量,把我们的这个数据粘贴进去即可,这个时候的变量就导入进去了,我们可以创建一个x一个y进行演示;

我们再右键工作区保存两个数据xy,这个时候命名这个数据集合是data.mat,这个后缀是我们的系统自动加上的,我们只需要进行这个名字的修改即可;

这个时候,如果我们在这个编程的过程中需要使用到上面的数据,这个时候我们的代码里面就可以使用load+文件的名字,这个时候我们需要的数据就导入了进来,这个就是导入数据的方法;

6.引入假设性检验

6.1简单认识

假设性检验的前提就是我们需要有原假设:下面的这个例子,就是一个班级上面的30名同学。我们假设这个班级的平均成绩在80分左右,这个就是一个原假设;

接下来,我们需要认识一下两个概念:

置信水平β:表示我们的原来假设成立的概率,这个数值一般都会比较大;

显著性水平α:表示我们的原来的假设不成立的概率,这个概率一般都会比较小;

我们假设这个符合正态分布,那么这个70,90就是两个临界值,如果我们取出一个同学的成绩在这个区间里面,那么这个就可以说明我们的原假设成立,如果不在这个区间里面,就说明我们的原假设不成立,这个不成立的时候就是第一类错误,因为这个不成立的概率很小,我们却遇到了;

6.2具体步骤

首先就是有一个原假设,这个里面涉及到了这个概率密度函数和累积密度函数,统计量等诸多的数学概念,我们如果没学过就只需要知道这个具体的比较,至于这个相关的函数以及具体的计算,我就不在赘述了;

就是我们的这个标准化后的检验值是不是在这个接受域里面,如果是,我们就接受原假设,否则就拒绝原假设,这个接受域的计算和我们的置信水平有关,置信水平越高,我们接受原假设的概率越大,大概就是这个样子的;

7.p值判断法

为什么会有这个p值判断法,就是这个皮尔逊相关系数的检验方法太复杂,我们使用这个p值来简化这个流程,且这个运用我们的累计密度函数;

下面的一个验证正态分布的方法就是基于p值进行的,就是通过打印这个p值来判断是否满足我们的正态分布;

8.检验正态分布

想要对于这个皮尔逊相关系数进行假设性检验,首先这个数据需要满足我们的正态分布,小样本数据我们可以使用威克尔检验查看这个数据之间是否在满足正态分布,大样本的数据需要使用JB检验查看是否满足正态分布;

8.1jb检验

使用这个JB检验需要调用这个jbtest函数,这个函数的第一个参数就是需要进行检验的向量,第二个参数就是我们的自由度,下面这个实例里面的自由度就是2;

我们这个输出结果里面实际上是有0有1的,这个时候输出结果是0的表示的就是这个对应的行和列代表的变量之间拒绝原假设

8.2威尔克检验:针对于p值进行检验

我们的这个威尔克检验是在这个spss上面进行的;

输出的结果示例:

同时使用两个相关系数进行分析,出现的这个右上角的型号表示的是这个相关性的显著程度:

9.两个求解方法的总结

因为这个皮尔逊相关系数基本上进行假设检验的时候是很难满足我们的正态分布的,因此我们大部分情况下使用的都是这个斯皮尔曼相关系数来进行这个求解问题

这篇关于数学建模--皮尔逊相关系数、斯皮尔曼相关系数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122776

相关文章

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

uva 11044 Searching for Nessy(小学数学)

题意是给出一个n*m的格子,求出里面有多少个不重合的九宫格。 (rows / 3) * (columns / 3) K.o 代码: #include <stdio.h>int main(){int ncase;scanf("%d", &ncase);while (ncase--){int rows, columns;scanf("%d%d", &rows, &col

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

OCC开发_变高箱梁全桥建模

概述     上一篇文章《OCC开发_箱梁梁体建模》中详细介绍了箱梁梁体建模的过程。但是,对于实际桥梁,截面可能存在高度、腹板厚度、顶底板厚度变化,全桥的结构中心线存在平曲线和竖曲线。针对实际情况,通过一个截面拉伸来实现全桥建模显然不可能。因此,针对变高箱梁,本文新的思路来实现全桥建模。 思路 上一篇文章通过一个截面拉伸生成几何体的方式行不通,我们可以通过不同面来形成棱柱的方式实现。具体步骤

CSP-J基础之数学基础 初等数论 一篇搞懂(一)

文章目录 前言声明初等数论是什么初等数论历史1. **古代时期**2. **中世纪时期**3. **文艺复兴与近代**4. **现代时期** 整数的整除性约数什么样的整数除什么样的整数才能得到整数?条件:举例说明:一般化: 判断两个数能否被整除 因数与倍数质数与复合数使用开根号法判定质数哥德巴赫猜想最大公因数与辗转相除法计算最大公因数的常用方法:举几个例子:例子 1: 计算 12 和 18

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)

1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear["Global`*"]f0[x_, a_, b_, c_, d_] := (a*x - b)*(d - c*x);(*(b c+a d)/(2 a c)*)Maximize[{f0[x, a, b,