概念介绍

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

相关性

绝对值

无相关

0 - 0.09

弱相关

0.1 - 0.3

中相关

0.3 - 0.5

强相关

0.5 - 1

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

Pearson(皮尔逊)相关系数

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

公式

python 求相关系数 pythonpearson相关系数_数学建模


也可以化简为

python 求相关系数 pythonpearson相关系数_python 求相关系数_02

适用范围

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

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

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

spearman相关系数

python 求相关系数 pythonpearson相关系数_数学建模_03

Python实现

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

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

python 求相关系数 pythonpearson相关系数_python_04


在使用相关系数之前要画出变量之间的散点,观察是否为线性关系

这里用的数据是随机生成的,不符合规律,仅用于练习,在数学建模中不会出现这种数据的。

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

python 求相关系数 pythonpearson相关系数_数据_05

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

python 求相关系数 pythonpearson相关系数_数据_06

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

python 求相关系数 pythonpearson相关系数_python 求相关系数_07