首页 > 编程语言 > 详细

python计算皮尔逊系数

时间:2021-04-03 21:00:03      阅读:30      评论:0      收藏:0      [点我收藏+]
from math import sqrt


def multipl(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 = multipl(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


x = [3.0, 2.6, 4.3, 2.1, 1.1, 6.1, 4.8, 3.8, 3.4, 1.8, 4.6, 2.3, 3.1, 5.5, 0.7]
y = [22.3, 19.6, 31.3, 24.0, 17.3, 43.2, 36.4, 26.1, 26.2, 17.8, 31.3, 23.1, 27.5, 36.0, 14.1]


print(corrcoef(x, y))  

python计算皮尔逊系数

原文:https://www.cnblogs.com/Acapplella/p/14613727.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!