码迷,mamicode.com
首页 > 其他好文 > 详细

特征相似性度量

时间:2018-04-28 23:47:46      阅读:420      评论:0      收藏:0      [点我收藏+]

标签:sum   男人   tab   方差   皮尔逊   with   inline   limit   背景   

  在进行特征选择的时候我们要衡量特征和我们的目标之间的相似性,有很多的方法可以衡量,下面介绍一些使用filter特征选择方法的时候能够使用的方法。filter特征选择方法是:特征选择的过程和模型的训练过程没有直接关系,使用特征本身的信息来进行特征选择。

  参考这篇文章给出下图所示的特征度量方法:

技术分享图片

 

1:相关系数(皮尔逊系数)

  对于两个变量$\mathbf{x}$ 和$\mathbf{y}$ 相关系数是这样定义的:

  $\rho(\mathbf{x},\mathbf{y}) = \frac{   cov(\mathbf{x},\mathbf{y})  }   {   \sqrt{D(\mathbf{x})D(\mathbf{y})}  }$

  其中$cov(\mathbf{x},\mathbf{y}) $是 $\mathbf{x}$ 和$\mathbf{y}$的协方差,$D(\mathbf{x})D(\mathbf{y})$是$\mathbf{x}$ 和$\mathbf{y}$的方差。

  当我们用采集到的数据来进行计算的时候,计算公式如下:

  $\rho(\mathbf{x}, \mathbf{y}) = \frac{ \sum \limits_{i=1}^n [(x_i – \bar x)  (y_i – \bar y)] }{\sqrt{ \sum \limits_{i=1}^n {(x_i – \bar x)}^2   \sum \limits_{i=1}^n {(y_i – \bar y)}^2  }}$

  相关系数的取值在-1和1之间。相关系数为1的时候表明两个变量是线性相关的,而取0的时候表示的是不相关的。当两个变量都是连续的数值类型的时候,可以使用相关系数来进行度量。

  关于相关系数的另一个解释是这样的:相关系数是去中心化以后数据的余弦值。中心化是数据减去他们的平均值以后得到的数据。

 

2:Anova(方差分析)

  Anova是方差分析(analysis of variance)的意思。 方差分析出现的背景是这样的:在实际的生产生活当中,一个结果会受到多个因素的影响,比如小麦产量受到光照、土壤的酸碱程度、温度等因素影响,化工生产当中产品受到原料成分、原料剂量、催化剂、反应温度、压力、溶液浓度、反应时间、机器设备的影响。如何能够判别哪种因素是对我们的结果影响最大的,这个时候就使用方差分析。我们把要考察的指标叫做试验指标,影响试验指标的条件叫做因素

  单变量的方差分析是只研究一个变量对于结果的影响。让这个变量取不同的值,得到不同值下的几组数据。比如要研究机器对于铝合金薄板厚度是否有影响,那么需要获得在不用的机器上面取得的薄板厚度的一组值。

  把这个问题转换为一个检验假设问题:在各组数据符合正态分布,而且正态分布的方差都相同的条件下,看各组数据的均值是否相同。如果结果在可接受的范围内相同,那么则说明这一因素对于试验指标没有太大的影响。如果不相同,那么说明这一因素对于试验指标影响很大。

  具体的计算过程当中是要求出这么几个值,最后可以列出一张单因素试验方差分析表。

方差来源 平方和 自由度 均方 F比
因素A $S_A$ s-1 $\bar{S_A} = \frac{S_A}{s-1}$ $F=\frac{\bar{S_A}}{\bar{S_E}}$
误差 $S_E$ n-s $\bar{S_E} = \frac{S_E}{n-s}$  
总和 $S_T$ n-1    

其中:$S_A$叫做因素A的效应平方和,反应的是在因素A的不同水平下,样本均值和总体数据均值差异的平方和。

$S_E$叫做误差平方和,反应是在因素A的各个取值下,每组观察数据与这组数据均值的平方误差之和,反应的是随机误差的大小。

n是总体样本个数,s表示因素A可以取s种情况。

统计量$F=\frac{S_A /(n-1)}{S_E/(n-s)}$ 叫做Anova F统计量,由它确定的检验也佳作Anova F检验。

 

下面给出一个典型的例子:

使用三台机器产生的铝合金薄板,看机器是否对薄板的厚度有显著的影响,数据集如下

机器1      机器2      机器3

0.236     0.257     0.258
0.238     0.253     0.261
0.248     0.255     0.259
0.245     0.254     0.267
0.243     0.261     0.262

根据一定的计算方法(具体的计算方法可以参考《概率论与数理统计》这本书),得到的方差分析表如下:

方差来源 平方和 自由度 均方 F比

因素

误差

0.00105333

0.000192

2

12

0.00052667

0.000016

32.92

 

总和 0.00124533 14    

在显著性水平$\alpha = 0.05$的情况下,$F_{0.05}(2,12) = 3.89 < 32.92$,拒绝假设。所以认为各台机器生产的薄板厚度有显著的差异。

sklearn的feature_selection中的SelectKBest 结合 f_classif可以实现Anova的F值来选择特征。

 

 

$\chi^2$检验(Chi-Square  卡方检验)

  $\chi^2$检测先假设特征和目标变量没有关系,然后利用公式

  $\chi ^2 = \sum \frac{(A – T)^2}{T}$来计算$\chi ^2$的值,其中A为实际值,T为理论值,是根据我们的假设推出来的。

来看这么一个例子:

在给出下列数据的情况下,是否认为不同性别的人对猫和狗有偏爱。

 
207 282
231 242

首先,我们将各行各列相加得出一些数据:

   
207 282 489
231 242 473
  438 524 962

然后我们算出理论值:即认为在性别对宠物偏爱没有影响的情况下,只和统计值有关的情况下,数据的理论值。

猫的占比为 $\frac{438}{962}$,狗的占比为$\frac{524}{962}$,所以理论上:

男人喜欢猫的人数应该为 $489 \times \frac{438}{962} = 222.64$

男人喜欢狗的人数应该为 $489 \times \frac{524}{962} = 266.36$

女人喜欢猫的人数应该为$473 \times \frac{438}{962} = 215.36$

女人喜欢狗的人数应该为$473 \times \frac{524}{962} = 257.64$

数据如下图所示:

 
222.64 266.36
215.36 257.64

最后根据我们上面给出的公式来计算$\chi ^2$值:

$\chi ^2 = \frac{(207-222.64)^2}{222.64} + \frac{(282-266.36)^2}{266.36} + \frac{(231-215.36)^2}{215.36}+ \frac{(242-257.64)^2}{257.64} = 4.102$

在知道自由度的情况下,我们可以将$\chi ^2$的值转换为p值,在这个问题当中自由度为1,计算出p=0.04283。p的值小于0.05(0.05是一个经典的显著性值),所以拒绝假设的依据很强,即认为不同性别的人对于宠物偏爱是不同的,即这两个变量不独立。

sklearn.feature_selection中的SelectKBest结合chi2可以使用$\chi^2$检测来进行特征的选择。

 

 

关于假设检验的说明:

  我们上面介绍的Anova和$\chi^2$检验,都是从检验问题引出来的,检验问题就是说,我们给定一个假设,那么我们观察到一定的样本后,我们是否相信这个假设,或者我们有多大的可能性来相信这个假设。假设问题可以转化为p-value问题,也就是把我们的假设问题转化为一个概率值来进行衡量。

  在$\chi ^2$检测当中,我们假设我们的特征和目标变量没关系,所以得到的p值说明,在特征和目标变量没有关系的时候,我们能够相信观察到这些样本的概率。所以p值越小,说明我们越不相信,即特征和变量相关性越高。 所以p值越小,相关性越大。

  在Anova当中,我们得到F值,F值可以转化为p值,Anova的假设条件是各个因素水平的均值相等,即这个因素对于试验指标并没有影响。所以,在这一假设下,p值越小,说明我们约不相信因素对于试验指标没有影响。 所以p值越小,相关性越大。

 

LDA

  LDA是Linear Discriminant Analysis(线性判别分析)。即是一种分类算法,也可以用在降维当中,经常和PCA并列。这需要另外写一篇博客来进行介绍。

 

 

参考:

  盛骤  《概率论与数理统计》

关于$\chi ^2$检测的参考:

  1 - 基于卡方检验的特征选择 

  x2检验(chi-square test)或称卡方检验 

  卡方检验 

特征相似性度量

标签:sum   男人   tab   方差   皮尔逊   with   inline   limit   背景   

原文地址:https://www.cnblogs.com/jiaxin359/p/8952850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!