この記事では、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)\) にしたがう。
証明は

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