scipy.stats.somersd¶
- scipy.stats.somersd(x, y=None, alternative='two-sided')[源代码]¶
计算萨默斯D,这是一种不对称的序数关联度量。
就像肯德尔的 \(\tau\) ,萨默斯的 \(D\) 是衡量两个排名之间对应程度的指标。这两个统计量都考虑了两个排名中一致对和不一致对的数量差异 \(X\) 和 \(Y\) ,并且两者都经过标准化,接近1的值表示强烈一致,接近-1的值表示强烈不一致。它们在标准化方式上有所不同。为了表明这种关系,萨默斯 \(D\) 可以用肯德尔的 \(\tau_a\) :
\[D(Y|X)=\frac{\tau_a(X,Y)}{\tau_a(X,X)}\]假设第一个排名 \(X\) 有 \(r\) 鲜明的排名和第二的排名 \(Y\) 有 \(s\) 不同的等级。这两份名单 \(n\) 排名也可以被视为 \(r \times s\) 列联表中的元素 \(i, j\) 是具有秩的秩对的数目 \(i\) 在排名中 \(X\) 和排名 \(j\) 在排名中 \(Y\) 。因此,
somersd
还允许将输入数据作为单个2D列联表提供,而不是作为两个独立的1D排名。请注意,萨默斯的定义 \(D\) 是不对称的:一般来说, \(D(Y|X) \neq D(X|Y)\) 。
somersd(x, y)
计算萨默斯的 \(D(Y|X)\) :“row”变量 \(X\) 被视为独立变量,而“column”变量 \(Y\) 是依赖的。为了萨默斯的 \(D(X|Y)\) ,交换输入列表或调换输入表。- 参数
- x: array_like
一维排名数组,视为(行)自变量。或者,二维列联表。
- y: array_like, optional
如果 x 是一维的排名数组, y 是相同长度的排名的一维数组,被视为(列)依赖变量。如果 x 是二维的, y 被忽略。
- alternative{‘双面’,‘少’,‘大’},可选
定义了另一种假设。默认值为“双面”。以下选项可用: * 'two-sided': the rank correlation is nonzero * ‘小于’:等级相关为负(小于零)*‘大于’:等级相关为正(大于零)
- 退货
- resSomersDResult
A SomersDResult 具有以下字段的对象:
- 相关性浮动
萨默家的 \(D\) 统计数据。
- p值浮动
假设检验的p值,该假设检验的零假设是没有关联, \(D=0\) 。有关详细信息,请参阅备注。
- 表格二维阵列
由排序形成的列联表 x 和 y (或所提供的联想表,如果 x 是二维数组)
参见
kendalltau
计算肯德尔的τ,这是另一个相关性指标。
weightedtau
计算Kendall的τ的加权版本。
spearmanr
计算Spearman秩相关系数。
pearsonr
计算皮尔逊相关系数。
注意事项
This function follows the contingency table approach of [2] and [3]. p-values are computed based on an asymptotic approximation of the test statistic distribution under the null hypothesis \(D=0\).
从理论上讲,基于肯德尔的假设检验 \(tau\) 和萨默斯的 \(D\) 应该是一样的。然而, p -返回的值
kendalltau
是基于以下零假设的 独立 之间 \(X\) 和 \(Y\) (即配对来自的群体 \(X\) 和 \(Y\) 采样包含相等数量的所有可能对),这比零假设更具体 \(D=0\) 在这里用的。如果需要独立的零假设,则可以使用 p -返回的值kendalltau
使用由返回的统计信息somersd
反之亦然。有关详细信息,请参阅 [2].列联表根据SAS和R使用的约定进行格式化:提供的第一个等级 (
x
)是“row”变量,并提供第二个排名 (y
)是“column”变量。这与萨默斯原创论文的惯例背道而驰。 [1].参考文献
- 1
罗伯特·H·萨默斯,“序数变量关联性的一种新的不对称度量”, 美国社会学评论 ,第27卷第6期,第799-811页,1962年。
- 2(1,2)
莫顿·布朗和杰奎琳·K·贝内代蒂,“双向列联表中相关性检验的抽样行为”, 美国统计协会杂志 第72卷,第358号,第309--315页,1977年。
- 3
SAS研究所,Inc.,“The Freq Procedure(图书摘录)”, SAS/STAT 9.2 User's Guide, Second Edition ,SAS Publishing,2009。
- 4
Laerd Statistics,“Somers‘d Using SPSS Statistics”, SPSS统计教程和统计指南 ,https://statistics.laerd.com/spss-tutorials/somers-d-using-spss-statistics.php,于2020年7月31日访问。
示例
对于文[1]中给出的例子,我们计算了萨默斯D [4], 其中连锁酒店所有者试图确定酒店房间整洁程度和顾客满意度之间的关联。自变量酒店房间清洁度按顺序排列:“低于平均水平(1)”、“平均水平(2)”或“高于平均水平(3)”。因变量顾客满意度被排在第二个等级上:“非常不满意(1)”、“中度不满意(2)”、“既不满意也不满意(3)”、“中等满意(4)”或“非常满意(5)”。189名顾客对调查进行了回复,结果被转换成一个联想表,将酒店房间的清洁度作为“行”变量,将客户满意度作为“列”变量。
27
25
14
7
0
7
14
18
35
12
1
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
萨默斯D统计值约为0.6,表明样本中房间整洁程度与顾客满意度呈正相关。这个 p -值非常小,表明在整个人群(我们189个客户的样本)的统计量为零的零假设下,观察到统计量的极值的概率非常小。这支持了另一种假设,即总体的萨默斯D的真值为非零。