scipy.stats.mstats.

spearmanr#

scipy.stats.mstats.spearmanr(x, y=None, use_ties=True, axis=None, nan_policy='propagate', alternative='two-sided')[源代码]#

计算斯皮尔曼秩相关系数和用于检验非相关的 p 值。

斯皮尔曼相关性是非参数测量两个数据集之间线性关系的方法。与皮尔逊相关性不同,斯皮尔曼相关性不假设两个数据集都呈正态分布。与其他相关系数一样,此系数在 -1 和 +1 之间变化,0 表示没有相关性。相关性为 -1 或 +1 表示单调关系。正相关表示当 x 增加时,y 也增加。负相关表示当 x 增加时,y 减少。

缺失值是成对丢弃的:如果 x 中缺少一个值,则 y 中对应的值将被屏蔽。

p 值大致表示一个不相关的系统产生具有斯皮尔曼相关性的数据集(至少与从这些数据集计算出的相关性一样极端)的概率。p 值不是完全可靠的,但对于大于 500 左右的数据集来说可能是合理的。

参数:
x, y类数组一维或二维,y 是可选的

一个或两个包含多个变量和观测值的一维或二维数组。当这些是一维时,每个数组代表单个变量的观测值向量。对于二维情况下的行为,请参见下面的 axis

use_tiesbool,可选

不要使用。不执行任何操作,关键字仅为向后兼容性而保留。

axisint 或 None,可选

如果 axis=0(默认),则每一列表示一个变量,观测值在行中。如果 axis=1,则关系被转置:每一行表示一个变量,而列包含观测值。如果 axis=None,则两个数组都将被扁平化。

nan_policy{‘propagate’, ‘raise’, ‘omit’}, 可选

定义输入包含 nan 时如何处理。“propagate”返回 nan,“raise”引发错误,“omit”执行计算时忽略 nan 值。默认值为“propagate”。

alternative{‘two-sided’, ‘less’, ‘greater’}, 可选

定义备择假设。默认值为“two-sided”。以下选项可用

  • ‘two-sided’:相关性不为零

  • ‘less’:相关性为负(小于零)

  • ‘greater’:相关性为正(大于零)

在 1.7.0 版本中添加。

返回:
resSignificanceResult

包含属性的对象

statisticfloat 或 ndarray(二维正方形)

斯皮尔曼相关矩阵或相关系数(如果仅给出 2 个变量作为参数)。相关矩阵是正方形的,长度等于 ab 中变量(列或行)的总数。

pvaluefloat

假设检验的 p 值,其零假设是两组数据线性不相关。有关备择假设,请参见上面的 alternativepvalue 的形状与 statistic 相同。

参考文献

[CRCProbStat2000] 第 14.7 节