首页 > 编程知识 正文

皮尔逊相关系数分析的优缺点,相关性分析采用皮尔逊系数

时间:2023-05-03 07:40:50 阅读:237394 作者:1619

mtdnm相关系数是统计学中三大相关系数之一
具有非常好的使用场景,对于解决我们生活中的排名类的问题时使用的比较多,其实大家更多的知道的相关系数是皮尔逊(person)相关系数,这个相关系数我们也会在后面的文章中介绍。
一、mtdnm相关系数的使用场景:
mtdnm等级相关(Spearman’s correlation coefficient for ranked data)主要用于解决名称数据和顺序数据相关的问题。适用于两列变量,而且具有等级变量性质具有线性关系的资料。由英国心理学家、统计学家mtdnm根据积差相关的概念推导而来,一些人把mtdnm等级相关看做积差相关的特殊形式。
二、mtdnm(spearman)相关系数的理解
mtdnm相关性系数,通常也叫mtdnm秩相关系数。“秩”,可以理解成就是一种顺序或者排序,那么它就是根据原始数据的排序位置进行求解
(1)公式
首先对两个变量(X, Y)的数据进行排序,然后记下排序以后的位置(X’, Y’),(X’, Y’)的值就称为秩次,秩次的差值就是上面公式中的di,n就是变量中数据的个数,最后带入公式就可求解结果。

(2)数据要求
因为是定序,所以我们不用管X和Y这两个变量具体的值到底差了多少,只需要算一下它们每个值所处的排列位置的差值,就可以求出相关性系数了

三、mtdnm(spearman)相关系数的python代码实现

import pandas as pdimport numpy as npX1=pd.Series([1, 2, 3, 4, 5, 6])Y1=pd.Series([0.3, 0.9, 2.7, 2, 3.5, 5]) #处理数据删除Nanx1=X1.dropna()y1=Y1.dropna()n=x1.count()x1.index=np.arange(n)y1.index=np.arange(n) #分部计算d=(x1.sort_values().index-y1.sort_values().index)**2#就是排序后的排名方差dd=d.to_series().sum()p=1-n*dd/(n*(n**2-1))



其实在pandas中已经有人给你写好了相关系数的函数我们只需要直接使用就可以了,corr()函数中有method参数就是可以选择使用相关系数的种类,我们只需要method='spearman’就可以了

#s.corr()函数计算r=x1.corr(y1,method='spearman')#pandas自带函数corrprint(r,p)

结果对比
#0.942857142857143 0.9428571428571428

在这边我写了大量的mtdnm相关系数是为了让自己和大家都记住这个名称,不管是以后跟人装逼来满足自己的优越感或者是让自己更趋近于专业都需要技术这个专业名字,主要是在面试中,一般的面试官是不会的,你说出他会感觉你好牛逼,说不定多了1k的工资呢,积少成多,加油吧,少年~

-----------------------------分享结束线------------------------------

喜欢可以关注【小猪课堂】公众号了解更多编程小技巧

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。