somersd#
- scipy.stats.somersd(x, y=None, alternative='two-sided')[source]#
計算 Somers' D,一種序數關聯性的非對稱量測。
如同 Kendall's \(\tau\),Somers' \(D\) 是一種量測兩個排序之間對應關係的方法。這兩個統計量都考量兩個排序 \(X\) 和 \(Y\) 中一致對和不一致對的數量差異,並且都經過正規化,使得接近 1 的值表示高度一致,而接近 -1 的值表示高度不一致。它們的差異在於正規化的方式。為了展示其關聯性,Somers' \(D\) 可以用 Kendall's \(\tau_a\) 表示
\[D(Y|X) = \frac{\tau_a(X, Y)}{\tau_a(X, X)}\]假設第一個排序 \(X\) 有 \(r\) 個不同的等級,而第二個排序 \(Y\) 有 \(s\) 個不同的等級。這兩個包含 \(n\) 個排序的列表也可以視為一個 \(r \times s\) 列聯表,其中元素 \(i, j\) 是在排序 \(X\) 中等級為 \(i\) 且在排序 \(Y\) 中等級為 \(j\) 的等級對的數量。因此,
somersd
也允許輸入資料以單一的二維列聯表形式提供,而不是兩個獨立的一維排序。請注意,Somers' \(D\) 的定義是非對稱的:一般而言,\(D(Y|X) \neq D(X|Y)\)。
somersd(x, y)
計算 Somers' \(D(Y|X)\):「列」變數 \(X\) 被視為自變數,而「行」變數 \(Y\) 是應變數。若要計算 Somers' \(D(X|Y)\),請交換輸入列表或轉置輸入表格。- 參數:
- xarray_like
一維排序陣列,被視為(列)自變數。或者,二維列聯表。
- yarray_like, optional
如果 x 是一維排序陣列,則 y 是相同長度的一維排序陣列,被視為(行)應變數。如果 x 是二維,則 y 會被忽略。
- alternative{‘two-sided’, ‘less’, ‘greater’}, optional
定義對立假設。預設值為 ‘two-sided’。以下選項可用: * ‘two-sided’:等級相關性為非零 * ‘less’:等級相關性為負(小於零) * ‘greater’:等級相關性為正(大於零)
- 回傳值:
- resSomersDResult
一個 SomersDResult 物件,包含以下欄位
- statisticfloat
Somers' \(D\) 統計量。
- pvaluefloat
假設檢定的 p 值,其虛無假設為無關聯性,\(D=0\)。詳情請參閱註解。
- table2D array
從排序 x 和 y 形成的列聯表(或提供的列聯表,如果 x 是二維陣列)
另請參閱
kendalltau
計算 Kendall's tau,另一種相關性量測方法。
weightedtau
計算 Kendall's tau 的加權版本。
spearmanr
計算 Spearman 等級順序相關係數。
pearsonr
計算 Pearson 相關係數。
註解
此函數遵循 [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, “A New Asymmetric Measure of Association for Ordinal Variables”, American Sociological Review, Vol. 27, No. 6, pp. 799–811, 1962.
[2] (1,2)Morton B. Brown and Jacqueline K. Benedetti, “Sampling Behavior of Tests for Correlation in Two-Way Contingency Tables”, Journal of the American Statistical Association Vol. 72, No. 358, pp. 309–315, 1977.
[3]SAS Institute, Inc., “The FREQ Procedure (Book Excerpt)”, SAS/STAT 9.2 User’s Guide, Second Edition, SAS Publishing, 2009.
[4]Laerd Statistics, “Somers’ d using SPSS Statistics”, SPSS Statistics Tutorials and Statistical Guides, https://statistics.laerd.com/spss-tutorials/somers-d-using-spss-statistics.php, Accessed July 31, 2020.
範例
我們計算 [4] 中給出的範例的 Somers' D,其中連鎖飯店業者試圖確定飯店房間清潔度與顧客滿意度之間的關聯性。自變數,飯店房間清潔度,在序數尺度上排名:「低於平均 (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
Somers' D 統計量的值約為 0.6,表示樣本中房間清潔度與顧客滿意度之間存在正相關。p 值非常小,表示在虛無假設(即,從中抽取我們的 189 位顧客樣本的整個母體的統計量為零)下觀察到如此極端統計量值的機率非常小。這支持了對立假設,即母體的 Somers' D 真實值為非零。