皮尔逊相关系数python实现
一、皮尔逊相关系数
常见公式:
公式转换:
具体和皮尔逊相关系数相关的内容可以看之前的一篇文章。
相似度计算(2)——皮尔逊相关系数
二、python实现
方法1:直接按公式算
import numpy as npx=np.array([1,3,5])
y=np.array([1,3,4])
n=len(x)sum_xy = np.sum(np.sum(x*y))
sum_x = np.sum(np.sum(x))
sum_y = np.sum(np.sum(y))
sum_x2 = np.sum(np.sum(x*x))
sum_y2 = np.sum(np.sum(y*y))
pc = (n*sum_xy-sum_x*sum_y)/np.sqrt((n*sum_x2-sum_x*sum_x)*(n*sum_y2-sum_y*sum_y))print(pc)
方法2:调用numpy中的corrcoef方法
方法:
corrcoef(x, y=None, rowvar=True, bias=np._NoValue, ddof=np._NoValue)
参数:
x:array_like,包含多个变量和观测值的1-D或2-D数组,x的每一行代表一个变量,每一列都是对所有这些变量的单一观察。
y:array_like,可选,另外一组变量和观察,y具有与x相同的形状。
rowvar:bool, 可选,如果rowvar为True(默认值),则每行代表一个变量,并在列中显示。否则,转换关系:每列代表一个变量,而行包含观察。
bias:_NoValue,可选,没有效果,请勿使用
ddof:_NoValue,可选,没有效果,请勿使用
返回值:
R : ndarray,变量的相关系数矩阵。
代码:
import numpy as npx=np.array([1,3,5])
y=np.array([1,3,4])pc=np.corrcoef(x,y)print(pc)
方法3:调用scipy.stats中的pearsonr方法
方法:
pearsonr(x, y)
参数:
x:(N,) array_like,Input array。
y:(N,) array_like,Input array。
返回值:
r : float,皮尔逊相关系数,[-1,1]之间。
p-value : float,Two-tailed p-value(双尾P值)。
注: p值越小,表示相关系数越显著,一般p值在500个样本以上时有较高的可靠性。可以理解为显著性水平。
代码:
from scipy.stats import pearsonr
import numpy as npx=np.array([1,3,5])
y=np.array([1,3,4])pc = pearsonr(x,y)print("相关系数:",pc[0])
print("显著性水平:",pc[1])
方法4:调用pandas.Dataframe中的corr方法
方法:
def corr(self,method,min_periods)
参数:
method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
pearson:皮尔逊相关系数
kendall:肯德尔等级相关系数
spearman:斯皮尔曼等级相关系数
min_periods:样本最少的数据量,最少为1。
返回值:
返回值:各类型之间的相关系数DataFrame表格。
代码:
import pandas as pddata=pd.DataFrame({"x":[1,3,5],"y":[1,3,4]})print(data.corr("pearson"))
皮尔逊相关系数python实现相关推荐
- 相关性分析:皮尔逊相关系数——python实现Pearson correlation coefficient
一.理论知识: 要理解 Pearson 相关系数,首先要理解协方差(Covariance).协方差表示两个变量 X,Y 间相互关系的数字特征,其计算公式为: 当 Y = X 时,即与方差相同.当变量 ...
- 皮尔逊相关系数的计算(python代码版)
皮尔逊相关系数的计算(python代码版) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 fro ...
- 皮尔逊相关系数 定义+python代码实现 (与王印讨论公式)
皮尔逊相关系数 定义+python代码实现 (与王印讨论公式) 标签: python相关性系数皮尔逊系数 2016-10-25 20:59 153人阅读 评论(0) 收藏 举报 分类: 集体智慧编程 ...
- python二维散点分布图_深入理解皮尔逊相关系数amp;python代码
1.常见理解误区 (1)计算出变量A和变量B的皮尔逊相关系数为0,不代表A和B之间没有相关性,只能说明A和B之间不存在线性相关关系. 例:温度和冰淇淋销量之间的散点图像如下,可以发现大致成二次函数图像 ...
- Python计算皮尔逊相关系数
** Python计算皮尔逊相关系数 ** 皮尔逊相关系数是衡量随机变量X与Y相关程度的一种方法,相关系数的取值范围是[-1,1].相关系数的绝对值越大,则表明X与Y相关度越高.当X与Y线性相关时,相 ...
- python怎么计算相关系数_Python三种方法计算皮尔逊相关系数
1.皮尔逊相关系数在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlat ...
- Python三种方法计算皮尔逊相关系数以及实现给定数据集,返回数据集中每个特征和标签的相关系数
特征预处理完之后,我们需要选择有意义的特征作为输入机器学习的算法和模型进行训练 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数( ...
- 用皮尔逊相关系数检查特征间的线性相关关系
1.1 皮尔逊相关系数 1.1.1 简介 是一种度量两个变量间线性相关程度的方法.协方差作为描述X和Y相关程度的量,在同一物理量纲之下有一定的作用,但同样的两个量采用不同的量纲使它们的协方差在数值上表 ...
- Python--如何计算皮尔逊相关系数(Pearson correlation coefficient)
皮尔逊系数 在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation ...
最新文章
- vue下的bootstrap table + jquery treegrid, treegrid无法渲染的问题
- 年度最理性 AI 分析文章:预测 AI 未来,大部分人陷入了 7 大误区
- python字典数据类型笔记_Python学习笔记整理(六)Python中的字典
- 跟人聊天的总结:为什么选择SAP
- mt6735通用recovery_山寨4G V8主板MT6735线刷机包
- Java-增强for循环
- appearance—外观样式属性
- linux就该这么学第八课
- python调用r语言加载包错误_Python中调用R语言包指南.docx
- Word 2003快速输入技巧
- angular访问后台服务及监控会话超时的封装实现
- Appcan性能低?速度慢?UI难看?与apicloud用数据说话
- java基础知识学习重点总结
- Win7系统怎么获取administrator权限?获取administrator权限的方法
- 如何用控制面板打开计算机配置,如何查看电脑的配置?学会下面几种方法,你就可以自己看电脑配置...
- 现在做网站依然可以赚钱
- php curl如何确定数据格式正确,PHP CURL没有正确处理编码的返回数据
- Trying to access array offset on value of type null
- Hololens开发笔记_常见错误汇总
- Win8上Service程序及外部App调用此Service