相关系数的理解与应用

  1. 理解相关系数

  1. 对于两个二进制序列,或者两段基因序列,我们可以用汉明距离来度量二者之间的差异,作为“距离”;那么假如对于两个复杂的量(描述这两个量可能用很多很多的参数),那么这时候怎样度量二者之间的“相关性”呢?

  • 一个很自然的想法,用向量与向量的夹角来作为距离的定义,夹角小,就距离小,夹角大,就距离大。
  • 但是怎样来计算夹角呢?为了让这种计算可行,我们要选一种恰当的三角函数来算。正弦函数的不太好的一个原因是因为加上个90°,正弦算出来得到的结果一样,而两个向量的夹角是30°还是120°这是完全的两码事,此外,正弦函数也不适合推广到高维度向量的计算中的“两两比较”。
  • 那么考虑用余弦吧,这个可以很方便地区分30°和120°,而且还有一个好处——余弦的计算非常简单,用内积就可以计算了,中学数学中就学过: (x1,y1)・(x2,y2)=x1x2+y1y2,这就是内积,你要是喜欢,也可以把这个叫做“协方差”。

  • 但是这个内积的定义很奇怪哎?要是两个向量本身就长,那这个也算不出夹角来,所以再要除以两个向量本身的长度,即,夹角:cos <ab> =(ab)/|a||b|;
  • 这样,那么两个量是不是相关,怎么来判断?就用余弦的大小就可以了,我们把两个向量的夹角的余弦,就叫做“相关系数”,正如上面的式子所指出的,写开了就是:
    分子上面的就是一个内积的计算,也就是前面我说的“协方差”,分子下面是两个勾股定理乘起来,是两个向量的长度。如果两个向量平行,则它们夹角的余弦(也就是“相关系数”)就等于1或者-1,同向的时候是1,反向的时候就是-1。如果两个向量垂直,则夹角的余弦就等于0,说明二者不相关。

根据维基百科的定义:
相关(Correlation,或称 相关系数关联系数),显示两个 随机变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。

如何利用相关系数挑选出能够用来最好的预测因变量的?

首先把数据分为两组:training set / test set.
在 training set 中,假设有X_{1}, X_{2},...,X_{i}这几个特征,Y_{training} 为因变量,我把本题拆分为两个问题:
1) 我们想要分析哪个特征对结果影响最大
  1. 首先把X_{1}, X_{2},...,X_{i}和 Y 用某种机器学习的方法跑一遍,在此我用 SVM (1.2. Support Vector Machines) 来举例,再将 test set 代入这个 SVM,得到Y_{predict}
  2. 计算并记录Y_{training}Y_{predict}的相关系数r
  3. X_{1}, X_{2},...,X_{i}中去掉一个特征X_{j}, 重新进入步骤 1、2,算出r_{j}
  4. 现在我们算出了r_{1},...r_{i},将他们和r比较,变化最大的即是影响最大的特征(可能正向影响,也可能反向影响)
2) 我们想要挑选出最好的用来预测因变量的组合
  1. 首先把X_{1}, X_{2},...,X_{i}和 Y 用某种机器学习的方法跑一遍,在此我用 SVM (1.2. Support Vector Machines) 来举例,再将 test set 代入这个 SVM,得到Y_{predict}
  2. 计算并记录Y_{training}Y_{predict}的相关系数r
  3. 为了挑选最好的用来预测因变量的组合,只需要从X_{1}, X_{2},...,X_{i}中选出一个集\{X\}_{k},使得对应的r_{k}最大
  4. 但上述\{X\}_{k}也只是在当前 training set / test set中的最优解,想要继续优化的话,再多找几组 training set / test set 即可

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值