皮尔逊相关系数丨Pearson’s correlation coefficient

  • 皮尔逊相关系数丨Pearson’s correlation coefficient

    • 什么是相关系数
    • 相关系数与相关距离定义
    • 相关系数含义
    • 什么是皮尔逊相关
    • 皮尔逊公式推导
    • 皮尔逊相关系数的适用范围
    • 皮尔逊使用例子
    • Matlab 代码
    • 致谢链接

前言:计算EEG信号相关系数,由于一些论文公式看不懂,总结下相关知识!

什么是相关系数

相关系数( Correlation coefficient ) : 考察两个事物(在数据里我们称之为变量)之间的相关程度。

如果有两个变量:x,yx,yx,y,最终计算出的相关系数的含义可以有如下理解:

左图(1):当xxx的值增大(减小),y" role="presentation">yyy值增大(减小),两个变量为正相关,相关系数在0.00与1.00之间。

中图(2):当相关系数为0时,xxx和y" role="presentation">yyy两变量无关系

右图(3):当xxx的值增大(减小),y" role="presentation">yyy值减小(增大),两个变量为负相关,相关系数在-1.00与0.00之间。

相关系数与相关距离定义

相关系数数学公式:

ρxy=Cov(X,Y)D(X)−−−−−√D(Y)−−−−−√=E((X−EX)(Y−EY))D(X)−−−−−√D(Y)−−−−−√(1)(1)ρxy=Cov(X,Y)D(X)D(Y)=E((X−EX)(Y−EY))D(X)D(Y)

\rho_{xy}=\frac{Cov(X,Y)}{\sqrt{D(X)}{\sqrt{D(Y)}}}=\frac{E((X-EX)(Y-EY))}{\sqrt{D(X)}\sqrt{D(Y)}}\tag{1}
其中, EEE为数学期望或均值,D" role="presentation">DDD为方差, D−−√D\sqrt{D}为标准差, Cov(X,Y)Cov(X,Y)Cov(X,Y)为协方差,而两个变量之间的协方差和标准差的商则称为随机变量X与Y的相关系数 ρxyρxy\rho_{xy}。

相关距离数学公式:

Dxy=1−ρxyDxy=1−ρxy

D_{xy}=1-\rho_{xy}

相关系数含义

相关系数的取值范围[−1,1][−1,1][-1,1],相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。通常情况下通过以下取值范围判断变量的相关强度:

相关系数绝对值 相关强度
0.8~1.0 极强相关
0.6~0.8 强相关
0.4~0.6 中等程度相关
0.2~0.4 弱相关
0.0~0.2 极弱相关或无相关

什么是皮尔逊相关

皮尔森相关系数(Pearson correlation coefficient)也称皮尔森积矩相关系数(Pearson product-moment correlation coefficient) ,是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用rrr表示,其中n" role="presentation">nnn为样本量,分别为两个变量的观测值和均值。rrr描述的是两个变量间线性相关强弱的程度。r" role="presentation">rrr的绝对值越大表明相关性越强。

皮尔逊公式推导

两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商。

(1)式可以写为:

ρxy=Cov(X,Y)σXσY=E((X−μX)(Y−μY))σXσY(2)(2)ρxy=Cov(X,Y)σXσY=E((X−μX)(Y−μY))σXσY

\rho_{xy}=\frac{Cov(X,Y)}{\sigma_{X}\sigma_{Y}}=\frac{E((X-\mu{X})(Y-\mu{Y}))}{\sigma_{X}\sigma_{Y}}\tag{2}
​ 又因: E(x)=∑ni=1xiP(xi)E(x)=∑i=1nxiP(xi)E(x)=\sum_{i=1}^n{x_iP(x_i)}, σX=D(x)−−−−√=E((x−E(x))2)−−−−−−−−−−−−√=E(X2)−E2(X)−−−−−−−−−−−−−√σX=D(x)=E((x−E(x))2)=E(X2)−E2(X)\sigma_{X}= \sqrt{D(x)}=\sqrt{E((x-E(x))^2)}=\sqrt{E(X^2)-E^2(X)}, μX=EXμX=EX\mu_{X}=EX

推导1:定义了总体相关系数,常用希腊小写字母ρρ\rho作为符号代表。估算样本的协方差和标准差,可得到皮尔逊相关系数,常用英文小写字母rrr代表:

(3)r=∑i=1n(Xi−X¯)(Yi−Y¯)∑i=1n(Xi−X¯)2∑i=1n(Yi−Y¯)2" role="presentation">r=∑ni=1(Xi−X¯)(Yi−Y¯)∑ni=1(Xi−X¯)2−−−−−−−−−−−−−√∑ni=1(Yi−Y¯)2−−−−−−−−−−−−√(3)(3)r=∑i=1n(Xi−X¯)(Yi−Y¯)∑i=1n(Xi−X¯)2∑i=1n(Yi−Y¯)2

r=\frac{\sum_{i=1}^{n}({X_i-\bar{X}})({Y_i-\bar{Y}})}{\sqrt{\sum_{i=1}^{n}{(X_i-\bar{X})^2}}\sqrt{\sum_{i=1}^{n}{(Y_i-\bar{Y})^2}}}\tag{3}
推导2:rrr亦可由(Xi,Yi)" role="presentation">(Xi,Yi)(Xi,Yi)(X_i,Y_i)样本点的标准分数均值估计,样本方差S2=1n−1∑ni=1(Xi−X¯)2S2=1n−1∑i=1n(Xi−X¯)2S^2=\frac{1}{n-1}\sum_{i=1}^{n}{(X_i-\bar{X})^2},令样本标准差和总体标准差相同S=σS=σS=\sigma得到与上式等价的表达式:

r=1n−1∑i=1n(Xi−X¯σX)(Yi−Y¯σY)(4)(4)r=1n−1∑i=1n(Xi−X¯σX)(Yi−Y¯σY)

r=\frac{1}{n-1}\sum_{i=1}^{n}{(\frac{X_i-\bar{X}}{\sigma_{X}})(\frac{Y_i-\bar{Y}}{\sigma_{Y}})}\tag{4}
​ 其中 Xi−X¯σXXi−X¯σX\frac{X_i-\bar{X}}{\sigma_{X}}、 X¯X¯\bar{X}、 σXσX\sigma_{X}分别是对 XiXiX_i样本的标准分数、样本平均值和样本标准差。

推导3::由E((X−EX)(Y−EY))=E(XY)−E(X)E(Y)E((X−EX)(Y−EY))=E(XY)−E(X)E(Y)E((X-EX)(Y-EY))=E(XY)-E(X)E(Y),故相关系数也可以表示成:

ρxy=E(XY)−E(X)E(Y)E(X2)−(E(X))2−−−−−−−−−−−−−−√E(Y2)−(E(Y))2−−−−−−−−−−−−−−√(5)(5)ρxy=E(XY)−E(X)E(Y)E(X2)−(E(X))2E(Y2)−(E(Y))2

\rho_{xy}=\frac{E(XY)-E(X)E(Y)}{\sqrt{E(X^2)-(E(X))^2}\sqrt{E(Y^2)-(E(Y))^2}}\tag{5}
​ 对于样本皮尔逊相关系数:

rxy=∑xiyi−nx¯y¯(n−1)SxSy=n(∑xiyi)−(∑xi)(∑yi)[n∑x2i−(∑xi)2][n∑y2i−(∑yi)2]−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√(6)(6)rxy=∑xiyi−nx¯y¯(n−1)SxSy=n(∑xiyi)−(∑xi)(∑yi)[n∑xi2−(∑xi)2][n∑yi2−(∑yi)2]

r_{xy}=\frac{\sum{x_iy_i}-n\bar{x}\bar{y}}{(n-1)S_xS_y}=\frac{n(\sum{x_iy_i})-(\sum{x_i})(\sum{y_i})}{\sqrt{[n\sum{x_i^2}-(\sum{x_i})^2][n\sum{y_i^2}-(\sum{y_i})^2]}}\tag{6}
​ 此公式也是统计学常用计算相关性公式之一。

推导4:有关信号处理的皮尔逊相关性会出现这样一个式子,Pearson的相关系数测量了时域的线性相关。在两个信号之间x(t)x(t)x(t)和y(t)y(t)y(t)在零延迟。对于零均值,单位方差信号定义为::

rxy=1n∑i=1nx(i)y(i)(7)(7)rxy=1n∑i=1nx(i)y(i)

r_{xy}=\frac{1}{n}\sum_{i=1}^{n}x(i)y(i) \tag{7}
​ 按照高中数学水平来理解, 它很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数,Z分数一般代表正态分布中, 数据偏离中心点的距离.等于变量减掉平均数再除以标准差.(就是高考的标准分类似的处理) ;

​ 其中总体Z分数:Z=X−μσZ=X−μσZ=\frac{X-\mu}{\sigma},样本Z分数:Z=X−X¯SZ=X−X¯SZ=\frac{X-\bar{X}}{S}

此处摘自:皮尔逊相关系数

​ 我没太搞懂这一块,大家有没有什么高见?

rxy=1n∑ZxZy=1n∑(X−X¯Sx)(Y−Y¯Sy)=1n∑(X−X¯)(Y−Y¯)SxSy=∑(X−X¯)(Y−Y¯)n(1n∑ni=1(Xi−X¯)2−−−−−−−−−−−−−−√)(1n∑ni=1(Yi−Y¯)2)−−−−−−−−−−−−−−√=∑(X−X¯)(Y−Y¯)(∑ni=1(Xi−X¯)2−−−−−−−−−−−−−√)(∑ni=1(Yi−Y¯)2)−−−−−−−−−−−−−√(10)(11)(12)(13)(14)(10)rxy=1n∑ZxZy(11)=1n∑(X−X¯Sx)(Y−Y¯Sy)(12)=1n∑(X−X¯)(Y−Y¯)SxSy(13)=∑(X−X¯)(Y−Y¯)n(1n∑i=1n(Xi−X¯)2)(1n∑i=1n(Yi−Y¯)2)(14)=∑(X−X¯)(Y−Y¯)(∑i=1n(Xi−X¯)2)(∑i=1n(Yi−Y¯)2)

\begin{align} r_{xy}&=\frac{1}{n}\sum{Z_xZ_y}\\ &=\frac{1}{n}\sum(\frac{X-\bar{X}}{S_x})(\frac{Y-\bar{Y}}{S_y})\\ &=\frac{1}{n}\sum\frac{(X-\bar{X})(Y-\bar{Y})}{S_xS_y}\\ &=\frac{\sum(X-\bar{X})(Y-\bar{Y})}{n(\sqrt{\frac{1}{n}\sum_{i=1}^{n}{(X_i-\bar{X})^2}})(\sqrt{\frac{1}{n}\sum_{i=1}^{n}{(Y_i-\bar{Y})^2})}}\\ &=\frac{\sum(X-\bar{X})(Y-\bar{Y})}{(\sqrt{\sum_{i=1}^{n}{(X_i-\bar{X})^2}})(\sqrt{\sum_{i=1}^{n}{(Y_i-\bar{Y})^2})}}\\ \end{align}

总结:上述推导的四个皮尔逊公式是等价的,读者可自行选择使用!

皮尔逊相关系数的适用范围

当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:

  1. 两个变量之间是线性关系,都是连续数据。
  2. 两个变量的总体是正态分布,或接近正态的单峰分布。
  3. 两个变量的观测值是成对的,每对观测值之间相互独立。

皮尔逊使用例子

如何找到皮尔逊相关系数,样本如下:

数量 年龄(x) 葡萄糖含量(y)
1 43 99
2 21 65
3 25 79
4 42 75
5 57 87
6 59 81

步骤1:使一个图表。使用给定的数据,并添加三个多列:xyxyxy,x2x2x^2,y2y2y^2并求出。

数量 年龄(x) 葡萄糖含量(y) xyxyxy x2x2x^2 y2y2y^2
1 43 99 4257 1849 9801
2 21 65 1365 441 4225
3 25 79 1975 625 6241
4 42 75 3150 1764 5625
5 57 87 4959 3249 7569
6 59 81 4779 3481 6561

步骤2:计算出∑∑\sum总和。

数量 年龄(x) 葡萄糖含量(y) xyxyxy x2x2x^2 y2y2y^2
1 43 99 4257 1849 9801
2 21 65 1365 441 4225
3 25 79 1975 625 6241
4 42 75 3150 1764 5625
5 57 87 4959 3249 7569
6 59 81 4779 3481 6561
∑∑\sum 247 486 20485 11409 40022

步骤3:使用下面公式计算结果:

rxy=n(∑xiyi)−(∑xi)(∑yi)[n∑x2i−(∑xi)2][n∑y2i−(∑yi)2]−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√=6(20485)−(247∗486)[6(11429)−(247)2][6(40022)−(486)2]−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√=28685413.27=0.529809(39)(40)(41)(42)(39)rxy=n(∑xiyi)−(∑xi)(∑yi)[n∑xi2−(∑xi)2][n∑yi2−(∑yi)2](40)=6(20485)−(247∗486)[6(11429)−(247)2][6(40022)−(486)2](41)=28685413.27(42)=0.529809

\begin{align} r_{xy}&=\frac{n(\sum{x_iy_i})-(\sum{x_i})(\sum{y_i})}{\sqrt{[n\sum{x_i^2}-(\sum{x_i})^2][n\sum{y_i^2}-(\sum{y_i})^2]}}\\ &=\frac{6(20485)-(247*486)}{\sqrt{[6(11429)-(247)^2] [6(40022)-(486)^2]}}\\ &=\frac{2868}{5413.27}\\ &=0.529809\\ \end{align}

结果:相关系数的范围是从-1到1。我们的结果是0.5298或52.98%,这意味着变量具有适度的正相关性。

Matlab 代码

使用上述数据进行测试,代码如下:

x=[43,21,25,42,57,59];
y=[99,65,79,75,87,81];
c=corr(x',y','type','pearson');

运行结果:cc<script type="math/tex" id="MathJax-Element-185">c</script>=0.529808901890174
与上述结果相同!

致谢链接

维基百科
统计学
百度百科
皮尔逊相关系数
Z分数

皮尔逊相关系数丨Pearson’s correlation coefficient相关推荐

  1. Python--如何计算皮尔逊相关系数(Pearson correlation coefficient)

    皮尔逊系数 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation ...

  2. 皮尔逊相关系数(Pearson Correlation Coefficient, Pearson's r)

    Pearson's r,称为皮尔逊相关系数(Pearson correlation coefficient),用来反映两个随机变量之间的线性相关程度. 用于总体(population)时记作ρ (rh ...

  3. Pearson(皮尔逊)相关系数[ Pearson product-moment correlation coefficient; PPMCC或PCCs]

    欧几里德距离 欧几里得度量定义欧几里得空间中点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为 但是当评价结果中,评价者的评价相对于平均水平偏离很大的时候欧几里德距离 ...

  4. 如何理解皮尔逊相关系数(Pearson Correlation Coefficient)?

    https://www.zhihu.com/question/19734616?sort=created

  5. Pearson相关系数 - Pearson's Correlation Coefficient

    Pearson相关系数用来衡量两个数据集合是否在一条线上面.其计算公式为: 一个具体的计算的例子: X Y1 22 53 6 原文地址:http://woodstudio.javaeye.com/bl ...

  6. Pearson product-moment correlation coefficient

    http://fxcodebase.com/code/viewtopic.php?f=38&t=59584 Original LUA indicator: viewtopic.php?f=17 ...

  7. 皮尔逊相关系数实现相似K线及其性能优化

    皮尔逊相关系数实现相似K线及其性能优化 概念介绍 相似K线是验证"历史总会重演"的一个经典产品,目前许多炒股软件都开始陆陆续续提供相似K线功能.如下图是某产品的相似K线效果图: 投 ...

  8. 记录皮尔逊相关系数-相似性比较算法

    皮尔森相关系数(Pearson correlation coefficient)也叫皮尔森积差相关系数(Pearson product-moment correlation coefficient), ...

  9. 皮尔逊相关系数 Pearson correlation coefficient

    在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coeff ...

最新文章

  1. php4和php5的区别,php4和php5区别是什么
  2. 跳一跳j算法ava代码_DBSCAN聚类算法的理解与应用
  3. hive脚本执行方式
  4. centos7 切换中文输入法 无需安装
  5. Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!
  6. 前端发送http的get请求 - 代码篇
  7. Xcode 4 with External Static Library for iPhone Development
  8. DecimalFormat的用法
  9. getent passwd 不能访问到 ldap 的用户
  10. CC2530之定时器T3
  11. 我是这么自学Java的
  12. 企业生产现场中5S管理的应用
  13. python可以做回归分析吗_使用python进行回归分析
  14. 人人商城二次开发 各个装修模块diypage的自定义样式
  15. 【附源码】计算机毕业设计java医院人事及科室病区管理设计与实现
  16. 分享一个大佬的网站,获取法定节假日
  17. 我不想在做桌面运维了、我想做linux运维、我也要运维高薪
  18. java三元运算符用的多不多_Java多个三元运算符
  19. C语音实现简单的密码登录(简单逻辑)
  20. 01-leveldb概述

热门文章

  1. 优秀的项目管理与糟糕的项目管理
  2. html radio
  3. 中山大学计算机学院运动会,中山大学2018年运动会中山医代表队再创佳绩
  4. 实习的那些岁月杂谈(一)
  5. Logback 日志过滤器的使用-日志分类归档方案
  6. web前端 如何使div中的img图片居中 HTML和CSS的操作
  7. webSocket搭建简易聊天室(后端实现)
  8. TypeScript中的typeof
  9. 已收藏!厦门铃盛面试java
  10. 在本地测试无组件上传类上传大文件可以,在服务器上就不行,仿163网盘无刷新文件上传系统...