Pearson Distance

Pearson Distance:

where:

    1.  is the covariance

    2.  is the standard deviation of

    3.  is the standard deviation of

    

     

    

    

    

pearson distance:

     

    

When we consider and , then pearson distance is the vectorial angle cosine between and

     

When the length of and is 2, then  is either 1 or -1.

The corresponding python code is as follow:

from math import sqrt

def pearson(v1,v2):
    sum1 = sum(v1)
    sum2 = sum(v2)
    sum1Sq = sum([pow(v,2) for v in v1])
    sum2Sq = sum([pow(v,2) for v in v2])
    pSum = sum([v1[i]*v2[i] for i in range(len(v1))])
    num = pSum - sum1*sum2/len(v1)
    den = sqrt(sum1Sq - pow(sum1,2)/len(v1))*sqrt(sum2Sq - pow(sum2,2)/len(v2))
    if den == 0: return 1.0
    return num/den

 

posted @ 2018-06-04 21:07  LilyEvansHogwarts  阅读(455)  评论(0编辑  收藏  举报