线性相关评价方法、python.DataFrame.corr函数

1、pandas.DataFrame.corr

DataFrame.corr(method: {'pearson', 'kendall', 'spearman'})

相关方法:

pearson:标准相关系数

kendall:Kendall Tau相关系数

spearman:Spearman秩相关系数

解释:相关系数的取值范围为[-1,1],属于0.8-1:极强相关;属于0.6-0.8:强相关;属于0.4-0.6:中等程度相关;属于0.2-0.4:弱相关;0-0.2:极弱相关或无相关;

2、三种常见相关系数及适用范围

(1)pearson相关系数:度量两变量x和y之间的线性关系,样本协方差除以x的标准差与y的标准差的乘积

公式:​$$r_{x y}=\frac{s_{x y}}{s_{x} s_{y}}$$

其中, $$r_{x y}$$为样本相关系数; $$s_{x y}$$为样本协方差; $$s_{x}$$为x的样本标准差; $$s_{y}$$为y的样本标准差;

数据:x,y都是随机变量,双变量正态分布,在求pearson相关系数后,通常用t检验方法进行pearson相关系数检验,而t检验是基于数据呈正态分布的假设的;实验数据之间的差距不能太大。

import pandas as pd
import numpy as np
x=pd.Series([1,2,3,4,5,6])
y=pd.Series([0.3,0.9,2.7,2,3.5,5])
print(x.mean(),y.mean()) # 平均值
print(x.var(),y.var())  #方差
print(x.std(),y.std())  # 标准差
print("协方差",x.cov(y)) # 协方差
print("pearson相关系数",x.corr(y,method="pearson")) # pearson相关系数

(2)spearman相关系数,称为秩相关系数

主要用于计算不服从正态分布的数据、原始等级数据、一侧开口数据、总体分布类型未知的数据;

公式:​$$r_{s}=1-\frac{6 \sum_{i=1}^{n} d_{i}^{2}}{n\left(n^{2}-1\right)}$$

其中,n为样本中观测值的个数; $$ x_{i}$$为对于第一个变量的第i个观测值的秩;$$ y_{i}$$ 为对于第二个变量的第i个观测值的秩;$$ d_{i}=x_{i}-y_{i}$$

x1.corr("spearman相关系数",x.corr(y,method="spearman"))

(3)kendall相关系数

表示等级变量相关程度的一种方法,定义:n个同类的统计对象按特定属性排序,其他属性通常是乱序的。同序对和异序对之差与总对数(n*(n-1)/2) 的比值定义为kendall秩相关系数。

公式:​ $$\tau=\frac{2 P}{\frac{1}{2} n(n-1)}-1=\frac{4 P}{n(n-1)}-1$$

其中,n是数据样本量,P为两个变量值排列大小关系一致的统计对象对数。kendall stau系数性质:

  • 如果两个变量排名是相同的,系数为1,两个变量正相关;
  • 如果两个变量排名完全相反,系数为-1 ,两个变量负相关;

  • 如果排名是完全独立的,系数为0;

     

     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章