somersd#
- scipy.stats.somersd(x, y=None, alternative='two-sided')[源代码][源代码]#
计算 Somers’ D,一种有序关联的非对称度量。
像 Kendall 的 :math:` au` 一样,Somers 的 \(D\) 是衡量两个排名之间对应关系的一个指标。这两个统计量都考虑了两个排名 \(X\) 和 \(Y\) 中一致对和不一致对的数量差异,并且都被标准化,使得接近 1 的值表示强一致,接近 -1 的值表示强不一致。它们在标准化方式上有所不同。为了展示这种关系,Somers 的 \(D\) 可以用 Kendall 的 :math:` au_a` 来定义:
\[D(Y|X) = \frac{\tau_a(X, Y)}{\tau_a(X, X)}\]假设第一个排名 \(X\) 有 \(r\) 个不同的等级,第二个排名 \(Y\) 有 \(s\) 个不同的等级。这两个包含 \(n\) 个排名的列表也可以被视为一个 \(r imes s\) 的列联表,其中元素 \(i, j\) 是排名对中在排名 \(X\) 中等级为 \(i\) 且在排名 \(Y\) 中等级为 \(j\) 的数量。因此,
somersd
也允许输入数据作为一个单一的二维列联表提供,而不是作为两个单独的一维排名。注意,Somers’ \(D\) 的定义是不对称的:一般来说,\(D(Y|X) eq D(X|Y)\)。
somersd(x, y)
计算 Somers’ \(D(Y|X)\):“行”变量 \(X\) 被视为自变量,而“列”变量 \(Y\) 是因变量。对于 Somers’ \(D(X|Y)\),交换输入列表或转置输入表。- 参数:
- xarray_like
排名的一维数组,被视为(行)自变量。或者,一个二维列联表。
- y类似数组, 可选
如果 x 是一个排名的一维数组,y 是一个相同长度的一维排名数组,被视为(列)因变量。如果 x 是二维的,y 将被忽略。
- 替代方案{‘双侧’, ‘小于’, ‘大于’}, 可选
定义备择假设。默认是 ‘two-sided’。以下选项可用:* ‘two-sided’:秩相关性非零 * ‘less’:秩相关性为负(小于零) * ‘greater’:秩相关性为正(大于零)
- 返回:
- resSomersDResult
一个包含以下字段的 SomersDResult 对象:
- 统计浮动
Somers’ \(D\) 统计量。
- p值浮动
假设检验的p值,其零假设是没有关联,\(D=0\)。更多信息请参见注释。
- 表格二维数组
由排名 x 和 y 形成的列联表(如果 x 是二维数组,则使用提供的列联表)
参见
kendalltau
计算 Kendall 的 tau,另一种相关性度量。
weightedtau
计算Kendall’s tau的加权版本。
spearmanr
计算斯皮尔曼等级相关系数。
pearsonr
计算皮尔逊相关系数。
注释
此函数遵循 [2] 和 [3] 的列联表方法。p 值是基于零假设 \(D=0\) 下检验统计量分布的渐近近似计算的。
理论上,基于 Kendall’s \(tau\) 和 Somers’ \(D\) 的假设检验应该是相同的。然而,
kendalltau
返回的 p 值是基于 X 和 Y 之间的 独立性 的零假设(即从 \(X\) 和 \(Y\) 中抽取的对的总体包含所有可能对的数量相等),这比这里使用的零假设 \(D=0\) 更具体。如果需要独立性的零假设,可以使用kendalltau
返回的 p 值与somersd
返回的统计量,反之亦然。更多信息,请参见 [2]。列联表根据SAS和R使用的约定进行格式化:提供的第一个排名 (
x
) 是“行”变量,提供的第二个排名 (y
) 是“列”变量。这与Somers原始论文 [1] 中的约定相反。参考文献
[1]Robert H. Somers, “一种新的有序变量的非对称关联度量”, 美国社会学评论, 第27卷, 第6期, 第799–811页, 1962年。
[2] (1,2)Morton B. Brown 和 Jacqueline K. Benedetti, “双向列联表中相关性检验的抽样行为”, 美国统计协会杂志 第72卷, 第358期, 第309–315页, 1977年。
[3]SAS Institute, Inc., “频率过程 (书籍摘录)”, SAS/STAT 9.2 用户指南, 第二版, SAS 出版社, 2009.
[4]Laerd Statistics, “使用SPSS Statistics的Somers’ d”, SPSS Statistics教程和统计指南, https://statistics.laerd.com/spss-tutorials/somers-d-using-spss-statistics.php, 访问于2020年7月31日。
示例
我们计算了在 [4] 中给出的示例的 Somers’ D,其中酒店连锁业主试图确定酒店房间清洁度与客户满意度之间的关联。自变量,即酒店房间清洁度,按顺序量表排名:“低于平均水平 (1)”、“平均水平 (2)”或“高于平均水平 (3)”。因变量,即客户满意度,按第二个量表排名:“非常不满意 (1)”、“中等不满意 (2)”、“既不满意也不满意 (3)”、“中等满意 (4)”或“非常满意 (5)”。189 名客户对调查做出了回应,结果被制成了一个列联表,其中酒店房间清洁度作为“行”变量,客户满意度作为“列”变量。
27
25
14
7
0
7
14
18
35
12
toctree
是一个 reStructuredText 指令 ,这是一个非常多功能的标记。指令可以有参数、选项和内容。3
2
7
17
例如,27位客户将其房间的清洁度评分为“低于平均水平 (1)”,相应的满意度为“非常不满意 (1)”。我们进行如下分析。
>>> from scipy.stats import somersd >>> table = [[27, 25, 14, 7, 0], [7, 14, 18, 35, 12], [1, 3, 2, 7, 17]] >>> res = somersd(table) >>> res.statistic 0.6032766111513396 >>> res.pvalue 1.0007091191074533e-27
Somers’ D 统计量的值约为 0.6,表明在样本中房间清洁度与客户满意度之间存在正相关关系。p 值非常小,表明在零假设下(即从我们样本的 189 名客户中抽取的整个人口的统计量为零),观察到如此极端的统计量值的概率非常小。这支持了备择假设,即 Somers’ D 在整个人口中的真实值是非零的。