栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

皮尔逊相关系数计算(Matlab和Python实现)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

皮尔逊相关系数计算(Matlab和Python实现)

Matlab

注意,数组元素之间用分号隔开的

clear all;
a=[ 0.6; 0.9;0.78; 0.28;0.44;0.40;0.69;0.94;0.45]
b=[ 31.46;26.75;32.08 ;26.38;29.75;27.57;28.56 ;27.67 ;28.18 ]
coeff = corr(a , b,'type','pearson'); 

Python
from  math  import  sqrt
 
def  multipl(a,b):
     sumofab = 0.0
     for  i  in  range ( len (a)):
         temp = a[i] * b[i]
         sumofab  =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  =  [ 0.6 , 0.9 , 0.78 , 0.28,0.44,0.40,0.69,0.94,0.45 ]
y  =  [ 31.46,26.75,32.08 ,26.38 ,29.75 ,27.57 ,28.56 ,27.67 ,28.18 ]

 
print (corrcoef(x,y))  #0.14418073993882827
from scipy.stats import pearsonr
pccs = pearsonr(x, y)
print(pccs)
(0.14418073993881686, 0.7113182029255729)
参考:

统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
matlab相关系数计算公式(Pearson和Spearman,以及Kendall Rank)
皮尔逊相关系数的计算(python代码版)
Python–如何计算皮尔逊相关系数(Pearson correlation coefficient)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460821.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号