统计学知识:相关系数

Posted 尤尔小屋的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计学知识:相关系数相关的知识,希望对你有一定的参考价值。

公众号:尤而小屋
作者:Peter
编辑:Peter

大家好,我是Peter~

这两周在看一本书《特征工程入门与实践》,对自己很有启发。

特征工程是数据工作者建模过程中极其重要的一步,如何从众多的特征中找到或者选择与目标具有高强相关的特征显得尤为重要。

本书中有提到相关系数,自己看了很多的资料,整理出这篇文章,希望对大家有所帮助。

何为相关系数

相关系数,也叫做关联系数(英语为:correlation coefficient),它是由统计学家卡尔.皮尔逊设计的一个统计指标,我们最常用的也是Person皮尔逊相关系数。相关系数描述的是两个变量之间的关系及相关方向。但是相关系数无法确切地表明两个变量之间相关的程度。

相关系数的取值在-1到1之间:

  • -1表示两个变量呈现负相关
  • 0表示两个变量没有相关性
  • 1表示两个变量呈现正相关

最后,相关系数是统计学中的一个概念,统计学你应该怎么入门?Peter建议你参考下面的这张图:

3种常见相关系数

** Pearson 相关系数、Spearman 相关系数、Kendall 相关系数并称统计学三大相关系数。

在分析特征相关性的时候,最常用的方法是pandas.DataFrame.corr:

DataFrame.corr(self, method=’pearson’, min_periods=1)

其中包含的方法主要为:

  • pearson:Pearson相关系数
  • Spearman:Spearman等级相关系数
  • kendall:Kendall秩相关系数

Person相关系数

Person相关系数也叫简单相关系数或者线性相关系数,用来检测两个连续型变量之间的线性相关程度。

总体的Person相关系数用 ρ \\rho ρ表示,计算公式为

ρ x , y = cov ⁡ ( x , y ) σ x σ y = E [ ( x − μ x , y − μ y ) ] σ x σ y \\rho_{x, y}=\\frac{\\operatorname{cov}(\\boldsymbol{x}, \\boldsymbol{y})}{\\sigma_{x} \\sigma_{y}}=\\frac{E\\left[\\left(\\boldsymbol{x}-\\mu_{x}, \\boldsymbol{y}-\\mu_{y}\\right)\\right]}{\\sigma_{x} \\sigma_{y}} ρx,y=σxσycov(x,y)=σxσyE[(xμx,yμy)]

或者为:

ρ X , Y = E ( X Y ) − E ( X ) E ( Y ) E ( X 2 ) − ( E ( X ) ) 2 E ( Y 2 ) − ( E ( Y ) ) 2 \\rho_{X, Y}=\\frac{E(X Y)-E(X) E(Y)}{\\sqrt{E\\left(X^{2}\\right)-(E(X))^{2}} \\sqrt{E\\left(Y^{2}\\right)-(E(Y))^{2}}} ρX,Y=E(X2)(E(X))2 E(Y2)(E(Y))2 E(XY)E(X)E(Y)

样本的Person相关系数用字母r表示,用来度量两个变量间的线性关系,计算公式为:

r ( X , Y ) = Cov ⁡ ( X , Y ) Var ⁡ [ X ] Var ⁡ [ Y ] r(X, Y)=\\frac{\\operatorname{Cov}(X, Y)}{\\sqrt{\\operatorname{Var}[X] \\operatorname{Var}[Y]}} r(X,Y)=Var[X]Var[Y] Cov(X,Y)

表示的是:用两个变量的协方差除以两个变量标准差的乘积

  • Cov(X,Y):表示的是协方差
  • Var[X]:表示的是方差,开根号之后就变成了标准差

⚠️总结:两个变量之间的Pearson相关系数定义为两个变量之间的协方差标准差的商

Spearman相关系数

Spearman相关系数是以以查尔斯·爱德华·斯皮尔曼命名的斯皮尔曼等级相关系数。通常用希腊字母 ρ \\rho ρ表示,Spearman相关系数也被定义成等级变量间的Person相关系数。

计算公式为:

ρ = ∑ i ( x i − x ˉ ) ( y i − y ˉ ) ∑ i ( x i − x ˉ ) 2 ∑ i ( y i − y ˉ ) 2 \\rho=\\frac{\\sum_{i}\\left(x_{i}-\\bar{x}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i}\\left(x_{i}-\\bar{x}\\right)^{2} \\sum_{i}\\left(y_{i}-\\bar{y}\\right)^{2}}} ρ=i(xixˉ)2i(yiyˉ)2 i(xixˉ)(yiyˉ)

实际应用中,变量间的连结是无关紧要的,于是可以通过简单的步骤计算ρ。被观测的两个变量的等级的差值,则ρ为:

ρ = 1 − 6 ∑ d i 2 n ( n 2 − 1 ) \\rho=1-\\frac{6 \\sum d_{i}^{2}}{n\\left(n^{2}-1\\right)} ρ=1n(n21)6di2

其中,n表示数据点的个数, d i d_i di表示数据点 ( x i , y i ) (x_i,y_i) (xi,yi)的秩次 ( r x i , r y i ) (r_{xi},r_{yi}) (rxi,ryi)的差值: d i = r x i − r y i d_i=r_{xi}-r_{yi} di=rxiryi

有了Person相关系数,为什么还要有Spearman相关系数?Person相关系数有一定的局限性**:第一是变量必须是连续型,第二必须服从正态分布**

Spearman相关系数只关心变量的单调关系,不考虑具体数值的影响,还能够容忍异常值,一般情况下能够用Person相关系数的地方都能够用Spearman系数。

快速理解秩次和秩和

下面有AB两组数据,如何求秩次与秩和?

1、按照顺序排列ABL两组数据:

2、标记它们的次序,也就是秩次。如果两个值相同则取次序的均值

3、秩和就是秩次之和:

A:3.5 + 5 + 8 + 9 + 10 = 35.5

B:1 + 2 + 3.5 + 6 + 7 = 19.5

特殊情况:当两个变量有重复的数据,则计算变量之间的Spearman相关系数就是计算变量数据秩次之间的Person相关系数:

ρ s = ρ r x , r y = cov ⁡ ( r x , r y ) σ r x σ r y \\rho_{s}=\\rho_{r_{x}, r_{y}}=\\frac{\\operatorname{cov}\\left(r_{x}, r_{y}\\right)}{\\sigma_{r_{x}} \\sigma_{r_{y}}} ρs=ρrx,ry=σ相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)

相关性系数介绍+python代码实现 correlation analysis

协方差矩阵与相关系数矩阵

协方差矩阵与相关系数矩阵

理解统计相关性的kappa系数

皮尔森相关系数的介绍