0
点赞
收藏
分享

微信扫一扫

手动写代码求皮尔逊相关系数

witmy 2022-03-25 阅读 75
python

from math import *

def mmm(a,b):
    sumofab=0.0
    for i in range(len(a)):
        temp=a[i]*b[i]
        sumofab+=temp
    return sumofab

def corrcoef(x,y):
    n=len(x)
    sum1=sum(x);sum2=sum(y)
    sumofxy=mmm(x,y)
    sumofx2 = sum([pow(i,2) for i in x])
    sumofy2 = sum([pow(j,2) for j in y])
    num=sumofxy-(float(sum1)*float(sum2)/n)
    den=sqrt((sumofx2-float(sum1**2)/n)*(sumofy2-float(sum2**2)/n))
    return num/den

a=[1,2,3,1]
b=[2,2,4,2]
cor=corrcoef(a,b)
print(cor)
 

举报

相关推荐

0 条评论