Kendall 順位相関係数の定義と確率分布

確率・統計
Sponsored

この記事では、2配列の順序の相関を表す指標である、Kendall 順位相関係数について解説する。

まず、同義の Kendall の \(\tau\) (タウ)を最も簡単な形式で定義した後、2配列間の相関係数としてそれを拡張する。

また、この指標は取り得る値の確率分布を計算できるという利点があり、それを求める手法についても紹介する。

定義と拡張

単純な定義

\(n\) 個の異なる数の配列 \(a\) について、すべての可能な2つの組み合わせに関し、

  • より右にある数字の方が大きい組をconcordant pair
  • より右にある数字の方が小さい組を discordant pair

とする。このとき、スコア \(S\) を

$$S\equiv(\mathrm{concordant\ pair}の数)-(\mathrm{discordant\ pair} の数)\tag{1}$$

で定義し、これをすべての可能な組み合わせの数 \({}_{n}\mathrm{C}_{2}=\frac{n(n-1)}{2}\) で割った

$$\tau\equiv\frac{2S}{n(n-1)}\tag{2}$$

Kendallの \(\tau\) という。

具体例

数列

$$a=[4\quad7\quad2\quad10\quad3\quad6\quad8\quad1\quad5\quad9]$$

について

$$S=+3-2+5-6+3+0-1+2+1=+5$$

$$\tau=\frac{2\cdot5}{10\cdot9}=\frac{1}{9}=+0.11$$

となる。

なお、 \(S\) の計算に際し、各数字の右にある数字について

$$(より大きい数字の個数)-(より小さい数字の個数)$$

を一番左の数字(4)から順次求めていくことで計算した。

定義の拡張

「具体例」で考えた数列 \(a\) に、完全にソートされた数列 \(b\) を並べてみる。

$$a=[4\quad7\quad2\quad10\quad3\quad6\quad8\quad1\quad5\quad9]$$

$$b=[1\quad2\quad3\quad4\quad5\quad6\quad7\quad8\quad9\quad10]$$

逆に \(a\) をソートして、 \(b\) の対応する要素を並び替えると

$$a'=[1\quad2\quad3\quad4\quad5\quad6\quad7\quad8\quad9\quad10]$$

$$b'=[8\quad3\quad5\quad1\quad9\quad6\quad2\quad7\quad10\quad4]$$

となるが、この数列 \(b'\) について \(S\) と \(\tau\) を求めても同様の結果になる。

より一般化するために、 \(a,b\) の対応関係を保ったままシャッフルした場合を考える。

$$A=[3\quad7\quad9\quad4\quad1\quad10\quad8\quad2\quad5\quad6]$$

$$B=[5\quad2\quad10\quad1\quad8\quad4\quad7\quad3\quad9\quad6]$$

ここで、数列の名前を新たに置きなおした。

一方をソートして、もう一方について \(S, \tau\) を求めることで再び同様の結果が得られるが、以下の方法を用いれば、ソートを行わずに計算を行うことができる。

そのためには、concordant/discordant pair の再定義を行う。

\(A, B\) の \(m, n\) 番目の数をそれぞれ \(p_{m}=(A_{m}, B_{m}), p_{n}=(A_{n}, B_{n})\) と書き、 \(p_{m}\) と \(p_{n}\) を組として見たとき、

  • 「 \(A_{m}< A_{n}, B_{m}< B_{n}\) 」または「 \(A_{m}> A_{n}, B_{m}> B_{n}\) 」となる組を concordant pair
  • 「 \(A_{m}< A_{n}, B_{m}> B_{n}\) 」または「 \(A_{m}> A_{n}, B_{m}< B_{n}\) 」となる組をdiscordant pair

とする。

すなわち、 \(A, B\) に関し、 \(m, n\) 番目において大小関係が同一の場合に concordant pair となる。

これを用いて式 \((1), (2)\) で \(S, \tau\) をそれぞれ計算することで、やはり同じ結果が得られる。

ソートされた \(b\) を用いた先程の例は、 \(m< n\) について常に (b_{m}< b_{n}\) が成り立つという特例であることを考えると、これは自然な一般化であるといえる。

\(\tau\) の値は \(a, b\) が同順序で並んでいるときに最大値 \(+1\) 、逆順序で並んでいるときに最小値 \(-1\) をとる。

すなわち、 \(\tau\) は2つの数列の順序的関係(順位相関)を表す指標として用いることができる。

この意味で用いられるとき、 \(\tau\) はとくに Kendallの順位相関係数と呼ばれる。

また、数列だけでなく文字列など、一般的な配列の順序に応用することができる。

確率分布

Kendall の順位相関係数の便利な特徴として、その確率分布を解析的に求められる点が挙げられる。

明らかに分布は左右対称であり、平均は \(0\) である。

また

$$z\equiv\tau\sqrt{\frac{9n(n-1)}{2(2n+5)}}$$

という統計量 \(z\) を定義したとき、この \(z\) は標準正規分布 \(\mathcal{N}(0, 1)\) にしたがう。

証明は

Kendall 順位相関係数の確率分布を導出する
概要 この記事では、Kendall 順位相関係数を用いて計算した統計量が、標準正規分布にしたがうことの証明を行う。 Kendall 順位相関係数の定義については を参照のこと。 命題 Kendall 順位相関係数 \(\tau\) を用いて...

にて与える。

これにより、2つの配列の順序間に有意な相関があるかを検定することができる。

Comments