皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)

概念介绍

相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度。
相关系数大小解释

相关性 绝对值
无相关 0 - 0.09
弱相关 0.1 - 0.3
中相关 0.3 - 0.5
强相关 0.5 - 1

表中所定的标准从某种意义上说是武断的和不严格的。
对相关系数的解释是依赖于具体的应用背景和目的。

Pearson(皮尔逊)相关系数

简介:皮尔逊相关也称为积差相关(或积矩相关)是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的方法。

公式
在这里插入图片描述
也可以化简为
皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第1张图片

适用范围

  • 两个变量之间是线性关系,都是连续数据。
  • 两个变量的总体是正态分布,或接近正态的单峰分布。
  • 两个变量的观测值是成对的,每对观测值之间相互独立。

总结起来为三个关键词:【连续数据】、【正态分布】、【线性关系】

若不满足以上任一条件,则使用spearman相关系数

spearman相关系数皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第2张图片

Python实现

#导入包
import pandas as pd
import matplotlib.pyplot as plt

#导入数据
dates = pd.read_csv(r"C:\Users\八年级女生体测数据.csv",encoding='gbk')
#查看开头几行数据
dates.head()

皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第3张图片
在使用相关系数之前要画出变量之间的散点,观察是否为线性关系
这里用的数据是随机生成的,不符合规律,仅用于练习,在数学建模中不会出现这种数据的。

X0 = dates.iloc[:]['身高']
X1 = dates.iloc[:]['体重']
X2 = dates.iloc[:]['肺活量']
#画出身高与体重的散点图
plt.scatter(X0,X1)

皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第4张图片

date = dates[['身高','体重','肺活量','50米跑','立定跳远','坐位体前屈']]
date.corr()#计算皮尔逊相关系数

皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第5张图片

date.corr('spearman')#计算spearman相关系数

皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)_第6张图片

相关数据及MATLAB代码

相关数据和代码已经放在了【茶谈大数据】公众号

参考内容

https://blog.csdn.net/qq_30142403
https://blog.csdn.net/weixin_43172660

你可能感兴趣的:(数学建模常用模型【持续更新】)