数学建模学习笔记(十一)三大相关系数(pearson[皮尔森]、spearman[斯皮尔曼] 和 kendall[肯德尔])
【摘要】
三大相关系数分别是pearson[皮尔森]、spearman[斯皮尔曼] 和 kendall[肯德尔] 反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示正...
三大相关系数分别是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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。
原文链接:zstar.blog.csdn.net/article/details/113141731
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)