相关系数-皮尔逊pearson相关系数

衡量两个变量之间相关性的大小

原理

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码


协方差可以反应两个变量之间的关系,但是协方差大小与量纲有关,皮尔逊相关系数则是将X和Y标准化后的协方差,即去除了两个变量量纲的影响。

分总体皮尔逊相关系数和样本皮尔逊相关系数

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_02


皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_03

注意:对于皮尔逊相关系数可以反应两变量之间的相关程度,并非适用于所有关系
1.相关系数只是用来衡量两个变量线性
相关程度的指标
即,需首先画出散点图观察确认两个变量线性相关,后续才可以使用相关系数来衡量二者的相关程度,其中皮尔逊相关系数绝对值越大相关性越强

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_04


皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_05

例题

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_06


第一步,根据数据做出散点图,观察两组变量之间是否有线性关系

Spss:图形-旧对话框-散点图/点图-矩阵散点图

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_07


第二步,皮尔逊相关系数的计算

corrcoef函数

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_08


对皮尔逊相关系数进行假设检验(概率论与数理统计知识)

检验判断所得相关系数值是否显著

第一步,提出原假设H0和备择假设H1

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_09


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

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_10


第三步,将所要检验的值带入统计量中,得到一个“检验值”

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_11


第四步,做出所构造统计量所满足分布的概率密度函数pdf,并给定一个置信水平,根据置信水平查找临界值,并画出检验统计量的接受域和拒绝域

常见置信水平:90%、95%(最常用)、99%

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_12


第五步,比较判断计算所得“检验值”是落在拒绝域还是接受域

拒绝原假设——显著异于0

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_13


改进的更好方法:p值判断法

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_14


皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_15


皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_16


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

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_17


呢么,如何检验数据是否是正态分布?

1.正态分布IB检验(大样本 n>30)

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_18


关于偏度和峰度

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_19


matlab操作:

1.求一个向量的偏度和峰度

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_20


2.JB检验

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_21


输出h,p

p与0.05比较,小于0.05即拒绝原假设,即不符合正态分布;否则不拒绝,是正态分布

或者直接看h

h为1,拒绝原假设,h为0代表不能拒绝原假设

2.Shapiro-wilk夏皮洛-威尔克检验(小样本3<=n<=50)

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_皮尔逊 相关性分析 R语言代码_22


spss操作:

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_23


3.另一种方法: Q-Q图(要求数据量非常大)

利用该图鉴别样本数据是否近似于正态分布,只需看 Q-Q图上的点是否近似在一条直线附近

qqplot(x)

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_24

相关系数-斯皮尔曼spearman相关系数

定义1:

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_25


关于等级差:

一个数的等级,即将其所在列数据从小到大排序后,该数所在位置

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

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_26


皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_27


定义2:

斯皮尔曼相关系数被定义为:等级之间的皮尔逊相关系数

matlab使用该方法定义求解:

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_28

matlab中直接计算斯皮尔曼相关系数的函数:(验证知:默认corr函数采用的计算方法是第二种定义计算)

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_协方差_29


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

1.小样本情况 n<=30

直接查临界值表即可,只有当所计算的相关系数r>=表中临界值,在拒绝域内,显著的异于0

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_30


2.大样本情况下

构造统计量,计算检验值,再求出对应p值与0.05相比即可

p值大于0.05,在接受域内,无法拒绝原假设

p值小于0.05,在拒绝域内,拒绝原假设,显著异于0

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_正态分布_31


matlab中直接求解:

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_32


两个相关系数的比较

皮尔逊 相关性分析 R语言代码 皮尔逊相关性分析步骤_临界值_33