首页 > 编程知识 正文

pearson相关系数的适用条件(pearson相关系数多少合适)

时间:2023-05-05 01:00:18 阅读:64478 作者:4317

众所周知,特征选择是机器学习活动的重要一步。 理想情况下,我们可以找到影响目标的所有独立因素,并使用适当的量化手段,得到完整描述目标问题的特征列表,利用这些特征可以建立适当容量的模型,这样的模型完全符合我们要解决的任务。

但实际上,这样的想法太难实现,我们往往只能通过一些特征变换和结合从现有数据中得到一些原始特征,并从这些原始特征中选择与目标相关的特征。

随着深度网络的兴起,越来越多的原始未转换的特征有望添加到深度网络中,并且有用的特征被自动提取和组合。 但是,这并不意味着不需要特征工程。 推荐系统ssdlq Xavier在技术博客《Rules of Machine Learning: Best Practices for ML Engineering》中提出了许多关于特征工程的建议,非常值得一读。 其中包含的思想是随着系统优化过程而逐步添加特征,而不是一蹴而就。 始终保证特征的简单性、直观性、可复用性、可监测性和可靠性,这意味着必须始终测试和筛选系统中的库存特征

特征选择通常包括滤镜法(Filter )、封装法(Wrap )和嵌入法)。 其中,后者都与模型相关,需要具体处理具体问题。 过滤法是对特征进行预处理,预先过滤掉对目标没有帮助的(即对模型没有帮助的)特征,只考虑任务的目标而不考虑模型。

目标是再次回顾常用特征的选择方法,对各个方法进行简明易懂的说明。 本文首先介绍了人员的相关系数。

人员相关系数的定义

人员相关系数用于检测两个连续型变量之间的线性相关程度,取$ [-1,1 ] $范围,正值呈正相关,负值呈负相关,绝对值越大表示线性相关程度越高。 在实际执行特征工程时,如果两个变量的相关系数取负值,则可以通过将特征变量取负号并与目标变量正相关来确保所有特征和目标之间存在正相关

两个变量之间的皮尔逊相关系数被定义为两个变量之间的协方差和标准差的商。

上式定义了整体相关系数,常用希腊小写字母$rho$作为代表符号。 估计样本的协方差和标准差,得到样本的人员相关系数,用英文小写字母$r$表示。

$bold symbol { x }’=bold symbol { x }- overline { x } $和$bold symbol { y }’=bold symbol { y }-overline boldsymbol{x}$和$boldsymbol{y}$的cosine bold symbol { x }’, bold symbol { y }’)=frac {bold symbol }

人员相关系数的使用条件

在使用人员相关系数之前,必须检查数据是否满足先决条件。

两个变量之间有线性关系

变量是连续变量;

变量均符合正态分布,二元分布也符合正态分布;

两个变量独立;

两个变量的方差不是0

这些条件实际上很容易被忽视。

例如,在运动图像推荐中,用户对运动图像的再现的完成度可以被用作目标变量,以检测其他连续类型的特征与其的相关性,并且在对这些连续类型的特征进行特定变换之后,可以检测再现的完成度之间的相关性。

但是,再生达成度实际上不是正态分布,如下图所示。 (实际上,用户的播放动画数、动画播放达成度等日志统计特征大多也不服从正态分布),因此实际上不能使用Pearson相关系数,但在这种情况下可以置换为Spearman或Kendall相关系数。

另外,请注意,如果两个变量本身是线性关系,则Pearson相关系数的绝对值越大则相关越强,绝对值越小则相关越弱。 但是,在两个变量的关系未知的情况下,Pearson相关系数的大小没有太大的指导意义,其绝对值的大小并不能表示变量之间相关的强弱,所以此时最好作为辅助判断来画画。 下面的示例将详细说明这一点。

举例说明

举个例子来看看计算Pearson相关系数的方法。 这里只是展示了计算过程,实际上数据的分布也不满足使用人员相关系数的条件。

考虑视频推荐场景时,目标(之一)是将视频播放完成度$y$最大化,假设播放完成度的可取范围为$ [ 0,1 ] $,则需要分析哪些因素与$y$相关。 例如,具有表示用户对运动图像的喜好度而记为$x$,其可能的范围也为$ [ 0,1 ] $的一维特征

r">

我们可以按照公式 (2) 来计算 $x$ 与 $y$ 的 Pearson 相关系数:

计算变量平均值:$overline{x} = 0.5, overline{y}=0.55$;

计算平移后的变量:$boldsymbol{x}=[-0.4,-0.3,-0.2,-0.1,0.1,0.2,0.3,0.4]$,$boldsymbol{y}=[-0.45,-0.45,-0.35,0.05,0.15,0.25,0.35,0.45]$;

计算公式 (2) 的结果:$r=frac{0.73}{sqrt{0.6}cdotsqrt{ 0.94}}=0.972$;

通过计算,我们发现,这个特征与目标变量之间的线性相关性非常高,这与我们看图得到的认知是一致的。因此我们可以把这一维特征作为有效特征加入。

但是,如果我们对这个例子稍加修改,将最后一个数据点 $(0.9,1.0)$ 改为 $(0.9,-1.0)$,如图 3 所示:

从我们的观察来看,最后一个数据点可能是噪声或者异常值,对我们判断两个变量的线性相关性应该不造成影响,但是实际上,我们再次计算一下这两个变量的 Pearson 相关系数,此时的值仅仅只有 $-0.0556$,可以说是几乎不线性相关了,这说明 Pearson 相关系数小并不代表线性相关性一定弱。在这种情况下,我们应该在数据清洗阶段把特征的异常值过滤或者平滑掉以后,再计算它与目标的相关系数。

反过来,Pearson 相关系数大也并不代表线性相关性一定强。图 4 列举了几个 Pearson 相关系数均为 $0.816$ 的变量数据,其中有些变量间并非明显的线性相关,或者是明显的二次相关,只是 Pearson 相关系数恰好较大而已。

附示例的 python 代码:

1

2

3

4

5

6

7

8>>>from scipy.stats import pearsonr

>>>x = [0.1, 0.2, 0.3, 0.4, 0.6, 0.7, 0.8, 0.9]

>>>y = [0.1, 0.1, 0.2, 0.6, 0.7, 0.8, 0.9, 1.0]

>>>pearsonr(x, y)

(0.97203814535663591, 5.3516208203873684e-05)

>>>z = [0.1, 0.1, 0.2, 0.6, 0.7, 0.8, 0.9, -1.0]

>>>pearsonr(x, z)

(-0.055618651039326214, 0.89592989552025337)

这里,pearsonr 返回的第二个结果是 p-value,其具体含义可参考官方文档。

Take-aways

本文简单的介绍了基于 Pearson 相关系数的特征选择方法,主要注意点总结如下:

Pearson 相关系数是用来检测两个连续型变量之间线性相关的程度,并且要求这两个变量分别分布服从正态分布;

Pearson 相关系数仅能度量变量间的线性相关性,如果变量间相关性未知,则 Pearson 相关系数的大小没有指导意义,此时需要借助可视化手段辅助判断;

两变量的 Pearson 相关系数实际上是这两个变量 $0$ 均值化后的 cosine 相似度;

如果两个变量是非线性相关,为了使用线性模型,可以先将特征变量进行非线性变换,使之与目标线性相关;

Pearson 相关系数对异常值比较敏感,在数据清洗阶段需要将异常值过滤或者平滑处理。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。