最近在看脑机接口的网络,看到有使用通道的皮尔森相关系数作为特征的方法,这里记录一下皮尔森相关系数的学习内容,方便以后查阅。
相关系数
是最早由统计学家卡尔·皮尔逊设计的统计指标,是研究变量之间线性相关程度的量,一般用字母 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
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. ]])
定义: 复相关系数反映一个随机变量
与一组随机变量
(两个或两个以上)之间相关程度的指标,是包含所有变量在内的综合测定指标
为了测定一个变量 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=∑(y−yˉ)2⋅∑(y^−yˉ)2∑(y−yˉ)(y^−yˉ)
注:之所以用 R R R表示复相关系数,是因为 R 2 R^2 R2恰好是线性回归方程的决定系数(用于检验回归方程对观测的拟合程度)
是先对原来各组变量进行主成分分析,得到新的线性关系的综合指标,再通过综合指标之间的线性相关系数来研究原各组变量间相关关系。
相关系数
【中国地质大学北京】数学在地学中的应用