Python 語言 |Kendall Rank 相關系數

?

什么是相關性測試?

兩個變量之間的關聯強度稱為相關性檢驗。例如,如果我們有興趣知道父子的身高之間是否存在關系,可以計算相關系數來回答這個問題。

相關性分析方法:

主要有兩種類型的相關性:

參數相關性 – 皮爾遜相關性 (r) :它測量兩個變量(x 和 y)之間的線性依賴性被稱為參數相關性檢驗,因為它取決于數據的分布。
非參數相關 – Kendall(tau) 和 Spearman(rho): 它們是基于秩的相關系數,稱為非參數相關。
Kendall Rank 相關系數公式:

Python 語言 |Kendall Rank 相關系數的圖2?編輯

?

哪里

  • 一致對:屬性后面的一對觀測值 (x1, y1) 和 (x2, y2)
    • x1 > x2 和 y1 > y2 或
    • x1 < x2 和 y1 < y2
  • Discordant Pair:屬性后面的一對觀測值 (x1, y1) 和 (x2, y2)
    • x1 > x2 和 y1 < y2 或
    • x1 < x2 和 y1 > y2
  • n:樣本總數

注意:

其中的貨幣對

x1 = x2

y1 = y2

未分類為一致或不不一致,因此會被忽略。

例:

讓我們考慮下表中兩位專家對食品的排名。

項目 專家 1 專家 2
1 1 1
2 2 3
3 3 6
4 4 2
5 5 7
6 6 4
7 7 5

該表顯示,對于項目 1,專家 1 給出排名 1,而專家 2 也給出排名 1。同樣,對于項目 2,專家 1 給出等級 2,而專家 2 給出等級 3,依此類推。

步驟1:

首先,根據公式,我們必須找到一致對的數量和不一致對的數量。因此,請查看 item-1 和 item-2 行。設 for expert-1,

x1 = 1

x2 = 2

.同樣,對于 expert-2,

y1 = 1

y2 = 3

.所以條件

x1 < x2

Y1 < Y2

satisfies,我們可以說 item-1 和 item-2 行是一致的對。同樣,請查看 item-2 和 item-4 行。設 for expert-1,

x1 = 2

x2 = 4

.同樣,對于 expert-2,

y1 = 3

y2 = 2

.所以條件

x1 < x2

Y1 > Y2

satisfies,我們可以說 item-2 和 item-4 行是不一致的對。像這樣,通過比較每一行,你可以計算出一致和不一致對的數量。下表給出了完整的解決方案。

1
2 C
3 C C
4 C D D
5 C C C C
6 C C C D D
7 C C C C D D
1 2 3 4 5 6 7

步驟2:

所以從上表中,我們發現, 一致對的數量是: 15 不一致對的數量是: 6 樣本/項目的總數是: 7 因此通過應用 Kendall Rank Correlation Coefficient 公式

tau = (15 – 6) / 21 = 0.42857

這個結果表明,如果它基本上很高,那么兩位專家之間有廣泛的共識。否則,如果 expert-1 與 expert-2 完全不同,您甚至可能會得到負值。

kendalltau() :

在 Python 中計算 Kendall Rank 相關系數的 Python 函數

語法:kendalltau(x, y)
  • x, y:具有相同長度的數字列表

法典:

說明 Kendall Rank 相關性的 Python 程序

# Import required libraries
from scipy.stats import kendalltau

# Taking values from the above example in Lists
X = [1, 2, 3, 4, 5, 6, 7]
Y = [1, 3, 6, 2, 7, 4, 5]

# Calculating Kendall Rank correlation
corr, _ = kendalltau(X, Y)
print('Kendall Rank correlation: %.5f' % corr)

# This code is contributed by Amiya Rout

輸出:

Kendall Rank correlation: 0.42857

?

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

2
1