皮尔逊相关系数丨Pearson’s correlation coefficient
皮尔逊相关系数丨Pearson’s correlation coefficient什么是相关系数相关系数与相关距离定义相关系数含义什么是皮尔逊相关皮尔逊公式推导皮尔逊相关系数的适用范围皮尔逊使用例子Matlab 代码致谢链接前言:计算EEG信号相关系数,由于一些论文公式看不懂,总结下相关知识!
什么是相关系数
相关系数( Correlation coefficient ) : 考察两个事物(在数据里我们称之为变量)之间的相关程度。
如果有两个变量:x,yx,y,最终计算出的相关系数的含义可以有如下理解:
左图(1):当xx的值增大(减小),
中图(2):当相关系数为0时,xx和
右图(3):当xx的值增大(减小),
相关系数与相关距离定义
相关系数数学公式:
ρ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)
其中,EE为数学期望或均值,
相关距离数学公式:
Dxy=1−ρxyDxy=1−ρxy
相关系数含义
相关系数的取值范围[−1,1][−1,1],相关系数的绝对值越大,相关性越强,相关系数越接近于1或-1,相关度越强,相关系数越接近于0,相关度越弱。通常情况下通过以下取值范围判断变量的相关强度:
什么是皮尔逊相关
皮尔森相关系数(Pearson correlation coefficient)也称皮尔森积矩相关系数(Pearson product-moment correlation coefficient) ,是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用rr表示,其中
皮尔逊公式推导
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商。
(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
又因:E(x)=∑ni=1xiP(xi)E(x)=∑i=1nxiP(xi),σX=D(x)−−−−√=E((x−E(x))2)−−−−−−−−−−−−√=E(X2)−E2(X)−−−−−−−−−−−−−√σX=D(x)=E((x−E(x))2)=E(X2)−E2(X),μX=EXμX=EX
推导1:定义了总体相关系数,常用希腊小写字母ρρ作为符号代表。估算样本的协方差和标准差,可得到皮尔逊相关系数,常用英文小写字母rr代表:
推导2:rr亦可由
r=1n−1∑i=1n(Xi−X¯σX)(Yi−Y¯σY)(4)(4)r=1n−1∑i=1n(Xi−X¯σX)(Yi−Y¯σY)
其中Xi−X¯σXXi−X¯σX、X¯X¯、σXσX分别是对XiXi样本的标准分数、样本平均值和样本标准差。
推导3::由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
对于样本皮尔逊相关系数:
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]
此公式也是统计学常用计算相关性公式之一。
推导4:有关信号处理的皮尔逊相关性会出现这样一个式子,Pearson的相关系数测量了时域的线性相关。在两个信号之间x(t)x(t)和y(t)y(t)在零延迟。对于零均值,单位方差信号定义为::
rxy=1n∑i=1nx(i)y(i)(7)(7)rxy=1n∑i=1nx(i)y(i)
按照高中数学水平来理解, 它很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数,Z分数一般代表正态分布中, 数据偏离中心点的距离.等于变量减掉平均数再除以标准差.(就是高考的标准分类似的处理) ;
其中总体Z分数:Z=X−μσZ=X−μσ,样本Z分数:Z=X−X¯SZ=X−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)
总结:上述推导的四个皮尔逊公式是等价的,读者可自行选择使用!
皮尔逊相关系数的适用范围
当两个变量的标准差都不为零时,相关系数才有定义,皮尔逊相关系数适用于:
两个变量之间是线性关系,都是连续数据。 两个变量的总体是正态分布,或接近正态的单峰分布。两个变量的观测值是成对的,每对观测值之间相互独立。
皮尔逊使用例子
如何找到皮尔逊相关系数,样本如下:
步骤1:使一个图表。使用给定的数据,并添加三个多列:xyxy,x2x2,y2y2并求出。
步骤2:计算出∑∑总和。
步骤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
结果:相关系数的范围是从-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分数