本文介绍了皮尔逊(Pearson)相关系数,其手动计算以及通过Pythonnumpy模块进行的计算。
皮尔逊相关系数测量变量之间的线性关联。它的值可以这样解释:+1-完全正相关
+0.8-强正相关
+0.6-中等正相关
0-无关联
-0.6-中度负相关
-0.8-强烈的负相关
-1-完全负相关
我们将说明相关系数如何随不同类型的关联而变化。在本文中,我们还将显示零关联并不总是意味着零关联。非线性相关变量的相关系数可能接近零。
皮尔逊相关系数是多少?
皮尔逊相关系数也称为皮尔逊积矩相关系数。它是两个随机变量X和Y之间线性关系的度量。在数学上,如果(σXY)是X和Y之间的协方差,并且(σX)是X的标准偏差,则皮尔逊相关系数 ρ可以由下式给出:
由于协方差总是小于各个标准偏差的乘积,因此ρ的值在-1和+1之间变化。从上面我们还可以看到,变量与自身的相关性为1:
在开始编写代码之前,让我们做一个简短的示例,看看如何计算该系数。
皮尔逊相关系数如何计算?
假设我们对随机变量X和Y有一些观察。如果您打算从头开始实施所有工作或进行一些手动计算,那么在给定X和Y时需要以下内容:
让我们使用以上内容来计算相关性。我们将使用协方差和标准偏差的有偏估计。这不会影响正在计算的相关系数的值,因为观察值的数量在分子和分母中抵消了:
使用Numpy的Python中的Pearson相关系数
皮尔逊相关系数可以使用corrcoef()Numpy中的方法在Python中计算。
此函数的输入通常是一个矩阵,例如size mxn,其中:每列代表一个随机变量的值
每行代表一个n随机变量样本
n 代表不同随机变量的总数
m 代表每个变量的样本总数
对于n随机变量,它返回一个nxn方矩阵M,其中M(i,j)指示了随机变量i和之间的相关系数j。由于变量与变量自身之间的相关系数为1,因此所有对角线项(i,i)均等于1。
简而言之:
注意,相关矩阵是对称的,因为相关是对称的,即中号(一世,Ĵ)=中号(Ĵ,一世)中号(一世,Ĵ)=中号(Ĵ,一世)。让我们以上一节中的简单示例为例,看看如何使用C要么[RCØËF()C要么[RCØËF()与ν米pÿν米pÿ。
首先,让我们导入该numpy模块以及pyplot