欢迎大家来到IT世界,在知识的湖畔探索吧!
在这之前先聊点基础的
方差和标准差都用来描述数据的离散程度,越小说明数据越集中。
需要注意的是,标准差和方差的大小只和数据本身的距离有关,如果数值大,但是间距小,那么标准差就是小的,所以不要觉得数值大一定是标准差也会大
协方差与相关系数:
协方差是一个数字,协方差矩阵是矩阵,不要被协方差的名字吓到了
也可以写成如下,E就是期望,可以用平均值来代替
协方差的含义是反应两个变量的协同关系, 变化趋势是否一致,如果协方差为正数,代表是同方向变化,反之就是反方向变化。同时协方差的数值越大,说明两个变量同向程度也就越大。(有没有觉得这个和相关系数非常像)
相关系数就是在协方差的基础上,除以了x和y的标准差,其实就相当于对协方差做了一个线性拉伸变换,就是协方差的归一化,是无量纲的。但是相关系数的好处就是范围限定在【-1,1】之间,越接近于1说明越相关。
也有的地方不写协方差和标准差,而是用x,均值这种东西,具体过程可以参考下面的例子
pearsonr相关系数
pearsonr相关系数的定义和传统的相关系数一模一样,python中的代码也是很简单
import numpy as np >>> from scipy import stats >>> x, y = [1, 2, 3, 4, 5, 6, 7], [10, 9, 2.5, 6, 4, 3, 2] >>> res = stats.pearsonr(x, y) >>> res PearsonRResult(statistic=-0.8428, pvalue=0.0)
欢迎大家来到IT世界,在知识的湖畔探索吧!
输入x矩阵,y矩阵,返回的结果包括相关系数和显著性P值,P值用来衡量是否具有显著相关性,这个案例中相关系数很高(虽然是负数),P小于0.05就说明显著负相关。
Spearman 秩阶相关系数
简单来说,personr相关系数是研究两个原始数据之间的相关性,Spearman 不是研究原始数据之间的相关性,而是基于两个变量的秩次来研究。说人话就是,比如研究血红蛋白含量与贫血的相关性,血红蛋白是连续的数值,比如100,99,98.5这些含量,但是贫血特征是不连续的,被分为阴性贫血,严重贫血,一般贫血这些概念。因此一个变量连续,一个变量离散,就需要将这两者都进行编秩,然后使用personr相关系数进行计算
欢迎大家来到IT世界,在知识的湖畔探索吧!import numpy as np >>> # total collagen (mg/g dry weight of liver) >>> x = np.array([7.1, 7.1, 7.2, 8.3, 9.4, 10.5, 11.4]) >>> # free proline (μ mole/g dry weight of liver) >>> y = np.array([2.8, 2.9, 2.8, 2.6, 3.5, 4.6, 5.0])
>>> from scipy import stats >>> res = stats.spearmanr(x, y) >>> res.statistic 0.00001
代码和personr几乎一样,非常简单
kendalltau一致性检验
具体来说,kendalltau不应该算是相关系数了,而是所谓的一致性,也就是A增加,B也增加,这叫一致性,至于A增加了多少,B增加的是多还是少都不管他的事情了。
欢迎大家来到IT世界,在知识的湖畔探索吧!import numpy as np >>> # total collagen (mg/g dry weight of liver) >>> x = np.array([7.1, 7.1, 7.2, 8.3, 9.4, 10.5, 11.4]) >>> # free proline (μ mole/g dry weight of liver) >>> y = np.array([2.8, 2.9, 2.8, 2.6, 3.5, 4.6, 5.0])
>>> from scipy import stats >>> res = stats.kendalltau(x, y) >>> res.statistic 0.99999
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/81669.html