如何通俗易懂地理解皮尔逊相关系数?

要理解 Pearson 相关系数,首先要理解协方差(Covariance)。协方差表示两个变量 X,Y 间相互关系的数字特征,其计算公式为:

COV(X,Y)=1n1n1(XiX)(YiY)

当 Y = X 时,即与方差相同。当变量 X,Y 的变化趋势一致时,如果某个 Xi 大于 X ,相应的 Yi 也大于 Y ;如果某个 Xi 小于 X ,相应的 Yi 也小于 Y ,那么 COV(X,Y) 就是正值,当变量 X,Y 的变化趋势相反时,那么 COV(X,Y) 就是负值。

Pearson 相关系数公式如下:

COR(X,Y)=n1(XiX)(YiY)n1(XiX)2n1(YiY)2

由公式可知,Pearson 相关系数是用协方差除以两个变量的标准差得到的,虽然协方差能反映两个随机变量的相关程度(协方差大于0的时候表示两者正相关,小于0的时候表示两者负相关),但其数值上受量纲的影响很大,不能简单地从协方差的数值大小给出变量相关程度的判断。为了消除这种量纲的影响,于是就有了相关系数的概念。

当两个变量的方差都不为零时,相关系数才有意义,相关系数的取值范围为[-1,1]。《数据挖掘导论》中给了一个很形象的图来说明相关度大小与相关系数之间的联系:
如何通俗易懂地理解皮尔逊相关系数?_第1张图片

由上图可以总结,当相关系数为1时,成为完全正相关;当相关系数为-1时,成为完全负相关;相关系数的绝对值越大,相关性越强;相关系数越接近于0,相关度越弱。

关于皮尔逊相关系数的编程计算,MATLAB 中提供了现有的函数:

cor = corr(Matrix,'type','Pearson')

Matrix 参数即为需要计算的矩阵。

你可能感兴趣的:(算法,数理统计,&,数据挖掘,R语言,&,MATLAB,机器学习,人工智能)