相关性学习-皮尔逊相关系数

本文详细介绍了Pearson相关系数的概念及其计算方法,并通过对比协方差,解释了Pearson相关系数如何更合理地衡量两个随机变量间的线性相关性。
作者:TimXP
链接:https://www.zhihu.com/question/19734616/answer/117730676
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

要理解Pearson相关系数,首先要理解协方差(Covariance),协方差是一个反映两个随机变量相关程度的指标,如果一个变量跟随着另一个变量同时变大或者变小,那么这两个变量的协方差就是正值,反之相反,公式如下:

<img src="https://i-blog.csdnimg.cn/blog_migrate/5d0ca22c3cdced77799f93e343f1e31c.png" data-rawwidth="381" data-rawheight="67" class="content_image" width="381">

Pearson相关系数公式如下:

<img src="https://i-blog.csdnimg.cn/blog_migrate/5b66aff89db67c3ea7cc61bdec8ff716.png" data-rawwidth="430" data-rawheight="62" class="origin_image zh-lightbox-thumb" width="430" data-original="https://pic2.zhimg.com/95c7b4484dc46f28390c4de96c83b915_r.png">

由公式可知,Pearson相关系数是用协方差除以两个变量的标准差得到的,虽然协方差能反映两个随机变量的相关程度(协方差大于0的时候表示两者正相关,小于0的时候表示两者负相关),但是协方差值的大小并不能很好地度量两个随机变量的关联程度,例如,现在二维空间中分布着一些数据,我们想知道数据点坐标X轴和Y轴的相关程度,如果X与Y的相关程度较小但是数据分布的比较离散,这样会导致求出的协方差值较大,用这个值来度量相关程度是不合理的,如下图:

<img src="https://i-blog.csdnimg.cn/blog_migrate/053f4b9542823e8e38e8744854fadf54.png" data-rawwidth="406" data-rawheight="374" class="content_image" width="406">

为了更好的度量两个随机变量的相关程度,引入了Pearson相关系数,其在协方差的基础上除以了两个随机变量的标准差,容易得出,pearson是一个介于-1和1之间的值,当两个变量的线性关系增强时,相关系数趋于1或-1;当一个变量增大,另一个变量也增大时,表明它们之间是正相关的,相关系数大于0;如果一个变量增大,另一个变量却减小,表明它们之间是负相关的,相关系数小于0;如果相关系数等于0,表明它们之间不存在线性相关关系。《数据挖掘导论》给出了一个很好的图来说明:

<img src="https://i-blog.csdnimg.cn/blog_migrate/cdbf0bd30836ba450d2b6c2a9ab8e139.png" data-rawwidth="561" data-rawheight="383" class="origin_image zh-lightbox-thumb" width="561" data-original="https://pic2.zhimg.com/e31afcd8a6fa446a5b5b0bdd87606f1d_r.png">


作者:陈小龙
链接:https://www.zhihu.com/question/19734616/answer/174098489
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

cos<a, b> = a • b / |a|•|b|

假设a = (3, 1, 0), b = (2, -1, 2)

分子是a, b两个向量的内积, (3, 1, 0) • (2, -1, 2) = 3•2 + 1•(-1) + 0•2 = 5

分母是两个向量模的乘积.


总之这个cos的计算不要太简单...高考一向这是送分题...


然后问题来了, 皮尔逊系数和这个cos啥关系...(不好意思借用了我们学校老师的课件...)

&amp;lt;img src=&quot;https://i-blog.csdnimg.cn/blog_migrate/22235eed848de4e7aaace02944cc8f52.png&quot; data-rawwidth=&quot;627&quot; data-rawheight=&quot;172&quot; class=&quot;origin_image zh-lightbox-thumb&quot; width=&quot;627&quot; data-original=&quot;https://pic2.zhimg.com/v2-71de3ac89fb7e62a24eae9bdbb56aa8d_r.png&quot;&amp;gt;

其实皮尔逊系数就是cos计算之前两个向量都先搞个标准化...就这么简单...


还是解释下吧:

标准化的意思是说, 对每个向量, 我先计算所有元素的平均值avg, 然后每个元素减去这个avg, 得到的这个向量叫做被标准化(也叫正规化)的向量. 基本上所有的机器学习, 数据挖掘用到向量的时候, 都要预处理做标准化.


我们观察皮尔逊系数的公式:

分子部分: 每个向量的每个数字要先减掉向量各个数字的平均值, 这就是在标准化.

分母部分: 两个根号式子就是在做取模运算, 里面的所有r也要减掉平均值, 其实也就是在做标准化.


### 斯皮尔曼相关性系数与皮尔逊相关性系数的区别及应用 #### 定义与性质 斯皮尔曼相关性系数(Spearman Rank Correlation Coefficient)和皮尔逊相关性系数(Pearson Correlation Coefficient)都是用于测量两个变量之间关系强度的指标,但两者基于不同的假设和适用范围。 - **皮尔逊相关性系数**主要用于评估两组连续型数据之间的线性关系程度。它假定数据呈正态分布并具有线性关联特性[^1]。该系数取值范围为[-1, 1],其中正值表示正向线性关系,负值则代表反向线性关系,绝对值越接近于1表明线性关系越强[^3]。 - **斯皮尔曼相关性系数**则是通过比较两组数据排名次序来判断它们间的单调关系而非严格意义上的线性联系[^2]。因此即使原始数值不符合正态分布或者存在非线性的单增/减趋势时,仍能有效反映二者间的关系紧密度。 #### 应用场景对比 | 特征 | 皮尔逊相关性系数 | 斯皮尔曼相关性系数 | |-------------------------|------------------------------------------|----------------------------------------| | 数据类型 | 连续型 | 可处理离散型或有序分类 | | 假设前提 | 需要满足双变量联合正态分布 | 不需任何特定分布形式 | | 关系描述 | 测量的是严格的线性依赖 | 描述更广泛的单调函数映射关系 | 当研究对象的数据呈现明显的直线形变化规律且服从标准概率密度曲线,则优先选用皮尔逊方法;而如果遇到无法确认基础统计特性的复杂情形下,转而考虑采用更为稳健灵活的斯皮尔曼技术会更加合适一些。 ```matlab % MATLAB实现两种相关系数计算示例代码如下: % 输入样本矩阵A (n x m),这里简化成二维列向量a,b作为演示 a = randn(100,1); b=randperm(length(a))'; % 计算皮尔逊相关系数 r_pearson=corr(a,b,'type','Pearson'); % 计算斯皮尔曼相关系数 r_spearman=corr(rankdata(a),rankdata(b),'type','Spearman'); ``` 上述MATLAB脚本展示了如何分别求解给定随机数数组`a`与其重新排列版本`b`之间的这两种不同类型的关联指数。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值