相関係数と順位相関係数について (2): 順位相関係数
昨日の記事からのつづき.
今日は本題の順位相関係数について書く.
元々は2つのリストの類似度を測る指標としての文脈で考えていたわけだけれど,実は2つの変数が正規分布しなかったり,離散値を取る時などに相関係数を測るノンパラメトリックな方法でもあることがわかった (昨日の話).
2つの順位相関係数について解説した後,ちょっと気になること,異なる集合の順序リストの相関係数を測る方法などについて書く.
順位相関係数
情報検索や推薦などにおいて,2つの順序リストが与えられた場合に,それらがどれほど
似ているかという類似性評価のために順位相関係数を用いる.
ただ,前回説明したピアソン相関係数は確率変数が正規分布している仮定を置いているので,確率変数が明らかに正規分布していない場合の計算に利用できる.
順位相関係数はケンドールの順位相関係数と,スピアマンの順位相関係数というものがある.注意するべき点は,順位相関という名称がついているけれど,これら2つは計算方法が異なり,お互いの値に直接的な関係がないということ.
(1) スピアマンの順位相関係数
スピアマンの順位相関係数 (Spearman's rank correlation coefficient) は,スピアマンのρ (ロー) とも呼ばれる.
一言でいえば「変数を値で並び替えた際の,順位についてピアソンの相関係数を計算したもの」である.
計算式は
で,ここでd_iは順位の差.同順位が存在する場合には,平均順位などを用いる.数が少ない場合には影響が少ないので無視することができるらしい.
ただ,いきなり上の式を見せられても意味がわからないので元の定義に立ち戻ってみると,スピアマンの順位相関係数は「変数の順位についてピアソンの相関係数」なので,ピアソンの相関係数の定義式をそのまま使えば,同順位がある場合でも正確に順位相関を計算することができる.
順位の場合は,はリストxにおけるアイテムiの順位,は,全体の平均順位を表す.
仮に同順位が存在しなければ,N個のアイテムから成るリストの順位は1位からN位まで存在するので,となる.
最初の式は,このように同順位を仮定しない場合に,ピアソンの順位相関係数の式を変形したもの.導出については下記のページがとてもわかりやすい.
さて,ピアソンの相関係数というのは,二つの変数の関係を直線で表現できるかという「線形性」を評価するものだった.しかし,スピアマンの順位相関では変数の「線形性」を仮定しない.
これについては言葉で説明するよりもWikipediaのページに載っていたこの図がとてもわかりやすい.
x軸がXの値,y軸がYの値を示している.それぞれ対応する順位が付与されていないけれど,右上から左下にかけて,順番に1,2,3,...,Nと番号がつけられると思えばよい.このような散布図ではピアソンの順位相関係数は1.0にはならないが,XとYの順位に関する散布図を書いてみると,左下から右上に向けて直線になるので,スピアマンの順位相関係数は1.0になる.
(2) ケンドールの順位相関係数
次に紹介するのはケンドールの順位相関係数 (Kendall rank correlation coefficient) で,これはケンドールのτ (タウ) (Kendall's tau) と呼ばれることもある.スピアマンの順位相関係数と異なり,こちらはピアソンの相関係数とは全く異なる方法で類似性を計算する.
ケンドールの順位相関係数の直感的な説明は,「アイテムのペアの順序関係が2つのリストにおいてどれだけ一致しているかという指標」である.
定義式を眺めると一目瞭然:
.
ここでn個のアイテムの個数,Pはあるペアの順序関係が2つのリストで一致している数を表す.
分母はn個のアイテムから2つを取り出した全組み合わせの数 (nC2) で,分子のPはそのうち順序が一致している数.これを2倍して1引くことによって,\tauの値域を[-1,1]にしている.
順位相関にはスピアマンを使えばいいの? ケンドールを使えばいいの?
使う側の立場からはこれが気になる.結論からいえば,定義が異なるだけで別にどちらでもいいらしい.
ただ,スピアマンは順位に対してピアソンの相関係数を計算しているので,なじみ深いという意味ではスピアマンを使う人が多いみたい.
相関係数同士は比較してはいけない
既に述べたようにどちらも(順位)相関係数という名前がついているが,異なる相関係数の値同士を比較してはいけない.ケンドール類似指標,スピアマン類似指標というように,あくまでひとつの類似指標に過ぎないわけだから.(一応,ケンドールとスピアマンの変換式は存在するらしいけれど.)
絶対値を比較することはできないけれど,検定による有意差はたいていの場合,双方の順位相関計算方法で一致するという経験則はある模様.
ここらへんについては,統計学関連なんでもあり掲示板のこのスレをご参照.
ついでに,ここの会話で印象に残った一文を引用
38. Re^8: 正規分布してないときの相関係数 青木繁伸 2000/01/25 (火) 14:42
> 但,私の発言の意図するところは,迷ったら散布図を描いてみよう,ということです.順位量なので,数値そのままの図かもしれませんが,どのくらい両変数間に直線関係があるのかが一目瞭然,という意味で,「強い」のか「弱い」のか,ということが実感としてつかめると思います.
これは非常に正しい意見ですね。
「迷ったら」どころではなく,「いつも散布図を描くべし」という人も多いです。(http://aoki2.si.gunma-u.ac.jp/lecture/mb-arc/arc006/001.html より引用)
そうそう,先生もっと言ってくださいよ! という気分になった.
常々思っていること.評価指標というスカラー値に落とし込んだ時点で,一次元的なものの見方しかできなくなる.視覚化したり,値を見るなりデータを眺めるだけでもっと多くの情報を得ることができるはず.評価指標が必要となるのは,論文に評価を記述して何かを論じるときか,分析のアテがなく,現象の傾向を把握する手がかりにするくらいなのではないか.
(とは口で言うものの,まだまだ視覚化や生データの分析が全然できていない自分への戒めの言葉として言っておくと) データは数値化するよりも視覚化すべし.論文ではともかく,お客様向けのプレゼンでは佐藤可士和も言うとおり,自分の論理で説得することが目的ではない.「で,この0.5%がどんな効果があるんでしたっけ?」と思わせてはいけないと考えている.
さてさて閑話休題.
片方のリストにしか存在しないアイテムが出てきた場合
長い紆余曲折を経て,ようやく本題に戻ることができた.元々同僚の質問は,これがはじまりだった.
今までの説明では,比較する変数のアイテム集合は等しいという仮定をおいていた.しかし,推薦などにおいては,ふたつの手法によって出力されるリストが異なることがしばしば起こる.また,検索においても,ふたつの異なるランキング手法によって出力されたリストの上位100件の順位相関を計算したい,という場合には,片方にしか出現しない検索結果というのが当然出てくることが予想される.
このように2つの順序リストの類似性評価に順位相関係数を用いる場合,問題によっては2つのリストのアイテム集合が等しくない場合がある.
スピアマンの場合は2つのリストに出現するアイテムのリストAとリストBにおける順位に関してピアソンの相関係数を見ているわけだから,片方にしか出現しないアイテムを取り除いてピアソンの相関係数を計算すればよいと思われる.その際には,取り除かれたアイテムの順位を無視するので,順位の平均が(1+N)/2でなくなることに注意する.
(この方法は自分の解釈なので,正しいかはわからない.)
ケンドールの場合はちょっと困る.ケンドールの順位相関係数は,リストにおける2つのペアの順序関係が一致しているかどうかということを見るので,ペアが両方とも2つのリストに出現しなければ困る.
それについては,以下のブログで紹介されている文献[1]の方法を利用することができる.
この方法とは,ふたつのリストX, Yとそれらに含まれるアイテムa, bに対して,
- aがリストXのみに存在し,bがYのみに存在する
- Xにおいて aがbより上位 かつ,Yにおいてはbのみが存在する
ということを新たに順序関係が異なることと見なすことによって,アイテム集合が異なる場合のケンドールの順位相関係数の計算するというものである.
出現しない = 頻度0 = ∞位と考えると
- Xにおいて bがaより上位 かつ,Yにおいてはbのみが存在する
という事象を順序関係が正しいとするのは一応直感とは合う.
まとめ
今日の同僚との会話では,普段自分が当たり前に使っている指標について「それが結果のどのような性質を評価しているのか」ということを深く考えさせられるきっかけとなった.
「みんな使ってるから」「先行研究で使われてきたから」と右にならえで気にせず使ってきたけれど,今一度考えてる良いきっかけになった.
評価指標は,手法のある側面のみを評価しているという意識は以前から少なからずあったと思うけれど,言語処理学会の日本語入力セッションにおける質疑応答のやりとりを聞いて,その想いは一層強くなった気がする.
References
- [1] Ronald Fagin, Ravi Kumar, D. Sivakumar: Comparing top k lists. Proc. SODA2003, 2003. http://portal.acm.org/citation.cfm?id=644113