皮尔逊(Pearson)相关系数 - 公式和代码实现
文章目录
- 1. 简介
- 2. 公式
- 3. 代码实现
- 4. 其他参考资料
代码来源于:https://github.com/yaleimeng/Final_word_Similarity
我将其单独抽取、组合出来做讲解。
1. 简介
相关系数:考察两个变量之间的相关程度。相关系数越大,相关性越强。
皮尔逊相关也称为积差相关,是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的方法。
2. 公式
三个公式都能计算正确结果,我们采用第三个公式来编程实现。
3. 代码实现
from math import sqrtdef multiply(a,b):#a,b两个列表的数据一一对应相乘之后求和sum_ab=0.0for i in range(len(a)):temp=a[i]*b[i]sum_ab+=tempreturn sum_abdef cal_pearson(x,y):n=len(x)#求x_list、y_list元素之和sum_x=sum(x)sum_y=sum(y)#求x_list、y_list元素乘积之和sum_xy=multiply(x,y)#求x_list、y_list的平方和sum_x2 = sum([pow(i,2) for i in x])sum_y2 = sum([pow(j,2) for j in y])molecular=sum_xy-(float(sum_x)*float(sum_y)/n)#计算Pearson相关系数,molecular为分子,denominator为分母denominator=sqrt((sum_x2-float(sum_x**2)/n)*(sum_y2-float(sum_y**2)/n))return molecular/denominatorif __name__ == '__main__':x = [1.0, 0.8413847866522796, 1.0, 1.0, 0.7220196471443738, 0.8659769034282755, 0.8525472520008003, 1.0,0.8333703748448211, 0.389905372997432, 0.7323982353899079, 0.7636377912400188, 0.7182768399980969,0.2674857649974473, 0.4044950329998137, 0.34512807490538866, 0.18946683500771058, 0.30049731372316213,0.24729781155291156, 0.3094230131574097, 0.41238596985736753, 0.0, 0.0, 0.2684506957865521,0.14158316440453367, 0.35473275983651914, 0.0, 0.0, 0.0, 0.0]y = [0.98, 0.96, 0.96, 0.94, 0.925, 0.9025, 0.875, 0.855, 0.7775, 0.77, 0.7625, 0.7425, 0.7375, 0.705, 0.42, 0.415,0.29, 0.275, 0.2375, 0.2225, 0.2175, 0.21, 0.1575, 0.1375, 0.105, 0.105, 0.0325, 0.0275, 0.02, 0.02]res = cal_pearson(x,y)print(res) # 0.9171284464588204
4. 其他参考资料
如何理解皮尔逊相关系数(Pearson Correlation Coefficient)? - 微调的回答 - 知乎
皮尔逊(Pearson)相关系数 - 公式和代码实现相关推荐
- 相关系数之皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数(评价线性关系的相关系数)(第一部分)
0.前言 一开始学这里的时候我感觉真的完犊子了,因为这部分的内容涉及到了概率论和数理统计的东西,概率论和数理统计虽然我现在在学,但我学的一团糟,翻书也毫无头绪,完了,现在就写一写自己怎么学的这两个系数 ...
- 相关系数(皮尔逊pearson相关系数和斯皮尔曼spearman等级相关系数)
目录 总体皮尔逊Person相关系数: 样本皮尔逊Person相关系数: 两点总结: 假设检验:(可结合概率论课本假设检验部分) 皮尔逊相关系数假设检验: 更好的方法:p值判断方法 皮尔逊相关系数假设 ...
- 皮尔逊Pearson相关系数python代码实现
皮尔逊相关系数简介 wiki介绍 皮尔逊积矩相关系数(英语:Pearson product-moment correlation coefficient,缩写:PPMCC,或PCCs,有时简称相关系数 ...
- 皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)
概念介绍 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度. 相关系数大小解释 相关性 绝对值 无相关 0 - 0.09 弱相关 0.1 - 0.3 中相关 0.3 - 0.5 强相关 ...
- python皮尔森相关系数_Python计算皮尔逊 pearson相关系数
pearson相关系数:用于判断数据是否线性相关的方法. 注意:不线性相关并不代表不相关,因为可能是非线性相关. Python计算pearson相关系数: 1. 使用numpy计算(corrcoef) ...
- Pearson(皮尔逊)相关系数[ Pearson product-moment correlation coefficient; PPMCC或PCCs]
欧几里德距离 欧几里得度量定义欧几里得空间中点 x = (x1,...,xn) 和 y = (y1,...,yn) 之间的距离为 但是当评价结果中,评价者的评价相对于平均水平偏离很大的时候欧几里德距离 ...
- 数学建模——皮尔逊person相关系数VS斯皮尔曼spearman相关系数学习笔记
皮尔逊 person相关系数和斯皮尔曼spearman等级相关系数,它们可用来衡量两个变量之间的相关性的大小,根据 数据满足的不同条件,我们要选择不同的相关系数进行计算和分析(建模论文中最容易用错的方 ...
- 皮尔逊积矩相关系数和显著性matlab,Excel 应用RSQ函数计算Pearson乘积矩相关系数的平方...
RSQ函数用于根据known_y's和known_x's中数据点计算得出的Pearson乘积矩相关系数的平方.R平方值可以解释为y方差与x方差的比例.RSQ函数的语法如下. RSQ(known_y's ...
- 皮尔逊波形相似度python代码
皮尔逊相关系数用来衡量两个变量之间的相似程度,值越接近1,则两个变量之间的相关性越大,值越接近0,则两个变量之间的相关性越小.皮尔逊相关系数可以用来衡量两个波形之间的相似度. 在 Python 中,可 ...
- Pearson(皮尔逊)相关系数
统计相关系数简介 由于使用的统计相关系数比较频繁,所以这里就利用几篇文章简单介绍一下这些系数. 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度. 如果有两个变量:X.Y,最终计算出的相 ...
最新文章
- 计算机视觉黑魔法 | 16个案例
- CSS的四种引入方式
- 【错误解决】[Maven] cannot be opened because it does not exist错误[文件无法编译到target目录下的解决方法]...
- HTML 中的特殊字符
- 打破牢笼,展望更高层次的世界
- docker安装nginx,配置nginx,并成功访问
- ubuntu 设置保护色
- python中pass语句学习
- Network Trimming: 数据指导的神经剪枝方法
- markdown中修改图片大小
- python中占位符解释
- 机制设计专栏(2)-说一说IC机制
- 今天给大家讲一个鬼故事
- 网狐大联盟机器管理工具编译与使用
- MYSQL 1366报错如何解决
- 8.2.2 使用SHOW CREATE TABLE语句查看表结构
- 1.3.密码技术发展历程与趋势
- 期货的价格代表什么(期货价格代表什么意思)
- Android KaptExecution:Annotation processors discovery from compile classpath is deprecated
- 【Rhapsody学习笔记】1:Hello World