对于完全相关的集合,Pearson相关性失败

Cam*_*tin 7 recommendation-engine collaborative-filtering pearson-correlation

考虑以下用户A和B对胶片评级集的Pearson相关系数的例子:

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
Run Code Online (Sandbox Code Playgroud)

Pearson相关似乎被广泛用于计算协同过滤中两组之间的相似性.然而,上面的集合显示出高(甚至完美)相似性,但是输出表明集合是负相关的(或者由于div为零而遇到错误).

我最初认为这是我实施中的一个问题,但我已经对一些在线计算器进行了验证.

如果输出正确,为什么Pearson相关性被认为是这个应用的一个好选择?

Mep*_*phy 0

皮尔逊相关性除以变量的标准差(在您的情况下为零),因此导致除以零误差。它被认为是好的,因为没有任何实际数据集的标准差为零。换句话说,完整的统一数据集超出了皮尔逊相关系数的范围,但这并不是不使用它的理由。