mahout推荐引擎相似度计算之皮尔逊相关性

5 篇文章 0 订阅
4 篇文章 0 订阅
欢迎喜欢深入了解推荐系统和mahout的兄弟加入群     推荐系统之Mahout  135918911
 
在讲解皮尔逊相关性之前我们先讲解一下z分数
 
z分数(z-score),也叫标准分数(standard score)是一个分数与平均数的差再除以标准差的过程。z分数可以回答这样一个问题:"一个给定分数距离平均数多少个标准差?"在平均数之上的分数会得到一个正的标准分数,在平均数之下的分数会得到一个负的标准分数。  z分数是一种可以看出某分数在分布中相对位置的方法。z分数能够真实的反应一个分数距离平均数的相对标准距离。如果我们把每一个分数都抓换成z分数,那么每一个z分数会以标准差为单位表示一个具体分数到平均数的距离或离差。将成正态分布的数据中的原始分数转换为z分数,我们就可以通过查阅z分数在正态曲线下面积的表格来得知平均数与z分数之间的面积,进而得知原始分数在数据集合中的百分等级。一个数列的各z分数的平方和等于该数列数据的个数,并且z分数的标准差和方差都为
总体z分数:z=(X-μ)/σ  其中X-μ为离均差,σ表示标准差
[1]      
样本z分数:

理解皮尔逊相关的两个角度

其一, 按照高中数学水平来理解, 皮尔逊相关(Pearson Correlation Coefficient)很简单, 可以看做将两组数据首先做Z分数处理之后, 然后两组数据的乘积和除以样本数

Z分数一般代表正态分布中, 数据偏离中心点的距离.等于变量减掉平均数再除以标准差.(就是高考的标准分类似的处理)

标准差则等于变量减掉平均数的平方和,再除以样本数,最后再开方.

所以, 根据这个最朴素的理解,我们可以将公式依次精简为:

alt text

其二, 按照大学的线性数学水平来理解, 它比较复杂一点,可以看做是两组数据的向量夹角的余弦. 台湾学者黄富廷在论文中进行了详细介绍.

皮尔逊相关的约束条件

从以上解释, 也可以理解皮尔逊相关的约束条件:

* 两个变量间有线性关系

* 变量是连续变量

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

* 两变量独立

在实践统计中,一般只输出两个系数,一个是相关系数,也就是计算出来的相关系数大小,在-1到1之间;另一个是独立样本检验系数,用来检验样本一致性.

手算的例子

使用维基相关中的例子:

例如,假设五个国家的国民生产总值分别是1、2、3、5、8(单位10亿美元),又假设这五个国家的贫困比例分别是11%、12%、13%、15%、18%。

创建2个向量.(R语言)

x<-c(1,2,3,5,8) 
y<-c(0.11,0.12,0.13,0.15,0.18)       

按照维基的例子,应计算出相关系数为1出来.我们看看如何一步一步计算出来的.

x的平均数是:3.8 y的平均数是0.138

所以,

sum((x-mean(x))*(y-mean(y)))=0.308        

用大白话来写就是:

(1-3.8)*(0.11-0.138)=0.0784
(2-3.8)*(0.12-0.138)=0.0324
(3-3.8)*(0.13-0.138)=0.0064
(5-3.8)*(0.15-0.138)=0.0144
(8-3.8)*(0.18-0.138)=0.1764 

0.0784+0.0324+0.0064+0.0144+0.1764=0.308    

同理, 分号下面的,分别是:

sum((x-mean(x))^2)=30.8
sum((y-mean(y))^2)= 0.00308   

用大白话来写,分别是:

(1-3.8)^2=7.84  #平方
(2-3.8)^2=3.24  #平方
(3-3.8)^2=0.64  #平方
(5-3.8)^2=1.44  #平方
(8-3.8)^2=17.64 #平方
7.84+3.24+0.64+1.44+17.64=30.8 

同理,求得:

sum((y-mean(y))^2)= 0.00308             

然后再开平方根,分别是:

30.8^0.5=5.549775
0.00308^0.5=0.05549775  

用分子除以分母,就计算出最终结果:

0.308/(5.549775*0.05549775)=1  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值