皮尔森相关系数(Pearson correlation coefficient)

最近在看脑机接口的网络,看到有使用通道的皮尔森相关系数作为特征的方法,这里记录一下皮尔森相关系数的学习内容,方便以后查阅。

皮尔森相关系数(Pearson correlation coefficient)

  • 相关系数
  • 简单相关系数
  • 复相关系数
  • 典型相关系数
  • 参考资料

相关系数

相关系数是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量,一般用字母 r表示。由于研究对象的不同,相关系数有多种定义方式,较为常用的是皮尔逊相关系数

有关相关系数的内容在这篇文中也有介绍:【协方差】【相关系数】【协方差矩阵】【散度矩阵】

相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的量。由于研究对象的不同,相关系数有如下几种定义方式。

简单相关系数

也就是皮尔森相关系数,又叫相关系数或线性相关系数,一般用字母r表示,用来度量两个变量间的线性关系。

r ( X , Y ) = C o v ( X , Y ) V a r [ X ] V a r [ Y ] r(X, Y) = \frac{Cov(X, Y)}{\sqrt{Var[X]Var[Y]}} r(X,Y)=Var[X]Var[Y] Cov(X,Y)

其中, C o v ( X , Y ) Cov(X,Y) Cov(X,Y) X X X Y Y Y的协方差, V a r [ X ] Var[X] Var[X] X X X的方差, V a r [ Y ] Var[Y] Var[Y] Y Y Y的方差

numpy.corrcoef

皮尔森相关系数(Pearson correlation coefficient)_第1张图片

import numpy as np
rng = np.random.default_rng(seed=42)
xarr = rng.random((3, 3))
xarr
array([[0.77395605, 0.43887844, 0.85859792],
       [0.69736803, 0.09417735, 0.97562235],
       [0.7611397 , 0.78606431, 0.12811363]])
R1 = np.corrcoef(xarr)
R1
array([[ 1.        ,  0.99256089, -0.68080986],
       [ 0.99256089,  1.        , -0.76492172],
       [-0.68080986, -0.76492172,  1.        ]])
yarr = rng.random((3, 3))
yarr
array([[0.45038594, 0.37079802, 0.92676499],
       [0.64386512, 0.82276161, 0.4434142 ],
       [0.22723872, 0.55458479, 0.06381726]])
R2 = np.corrcoef(xarr, yarr)
R2
array([[ 1.        ,  0.99256089, -0.68080986,  0.75008178, -0.934284  ,  -0.99004057],
       [ 0.99256089,  1.        , -0.76492172,  0.82502011, -0.97074098,  -0.99981569],
       [-0.68080986, -0.76492172,  1.        , -0.99507202,  0.89721355,  0.77714685],
       [ 0.75008178,  0.82502011, -0.99507202,  1.        , -0.93657855,  -0.83571711],
       [-0.934284  , -0.97074098,  0.89721355, -0.93657855,  1.        ,  0.97517215],
       [-0.99004057, -0.99981569,  0.77714685, -0.83571711,  0.97517215,  1.        ]])

复相关系数

定义: 复相关系数反映一个随机变量一组随机变量(两个或两个以上)之间相关程度的指标,是包含所有变量在内的综合测定指标
皮尔森相关系数(Pearson correlation coefficient)_第2张图片

为了测定一个变量 y y y与其他多个变量 X 1 , X 2 , … , X k X_1, X_2, …, X_k X1,X2,Xk之间的相关系数,可以考虑构造一个关于 X 1 , X 2 , … , X k X_1, X_2, …, X_k X1,X2,Xk的线性组合 y ^ \hat{y} y^来拟合 y y y,通过计算该线性组合 y ^ \hat{y} y^ y y y之间的简单相关系数作为变量 y y y X 1 , X 2 , … , X k X_1, X_2, …, X_k X1,X2,Xk之间的复相关系数。具体的计算过程如下:

第一步,用 y y y X 1 , X 2 , … , X k X_1, X_2, …, X_k X1,X2,Xk做回归分析,得:

y ^ = β 0 ^ + β 1 ^ X 1 + β 2 ^ X 2 + … + β k ^ X k \hat{y} = \hat{\beta_0}+\hat{\beta_1}X_1+\hat{\beta_2}X_2+…+\hat{\beta_k}X_k y^=β0^+β1^X1+β2^X2++βk^Xk

第二步,计算 y y y y ^ \hat{y} y^之间的简单相关系数,此简单相关系数即为 y y y X 1 , X 2 , … , X k X_1, X_2, …, X_k X1,X2,Xk之间的复相关系数。复相关系数的计算公式为:

R = ∑ ( y − y ˉ ) ( y ^ − y ˉ ) ∑ ( y − y ˉ ) 2 ⋅ ∑ ( y ^ − y ˉ ) 2 R = \frac{\sum(y-\bar{y})(\hat{y}-\bar{y})}{\sqrt{\sum(y-\bar{y})^2·\sum(\hat{y}-\bar{y})^2}} R=(yyˉ)2(y^yˉ)2 (yyˉ)(y^yˉ)

:之所以用 R R R表示复相关系数,是因为 R 2 R^2 R2恰好是线性回归方程的决定系数(用于检验回归方程对观测的拟合程度)

典型相关系数

是先对原来各组变量进行主成分分析,得到新的线性关系的综合指标,再通过综合指标之间的线性相关系数来研究原各组变量间相关关系。

参考资料

相关系数

【中国地质大学北京】数学在地学中的应用

你可能感兴趣的:(信号处理,numpy,python)