考虑用户A和B的电影评级集合上的皮尔逊相关系数的以下示例:
A = [2,4,4,4,4]
B = [5,4,4,4,4]
pearson(A,B) = -1
A = [5,5,5,5,5]
B = [5,5,5,5,5]
pearson(A,B) = NaN
在协同过滤中,Pearson相关性似乎被广泛用于计算两个集合之间的相似度。然而,上面的集合显示出很高的(甚至是完美的)相似性,但输出表明这些集合是负相关的(或者由于div为零而遇到错误)。
我最初认为这是我的实现中的一个问题,但后来我在几个在线计算器上验证了它。
如果输出是正确的,为什么Pearson相关性被认为是此应用程序的良好选择?
发布于 2016-08-03 19:14:58
人员相关性衡量两个数据集之间的关联,即它们如何一起增加或减少。在视觉上,如果一组画在x轴上,另一组画在y轴上,它们在一条直线上的距离有多近。不考虑数据集规模差异的正相关示例:
对于您的情况,数据集完全相似,因此它们的标准差为零,这是pearson相关性计算中分母使用的乘积的一部分,因此它是未定义的。这意味着,无法预测相关性,即数据如何与其他数据一起增加或减少。在下面的图表中,所有数据点都位于一个点上,因此预测相关性模式是不可能的。
我建议您研究其他相似性度量,如欧几里得距离、余弦相似度、调整后的余弦相似度,并做出更适合您用例的明智决定。这也可能是一种混合方法。
此tool用于生成图形。
发布于 2016-07-24 11:09:21
皮尔逊相关性除以变量的标准差,在您的情况下为零,因此导致除以零的错误。它被认为是好的,因为没有实际数据集的标准差为零。换句话说,完整的统一数据集超出了皮尔逊相关系数的范围,但这并不是不使用它的理由。
https://stackoverflow.com/questions/38548343
复制相似问题