當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy stats.somersd用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.somersd 的用法。

用法:

scipy.stats.somersd(x, y=None, alternative='two-sided')#

計算 Somers 的 D,一種序數關聯的不對稱度量。

與 Kendall 的 一樣,Somers 的 是衡量兩個排名之間對應關係的指標。這兩個統計數據都考慮了兩個排名 中一致和不一致對的數量之間的差異,並且兩者都進行了歸一化,使得接近 1 的值表示高度一致,接近 -1 的值表示高度不一致。它們的標準化方式不同。為了顯示這種關係,Somers 的 可以根據 Kendall 的 來定義:

假設第一排名 具有 不同排名,第二排名 具有 不同排名。這兩個 排名列表也可以被視為 列聯表;其中元素 是排名 中排名 和排名 中排名 的排名對的數量。因此,somersd 還允許輸入數據作為單個 2D 列聯表提供,而不是作為兩個單獨的 1D 排名提供。

請注意,Somers 的 的定義是不對稱的:通常是 somersd(x, y) 計算 Somers 的 :“row” 變量 被視為自變量,而 “column” 變量 是因變量。對於 Somers 的 ,交換輸入列表或轉置輸入表。

參數

x array_like

一維排名數組,被視為(行)自變量。或者,二維列聯表。

y 數組,可選

如果 x 是排名的一維數組,則 y 是相同長度的排名的一維數組,被視為(列)因變量。如果 x 是 2D,則忽略 y。

alternative {‘雙麵’,‘less’, ‘greater’},可選

定義備擇假設。默認為“雙麵”。提供以下選項: * ‘two-side’:等級相關性非零 * ‘less’:等級相關性為負(小於零) * ‘greater’:等級相關性為正(大於零)

返回

res SomersDResult

具有以下字段的 SomersDResult 對象:

statistic float

The Somers’ statistic.

pvalue float

The p-value for a hypothesis test whose null hypothesis is an absence of association, . See notes for more information.

table 2D array

The contingency table formed from rankings x and y (or the provided contingency table, if x is a 2D array)

注意

該函數遵循列聯表方法[2][3].p-值是根據零假設下的檢驗統計分布的漸近近似計算的\(D=0\) .

理論上,基於 Kendall 的假設檢驗\(tau\) 和薩默斯\(D\) 應該是相同的。然而p-返回的值scipy.stats.kendalltau是基於零假設獨立之間\(X\) \(Y\) (即配對的人口\(X\) \(Y\) 被采樣包含相同數量的所有可能對),這比零假設更具體\(D=0\) 在這裏使用。如果需要獨立的零假設,則可以使用p-返回的值scipy.stats.kendalltau與返回的統計數據somersd反之亦然。有關詳細信息,請參閱[2].

列聯表的格式根據 SAS 和 R 使用的約定:提供的第一個排名 (x ) 是 “row” 變量,提供的第二個排名 (y ) 是 “column” 變量。這與 Somers 原始論文 [1] 的慣例相反。

參考

[1]

Robert H. Somers,“序變量關聯的新不對稱度量”,美國社會學評論,卷。 27,第 6 期,第 799-811 頁,1962 年。

[2] (1,2)

Morton B. Brown 和 Jacqueline K. Benedetti,“雙向列聯表中相關性檢驗的抽樣行為”,美國統計協會雜誌,第 1 卷。 72,第 358 期,第 309-315 頁,1977 年。

[3]

SAS Institute, Inc.,“The FREQ Procedure (Book Excerpt)”,SAS/STAT 9.2 用戶指南,第二版,SAS Publishing,2009。

[4]

Laerd Statistics,“Somers' d using SPSS Statistics”,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 名客戶對調查進行了回應,結果被放入列聯表中,其中酒店房間清潔度作為 “row” 變量,客戶滿意度作為 “column” 變量。

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

Somers’D 統計量的值約為 0.6,表明樣本中房間清潔度與客戶滿意度之間呈正相關。 p 值非常小,表明在整個總體(我們從中抽取 189 個客戶的樣本)的統計數據為零的原假設下,觀察到統計數據極值的概率非常小。這支持了另一種假設,即總體的 Somers D 的真實值不為零。

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.somersd。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。