数学建模学习笔记(十一)三大相关系数(pearson[皮尔森]、spearman[斯皮尔曼] 和 kendall[肯德尔])

三大相关系数分别是pearson[皮尔森]、spearman[斯皮尔曼] 和 kendall[肯德尔]
反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示正相关,负值表示负相关,值越大表示相关性越强。

三大相关公式参考:公式链接

翻阅资料,文字说明简直让人头晕雾绕,在此写下我对它们的简单理解,如有不正确的地方烦请指出

pearson相关系数是考察数据间的线性相关性,数值为[-1,1],1代表它们正线性相关,-1代表它们负线性相关。

spearman秩相关系数,秩代表顺序,比如序列A:1,2,3,4,5,序列B:-1,0,1,4,5,大小顺序一样,则该相关系数为1

kendall秩相关系数:也是顺序,和spearman相比,所计算的对象是分类变量。举个例子。比如评委对选手的评分(优、中、差等),我们想看两个(或者多个)评委对几位选手的评价标准是否一致;或者医院的尿糖化验报告,想检验各个医院对尿糖的化验结果是否一致,这时候就可以使用肯德尔相关性系数进行衡量。

pandas代码:

# coding: utf-8
import numpy as np
import pandas as pd
 
def Pearson(df): # 计算 Pearson 相关系数
    return df.corr()
 
def Kendall(df): # 计算 Kendall Tau 相关系数
    return df.corr('kendall')
 
def Spearman(df): # 计算 Spearman 秩相关
    return df.corr('spearman')
 
if __name__ == "__main__":
    df = pd.DataFrame({'A': np.random.randint(1, 100, 10),  # low、high、size
                       'B': np.random.randint(1, 100, 10),
                       'C': np.random.randint(1, 100, 10)})
    print df
    print "Pearson"
    print Pearson(df)
    print "Kendall Tau"
    print Kendall(df)
    print "Spearman:"
    print Spearman(df)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zstar-_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值