这里是根据清风数学建模视频课程整理的笔记,我不是清风本人。

文章目录

  • 总体和样本
  • 总体皮尔逊Pearson相关系数
  • 样本皮尔逊Pearson相关系数
  • 皮尔逊相关系数的注意点
  • 皮尔逊相关系数例题
  • 描述性统计
  • 矩阵散点图
  • 皮尔逊相关系数计算
  • 美化相关系数表
  • 对皮尔逊相关系数进行假设检验
  • p值判断法
  • 皮尔逊相关系数假设检验的条件
  • 检验数据是否属于正态分布
  • 正态分布JB检验(大样本n>30)
  • Shapiro-wilk检验(小样本3≤n≤50)
  • Q-Q图
  • 斯皮尔曼spearman相关系数
  • 第一种定义
  • 第二种定义
  • 斯皮尔曼相关系数的假设检验
  • 小样本情况
  • 大样本情况
  • 两个相关系数的比较


总体和样本

  • 总体——所要考察对象的全部个体叫做总体
  • 样本——从总体中所抽取的一部分个体叫做总体的一个样本

总体皮尔逊Pearson相关系数

如果两组数据java kendall 相关性 相关性 算法_协方差java kendall 相关性 相关性 算法_java kendall 相关性_02是总体数据

那么**总体均值**:java kendall 相关性 相关性 算法_java kendall 相关性_03java kendall 相关性 相关性 算法_数据_04

总体协方差java kendall 相关性 相关性 算法_数学建模_05

  • 理解:如果X、Y变化方向相同,即当X大于(小于)其均值时,Y也大于(小于)其均值,在这两种情况下,乘积为正。如果X、Y的变化方向一直保持相同,则协方差为正;同理,如果X、Y变化方向一直相反,则协方差为负;如果X、Y变化方向之间相互无规律,即分子中有的项为正,有的项为负,那么累加后正负抵消。
  • 注意:协方差的大小和两个变量的量纲有关,因此不适合做比较

X的标准差java kendall 相关性 相关性 算法_假设检验_06

Y的标准差java kendall 相关性 相关性 算法_协方差_07

总体皮尔逊相关系数java kendall 相关性 相关性 算法_数据_08

可以证明,java kendall 相关性 相关性 算法_协方差_09,且当java kendall 相关性 相关性 算法_协方差_10时,java kendall 相关性 相关性 算法_假设检验_11

  • 皮尔逊相关系数也可以看成是剔除了两个变量量纲影响,即将X和Y标准化后的协方差

样本皮尔逊Pearson相关系数

如果两组数据java kendall 相关性 相关性 算法_协方差java kendall 相关性 相关性 算法_java kendall 相关性_02是总体数据

样本均值:java kendall 相关性 相关性 算法_数据_14java kendall 相关性 相关性 算法_协方差_15

样本协方差:java kendall 相关性 相关性 算法_数学建模_16

X的样本标准差:java kendall 相关性 相关性 算法_数据_17

Y的样本标准差:java kendall 相关性 相关性 算法_协方差_18

样本皮尔逊相关系数:java kendall 相关性 相关性 算法_假设检验_19

皮尔逊相关系数的注意点

以下四个图的相关系数都为0.816

java kendall 相关性 相关性 算法_数学建模_20

  • 如图2,非线性相关也会导致线性相关系数很大
  • 如图3,离群点对相关系数的影响很大,去掉离群点后,相关系数为0.98
  • 如图4,如果两个变量的相关系数很大也不能说明两者相关,可能是受到 了异常值的影响

上图相关系数为0

  • 相关系数计算结果为0,只能说不是线性相关,但说不定会有更复杂的相关 关系(非线性相关)

因此:

1、如果两个变量本身就是线性的关系,那么皮尔逊相关系数绝对值大的就是相关性强,小的就是相关性弱;

2、在不确定两个变量是什么关系的情况下,即使算出皮尔逊相关系数,发现很大,也不能说明那两个变量线性相关,甚至不能说他们相关,我们一定要画出散点图来看才行

皮尔逊相关系数例题

java kendall 相关性 相关性 算法_协方差_21

描述性统计

一般拿到数据首先进行描述性统计

java kendall 相关性 相关性 算法_数学建模_22

可以用MATLAB,Excel,SPSS

矩阵散点图

在计算皮尔逊相关系数之前,一定要做出散点图来看两组变量之间是否有线性关系(用SPSS比较方便)

java kendall 相关性 相关性 算法_假设检验_23

皮尔逊相关系数计算

MATLAB里的corrcoef函数

美化相关系数表

java kendall 相关性 相关性 算法_java kendall 相关性_24

对皮尔逊相关系数进行假设检验

当相关系数等于0,可以说明两个变量之间不存在线性关系,而此时若java kendall 相关性 相关性 算法_数学建模_25,我们可以利用假设检验,来观察0.3与0是否有显著性差异,若得到0.3与0有显著差异,即说明两个变量的相关性是显著的,存在线性关系。

第一步:提出原假设java kendall 相关性 相关性 算法_数据_26和备择假设java kendall 相关性 相关性 算法_假设检验_27(两个假设截然相反,互为对立面)

假设我们计算得到一个皮尔逊相关系数java kendall 相关性 相关性 算法_数据_28,为了检验它是否与0有显著性差异,那么我们可以设定原假设java kendall 相关性 相关性 算法_数据_29,备择假设java kendall 相关性 相关性 算法_数据_30(双侧检验)

第二步:在原假设成立的条件下,利用我们要检验的量构造一个符合某一分布的统计量

注意:1、统计量相当于我们要检验的量的一个函数,里面不能有其他的随机变量;2、这里的分布一般有:标准正态分布、java kendall 相关性 相关性 算法_假设检验_31分布、java kendall 相关性 相关性 算法_协方差_32分布和java kendall 相关性 相关性 算法_数据_33分布

对于java kendall 相关性 相关性 算法_数据_28而言,在满足一定条件下,我们可以构造统计量:

java kendall 相关性 相关性 算法_java kendall 相关性_35

可以证明java kendall 相关性 相关性 算法_假设检验_31是服从自由度为java kendall 相关性 相关性 算法_java kendall 相关性_37java kendall 相关性 相关性 算法_假设检验_31分布(java kendall 相关性 相关性 算法_假设检验_39为样本量)

第三步:将我们要检验的这个值带入这个统计量中,可以得到一个特定的值(检验值)

java kendall 相关性 相关性 算法_数据_40,那么java kendall 相关性 相关性 算法_数学建模_41

第四步:我们可以画出该分布的概率密度函数java kendall 相关性 相关性 算法_假设检验_42,并给定一个置信水平,根据这个置信水平查表找到临界值,并画出检验统计量的接收域和拒绝域

由于上述统计量服从自由度为28的java kendall 相关性 相关性 算法_假设检验_31分布,则可以画出其概率密度函数图形为:

java kendall 相关性 相关性 算法_数学建模_44

常见的置信水平有三个:java kendall 相关性 相关性 算法_数据_45,其中java kendall 相关性 相关性 算法_假设检验_46是最常用的

t分布表:https://wenku.baidu.com/view/d94dbd116bd97f192279e94a.html

java kendall 相关性 相关性 算法_协方差_47因此查表java kendall 相关性 相关性 算法_java kendall 相关性_48,自由度java kendall 相关性 相关性 算法_假设检验_39为28所对应的值(也可以用MATLAB函数计算,根据分布不同,函数不同)

查表可知,对应的临界值为java kendall 相关性 相关性 算法_假设检验_50,由此画出接收域以及拒绝域(双侧)

第五步:看计算得到的检验值是落在了拒绝域还是接收域

由于得到java kendall 相关性 相关性 算法_假设检验_51,落在拒绝域,因此拒绝原假设java kendall 相关性 相关性 算法_数据_29,接受原假设,即java kendall 相关性 相关性 算法_数据_28与0有显著性差异,即两个变量有相关性

p值判断法

得到检验值java kendall 相关性 相关性 算法_假设检验_54,可以计算出对应的概率

java kendall 相关性 相关性 算法_协方差_55

java kendall 相关性 相关性 算法_数学建模_56为累积概率密度函数计算公式,由于是双侧检验,因此java kendall 相关性 相关性 算法_协方差_57值还要乘以2,最后得到java kendall 相关性 相关性 算法_协方差_57值为0.0049

java kendall 相关性 相关性 算法_数学建模_59

MATLAB中可以使用java kendall 相关性 相关性 算法_协方差_60来返回相关系数表R和每个相关系数表的java kendall 相关性 相关性 算法_协方差_57值P

皮尔逊相关系数假设检验的条件

  • 实验数据通常假设是成对的来自于正态分布的总体
  • 实验数据之间的差距不能太大
  • 每组样本之间是独立抽样的

检验数据是否属于正态分布

正态分布JB检验(大样本n>30)

偏度S和峰度K

java kendall 相关性 相关性 算法_数据_62

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

对于一个随机变量java kendall 相关性 相关性 算法_假设检验_63,假设其偏度为java kendall 相关性 相关性 算法_java kendall 相关性_64,峰度为java kendall 相关性 相关性 算法_协方差_65,那么我们可以构造java kendall 相关性 相关性 算法_协方差_66统计量

java kendall 相关性 相关性 算法_协方差_67

如果java kendall 相关性 相关性 算法_假设检验_63是正态分布,那么在大样本情况下java kendall 相关性 相关性 算法_协方差_69(自由度为2的卡方分布)

步骤:
1、java kendall 相关性 相关性 算法_假设检验_70:该随机变量服从正态分布,java kendall 相关性 相关性 算法_java kendall 相关性_71:该随机变量不服从正态分布

2、计算该变量的偏度和峰度,得到检验值java kendall 相关性 相关性 算法_假设检验_72,并计算其对应的java kendall 相关性 相关性 算法_协方差_57

3、将java kendall 相关性 相关性 算法_协方差_57值域0.05比较,如果小于0.05则可拒绝原假设,否则接受原假设

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

步骤同上,但MATLAB中未封装相关函数计算威尔克统计量,不过可以使用SPSS

Q-Q图

java kendall 相关性 相关性 算法_假设检验_75

注意:小样本最好也不用Q-Q图,数据要求量非常大

斯皮尔曼spearman相关系数

第一种定义

java kendall 相关性 相关性 算法_数学建模_76java kendall 相关性 相关性 算法_假设检验_77为两组数据,其斯皮尔曼(等级)相关系数定义为:

java kendall 相关性 相关性 算法_协方差_78,其中java kendall 相关性 相关性 算法_java kendall 相关性_79java kendall 相关性 相关性 算法_数据_80java kendall 相关性 相关性 算法_java kendall 相关性_81之间的等级差,并且java kendall 相关性 相关性 算法_数学建模_82位于java kendall 相关性 相关性 算法_协方差_83java kendall 相关性 相关性 算法_假设检验_84之间

java kendall 相关性 相关性 算法_java kendall 相关性_85

一个数的等级,就是将它所在的一列数按照从小到大排序后所在的位置

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

根据公式可以得到java kendall 相关性 相关性 算法_数学建模_76java kendall 相关性 相关性 算法_假设检验_77的斯皮尔曼相关系数为java kendall 相关性 相关性 算法_数据_88

第二种定义

定义斯皮尔曼相关系数为等级之间的皮尔逊相关系数(MATLAB是这么认为的)

因此MATLAB中求解可用皮尔逊相关系数的函数

java kendall 相关性 相关性 算法_数据_89

斯皮尔曼相关系数的假设检验

小样本情况

即n≤30,直接查临界值表即可

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

大样本情况

大样本情况下,统计量java kendall 相关性 相关性 算法_数据_90

java kendall 相关性 相关性 算法_协方差_91

计算检验值,并求出对应的java kendall 相关性 相关性 算法_协方差_57值与0.05相比较


java kendall 相关性 相关性 算法_协方差_93

检验值java kendall 相关性 相关性 算法_假设检验_94

java kendall 相关性 相关性 算法_数学建模_95

得到结果为0.4647>0.5,因此接受原假设

两个相关系数的比较

  • 连续数据,正态分布,线性关系,用pearson相关系数是最恰当,当然用 spearman相关系数也可以, 就是效率没有pearson相关系数高。
  • 上述任一条件不满足,就用spearman相关系数,不能用pearson相关系数。
  • 两个定序数据(如优、良、差等可以排序的数据)之间也用spearman相关系数,不能用pearson相关系数。

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