Open1

コピュラとその周辺の話(順位相関)

畳屋民也畳屋民也

順位相関

順位相関とはデータ値の大きさの順序関係をもとにデータの相関を定量化したものであり、データセット \left\{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\right\} が与えられた時、x の増加に伴い y も増加していれば値が1になり、逆に x の増加とともに y が減少していれば-1の値を取る。

順位相関にはスピアマンとケンドールの2種類がある。

スピアマンの順位相関

求め方

データセット \left\{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\right\} が与えられた時、\{x_1, x_2, ..., x_n\} を昇順に並べた際の x_i の順位を R_{x,i} とする。同様に R_{y,i}y の中での y_i の順位とする。

この時、スピアマンの順位相関は以下のように (R_x, R_y) のピアソン相関係数として計算される:

\begin{aligned} \hat{r}_s &= \frac{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )(R_{y,i} - \bar{R}_y)}{\sqrt{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2\sum_{i=1}^n (R_{y,i} - \bar{R}_y )^2}}\\ &=1 - \frac{6 \sum_{i=1}^n (R_{x,i} - R_{y,i})^2 }{n (n^2 - 1)}. \end{aligned}
式変形
\begin{aligned} \bar{R}_x &= \frac{1 + 2 + ... + n}{n}\\ &= \frac{n+1}{2}\\ \sum_{i=1}^n (R_{x,i})^2 &= 1 + 2^2 + ... + n^2\\ &= \frac{n(n+1)(2n+1)}{6} \end{aligned}

これらを用いると、

\begin{aligned} \sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2 &= \sum_{i=1}^n (R_{x,i})^2 - n (\bar{R}_x)^2\\ &= \frac{n(n+1)(2n+1)}{6} - \frac{n(n+1)(n+1)}{4}\\ &= \frac{n(n^2-1)}{12} \end{aligned}

\bar{R}_x=\bar{R}_y, \, \sum_{i=1}^n (R_{x,i})^2 = \sum_{i=1}^n (R_{y,i})^2 であることから \sum_{i=1}^n (R_{y,i} - \bar{R}_y )^2 についても同様に求められる。

従って分子は

\begin{aligned} \sqrt{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2\sum_{i=1}^n (R_{y,i} - \bar{R}_y )^2} &= \sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2\\ &= \frac{n(n^2-1)}{12} \end{aligned}

次に、分母を求める。

\begin{aligned} \sum_{i=1}^n (R_{x,i} - \bar{R}_x )(R_{y,i} - \bar{R}_y) = \sum_{i=1}^n R_{x,i}R_{y,i} - n \bar{R}_x\bar{R}_y \end{aligned}

ここで、

\begin{aligned} \sum_{i=1}^n (R_{x,i} - R_{y,i})^2 = \sum_{i=1}^n (R_{x,i})^2 + \sum_{i=1}^n (R_{y,i})^2 - 2\sum_{i=1}^n R_{x,i}R_{y,i} \end{aligned}

を用いて \sum_{i=1}^n R_{x,i}R_{y,i} を消去すると、

\begin{aligned} \sum_{i=1}^n (R_{x,i} - \bar{R}_x )(R_{y,i} - \bar{R}_y) &= \frac{1}{2} \left\{ \sum_{i=1}^n (R_{x,i})^2 + \sum_{i=1}^n (R_{y,i})^2 - \sum_{i=1}^n (R_{x,i} - R_{y,i})^2\right\}- n \bar{R}_x\bar{R}_y\\ &=\left\{ \sum_{i=1}^n (R_{x,i})^2- n (\bar{R}_x)^2\right\}- \frac{1}{2}\sum_{i=1}^n (R_{x,i} - R_{y,i})^2\\ &=\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2- \frac{1}{2}\sum_{i=1}^n (R_{x,i} - R_{y,i})^2 \end{aligned}

が成り立つ。
途中で \bar{R}_x=\bar{R}_y, \, \sum_{i=1}^n (R_{x,i})^2 = \sum_{i=1}^n (R_{y,i})^2 を用いた。

以上から、

\begin{aligned} \hat{r}_s &= \frac{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )(R_{y,i} - \bar{R}_y)}{\sqrt{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2\sum_{i=1}^n (R_{y,i} - \bar{R}_y )^2}}\\ &= \frac{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2- \frac{1}{2}\sum_{i=1}^n (R_{x,i} - R_{y,i})^2}{\sum_{i=1}^n (R_{x,i} - \bar{R}_x )^2}\\ &=1 - \frac{6 \sum_{i=1}^n (R_{x,i} - R_{y,i})^2 }{n (n^2 - 1)}. \end{aligned}

理論的な表現

x_i, y_i の(累積周辺)分布関数が F(X), G(Y) であるとする。

ここで、U=F(X), V=G(Y) を用いることで、スピアマンの順位相関は以下のように UV のピアソン相関係数として定義できると

\begin{aligned} r_s &= \frac{{\rm Cov}\left[U, V\right]}{\sqrt{{\rm Var}\left[U\right]{\rm Var}\left[V\right]}}\\ &= 12 E\left[UV\right] - 3\\ \end{aligned}

なお、R_{x,i}/n, \, R_{y,i}/n がそれぞれ F(X), G(Y) の推定量になっていることから、r_s\hat{r}_s が対応していることがわかる。

コピュラを用いた表現

先ほどの (U, V) の分布関数はコピュラ C(U, V) になっている。
これを用いることで、r_s を以下のように表すこともできる:

\begin{aligned} r_s &=12 \int_0^1\int_0^1 uv C(du, dv) - 3\\ &=12 \int_0^1\int_0^1 C(du, dv)dudv - 3\\ \end{aligned}

その他の表現方法

\begin{aligned} r_s &=3 \left\{P\left[(X_1 - X_2)(Y_1 - Y_3)>0\right]- P\left[(X_1 - X_2)(Y_1 - Y_3)<0\right]\right\} \end{aligned}

ケンドールの順位相関

求め方

ケンドールの順位相関は以下のように求める:

\begin{aligned} \hat{r}_k &= \frac{\sum_{i=1}^n P_i - \sum_{i=1}^n Q_i}{{}_nC_2}\\ &= \frac{4\sum_{i=1}^n P_i}{n(n-1)} - 1 \end{aligned}

1行目から2行目の式変換では、\sum_{i=1}^n \left(P_i + Q_i\right) = {}_nC_2 という関係に着目した。
\sum_{i=1}^n P_i はケンドールのタウランク距離とも呼ばれる。

P_i, \, Q_i の定義】
簡単のため、\{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\}x について昇順に並んでいるものとする x_1 < x_2 < ... < x_n.

このとき P_i は、i 番目以降で y_i より大きな値をとる y_j の数を表す。
同様に、Q_ii 番目以降で y_i より小さな値をとる y_j の数を表す。

P_i = \sum_{j>i}\boldsymbol{1}(y_j > y_i), \qquad Q_i = \sum_{j>i}\boldsymbol{1}(y_j < y_i)

【具体的な計算例】
例として、x の増加に伴い y も増加している場合 (y_1 < y_2 < ... < y_n) を考える。

上記は n=10 とした例であるが、このとき i=5 番目に着目すると、i 以降で y_i より大きな y の値を持つ点は5個であることから、P_{i=5}=5 である。一方、i 以降に y_i より小さな値を持つ点はないので Q_{i=5} = 0 となる。

このような方法で i=1, 2, ..., 10 を順次計算して足し合わせると、

\begin{aligned} \sum_{i=1}^{10} P_i &= 9 + 8 + 7 + ... + 2 + 1 + 0 = 45\\ \sum_{i=1}^{10} Q_i &= 0 + 0 + 0 + ... + 0 + 0 + 0 = 0 \end{aligned}

より、

\begin{aligned} \hat{r}_k &= \frac{\sum_{i=1}^n P_i - \sum_{i=1} Q_i}{{}_nC_2}\\ &= \frac{45 - 0}{10 \times 9 / 2}\\ &= 1 \end{aligned}

となる。

逆に、x の増加に伴い y が減少しているような場合 (y_1 > y_2 > ... > y_n) では常に P_i = 0 となり、\hat{r}_k = -1 が得られる。

一方で、y が単調増加も単調減少もしていない場合だとどうだろうか?
この場合、i 以降でも yy_i より大きな値も小さな値もとるので、P_i, \, Q_i どちらも0以上の値を取りうる。

上記の例では、i=5 に着目した時、j=6 以降では y_j > y_i となっている点が3個、y_j < y_i となっている点が2個あることから、P_{i=5} = 3, \, Q_{i=5} = 2 であることがわかる。
このケースについても i=1, 2, ..., 10 と順に計算していくことで、

\begin{aligned} \sum_{i=1}^{10} P_i &= 3 + 7 + 7 + 5 + 3 + 2 + 3 + 1 + 0 + 0 = 31\\ \sum_{i=1}^{10} Q_i &= 6 + 1 + 0 + 1 + 2 + 2 + 0 + 1 + 1 + 0 = 14 \end{aligned}

であることから、

\begin{aligned} \hat{r}_k &= \frac{\sum_{i=1}^n P_i - \sum_{i=1} Q_i}{{}_nC_2}\\ &= \frac{31 - 14}{10 \times 9 / 2} \\ &= \frac{17}{45} \end{aligned}

が得られる。

理論的な表現

ケンドールの順位相関係数は、理論的には以下のように定義される:

\begin{aligned} r_k &= P\left[(X_1 - X_2)(Y_1 - Y_2)>0\right] - P\left[(X_1 - X_2)(Y_1 - Y_2)<0\right]\\ \end{aligned}

これは、(Xの増減とYの増減が一致している確率)と(Xの増減とYの増減が一致してない確率)の差を表している。

例えば X が増加するにつれ Y も常に増加していれば、X_1 > X_2 ならば Y_1 > Y_2X_2 > X_1 ならば Y_2 > Y_1 が常に成り立つため、(X_1 - X_2)(Y_1 - Y_2)>0 となる。
従ってこのとき P\left[(X_1 - X_2)(Y_1 - Y_2)>0\right]=1, \, P\left[(X_1 - X_2)(Y_1 - Y_2)<0\right]=0 が成り立つことから r_k=1 となる。

r_k\hat{r}_k の対応関係】
なお、先ほどの \hat{r}_k との対応であるが、
\sum_{i=1}^n P_i / {}_nC_2P\left[(X_1 - X_2)(Y_1 - Y_2)>0\right] の推定量に、\sum_{i=1}^n Q_i / {}_nC_2P\left[(X_1 - X_2)(Y_1 - Y_2)<0\right] の推定量になっている。

以下、\sum_{i=1}^n P_i / {}_nC_2P\left[(X_1 - X_2)(Y_1 - Y_2)>0\right] の対応関係について示す(あとで追記)。

コピュラを用いた表現

ケンドールの順位相関もコピュラ C(u, v) を用いて以下のように定義できる:

\begin{aligned} r_k &= 4 \int_0^1 \int_0^1 C(u,v) C(du, dv) - 1 \end{aligned}

参考文献

江村 剛志、コピュラ理論の基礎(シリーズ 情報科学における確率モデル 12)、コロナ社 (2025)
https://www.coronasha.co.jp/np/isbn/9784339028423/

上田 拓治、44の例題で学ぶ統計的検定と推定の解き方、オーム社 (2009)
https://www.ohmsha.co.jp/book/9784274067600/

神永 正博・木下 勉、Rで学ぶ確率統計学 一変量統計編、内田老鶴圃 (2019)
https://www.rokakuho.co.jp/data/books/0123.html