前言
为了说明两组数据之间的相关性,例如身高与50米跑步的成绩,我们引入相关系数,本文先介绍person相关系数以及在特定情况下的使用方法。
一、pearson相关系数(Covariance)
Person相关系数在 满足特定条件下 用来衡量两个变量之间的相关性。
1. 协方差
在正式介绍person相关系数之前,我们先引入协方差的概念
协方差是一个反映两个随机变量相关程度的指标,比如,一个人的身高和体重是否存在一些联系。公式如下:
其中 n为样本数量,
x
‾
\overline{x}
x 为样本均值。
如果x、y变化方向相同,即当 x > x ‾ x>\overline{x} x>x其均值是, y > y ‾ y>\overline{y} y>y其均值,在这种情况下,乘积为正。如果x、y的变化方向一直保持相同,则协方差为正;同理,如果x、y的变化方向一直保持相反,则协方差为负;如果x、y的变化方向之间相互无规律,即分子中有的项为正、有的项为负,那么累加后正负抵消。
协方差越大,那么二者之间变化的趋势就越接近。
2.皮尔逊相关系数(Pearson Correlation Coefficient)
Pearson相关系数是用协方差除以两个变量的标准差得到的,公式如下:
除以标准差的目的是消除量纲的影响,Pearson相关系数取[-1,1之间。皮尔逊相关系数其实就是标准化后的协方差
3. 相关系数的评价
相关性 | 负 | 正 |
---|---|---|
无相关 | -0.09~0 | 0~0.09 |
弱相关 | -0.3~-0.1 | 0.1~0.3 |
中相关 | -0.5~-0.3 | 0.3~0.5 |
强相关 | -1~-0.5 | 0.5~1.0 |
事实上,比起相关系数的大小,我们往往更关注的是显著性(假设检验)。
二、使用条件
必须得确定两个变量之间是线性相关的,否则非线性相关也会导致pearson相关系数很大。存在异常点的影响也可能导致两个变量之间的相关系数变大。我们常用散点图的方法确定两个变量之间的是否线性相关,然后再描述线性相关程度。
因此在进行相关性的分析时一定要配合散点图,否则是无效的。
三、使用步骤
1.对数据进行描述性分析
推荐spsspro工具,简单高效。
或者python的pandas库,使用 Dataframe.describe()函数
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.describe())
答题之前先对数据进行描述性分析是个好习惯,不管以上分析有用没用,都是一种学术严谨的表现。
2. 绘制散点图
前面提到 绘制散点图是检查数据是否可用pearson相关性分析的必要条件,这里我们用python matpolit,对以上六个特征列取两两绘制散点图。
plt.figure(figsize=(60,50))
num = 1
for i in range(6):
for j in range(6):
plt.subplot(6,6,num)
plt.scatter(df.iloc[:,i],df.iloc[:,j],s=2)
plt.title(df.iloc[:,i].name+"--"+df.iloc[:,j].name)
num = num+1
# plt.tight_layout()
plt.show()
绘制结果如下:
由于我这里数据是假的,因此散点图的显示基本上没有相关性可言,不要在意这些细节,方法就是这么个方法,让我们继续。
3. pearson检验
推荐spasspro工具,简单高效还免费
相关性分析结果
显著性水平 ()中为假设检验的P值,我们假设
H
0
:
r
=
0
,
H_0:r=0,
H0:r=0,即该两列数据相关性为0
而
H
1
:
r
≠
0
H_1:r\neq0
H1:r=0即该两列数据相关性不为0。
当 P<0.01时,说明
H
0
H_0
H0显著不成立,即该两列相关程度很高,0.01<P<0.05时,该两列中度相关。
下文详细介绍假设检验
相关性分析热力图
四、假设检验
前面提到直接通过相关系数进行假设检验是非常武断的,这里引入假设性检验对相关性系数的显著性进行分析。
假设性检验这里只讲如何应用,首先得满足一个条件:该数据必须符合正态分布。
正态分布检验
spsspro检验结果
PS:通常现实研究情况下很难满足检验,若其样本峰度绝对值小于10并且偏度绝对值小于3,结合正态分布直方图、PP图或者QQ图可以描述为基本符合正态分布。
直方图
Q-Q图
Q-Q图,全称“Quantile Quantile Plot”。用图形的方式比较观测值与预测值(假定正态下的分布)不同分位数的概率分布,从而检验是否吻合正态分布规律。并且将实际数据作为X轴,将假定正态时的数据分位数作为Y轴,作散点图,散点与直线重合度越高越服从正态分布,散点差异愈大越不服从正态分布,请视实际情况而定。
假设检验
- 提出原假设 H 0 H_0 H0 和备择假设 H 1 H_1 H1,假设我们计算出来一个pearson相关系数r,我们项检验它是否显著的异于0,那么我们可以这样设定原假设和备择假设: H 0 : r = 0 H_0:r = 0 H0:r=0 , H 1 : r ≠ 0 H_1:r \neq0 H1:r=0
- 在原假设成立的条件下,利用我们要检验的量构造出一个符合某一分布的统计量。这里pearson有特定的t分布:
t = r n − 2 1 − r 2 t=r\sqrt{\frac{n-2}{1-r^2}} t=r1−r2n−2
可以证明t是服从自由度为n-2的 t-distribution - 将我们要检验的这个值带入这个统计量中,可以得到一个特定的值(检验值)。
假设我们现在计算出来的相关系数为0.5,样本为30,那么我们可以得到 t ∗ = 0.5 30 − 2 1 − 0. 5 2 = 3.05505 t^*=0.5\sqrt{\frac{30-2}{1-0.5^2}}=3.05505 t∗=0.51−0.5230−2=3.05505 - 由于我们知道统计量的分布情况,因此我们可以画出该分布的概率密度函数pdf,并给定一个置信水平,根据这个置信水平找到临界值,并画出检验统计量的接受域和拒绝域。常见的置信水平有三个:90%,95%,99%,其中95%是三者中最为常用。
- 看我们计算出来的检验值是落在了拒绝域还是接受域,并下结论。
总结
pearson相关系数其实就是两组数据的协方差的去量纲,只有在两组数据有线性相关性时才适用。对pearson相关系数的分析要用到假设检验,进行假设检验需要满足数据符合正态分布。
补充 spearman相关系数
假如数据实在不能看,没有任何线性关系、正态分布关系,那就放弃pearson相关系数吧,白搭。
当然,天无绝人之路,备用方案:spearman相关系数
先看公式:
r s = 1 − 6 ∑ i = 1 n d i 2 n ( n 2 − 1 ) r_s=1-\frac{6\sum_{i=1}^n{d_i^2}}{n(n^2-1)} rs=1−n(n2−1)6∑i=1ndi2
这里 n就是样本数,
d
i
d_i
di是X Y 的等级差
等级:将一组数从小到大排列后,每个数所在的位置就是等级。
也就是说这个spearman相关性跟数据值无关,跟它在的位置有关,虽然听起来不太靠谱,但总归是能在非线性数据上看相关性了。文章来源:https://www.toymoban.com/news/detail-704116.html
spsspro
这里依旧是通过假设检验评价相关程度,()中为假设检验的P值,*表示相关程度。文章来源地址https://www.toymoban.com/news/detail-704116.html
到了这里,关于【数学建模】皮尔逊相关系数和假设检验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!