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 个变量作为参数)。相关矩阵是正方形的,长度等于
a
和b
中变量(列或行)的总数。- pvaluefloat
假设检验的 p 值,其零假设是两组数据线性不相关。有关备择假设,请参见上面的 alternative。pvalue 的形状与 statistic 相同。
参考文献
[CRCProbStat2000] 第 14.7 节