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


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

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


相关系数

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

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

简单相关系数

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

python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_ci

其中,python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_python_02python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_03python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_python_04的协方差,python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_ci_05python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_03的方差,python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_07python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_python_04的方差

numpy.corrcoef

python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_09

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.        ]])

复相关系数

定义: 复相关系数反映一个随机变量一组随机变量(两个或两个以上)之间相关程度的指标,是包含所有变量在内的综合测定指标

python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_python_10

为了测定一个变量python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11与其他多个变量python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_12之间的相关系数,可以考虑构造一个关于python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_12的线性组合python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_14来拟合python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11,通过计算该线性组合python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_14python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11之间的简单相关系数作为变量python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_12之间的复相关系数。具体的计算过程如下:

第一步,用python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_12做回归分析,得:

python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_22

第二步,计算python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_14之间的简单相关系数,此简单相关系数即为python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_方差_11python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_12之间的复相关系数。复相关系数的计算公式为:

python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_ci_27

:之所以用python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_python_28表示复相关系数,是因为python 算皮尔森相关系数 并绘制热力图 计算皮尔森相关系数_协方差_29恰好是线性回归方程的决定系数(用于检验回归方程对观测的拟合程度)

典型相关系数

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

参考资料

相关系数

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