首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数学建模学习笔记(十一)三大相关系数(pearson[皮尔森]、spearman[斯皮尔曼] 和 kendall[肯德尔])

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

作者头像
zstar
发布2022-06-14 09:43:22
发布2022-06-14 09:43:22
3.3K0
举报
文章被收录于专栏:往期博文往期博文

三大相关系数分别是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代码:

代码语言:javascript
复制
# 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)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档