Engineering Skills

製品開発エンジニアがデータ解析のノウハウを垂れ流します

順位相関係数

一般的に使われる(ピアソンの積率)相関係数のほかに、スピアマンの順位相関係数とケンドールの順位相関係数があります。

ピアソンの積率相関係数はデータが正規分布していることが前提で、外れ値がある場合なども誤った結果になります。このような仮定を置かないノンパラメトリック(特定の分布を仮定しない)な相関係数としてスピアマンの順位相関係数とケンドールの順位相関係数があります。

ピアソンとスピアマン or ケンドールの関係は、平均値と中央値の関係と同じです。正規分布が仮定できれば前者の方が精度が高いですし、xとyで母集団の分布が異なったり外れ値/異常値が含まれる場合は後者の方がロバストです。

ピアソンの積率相関係数

(xi,yi)のデータ群があった時、ピアソンの積率相関係数は下記でした。相関係数では何故相関係数が0~1になるのか、回帰分析と決定係数ではR2との関係を示しました。今回は天下り的に無相関検定のP値の計算方法を示します。

f:id:OceanOne:20200426003442j:plain

f:id:OceanOne:20200426003452j:plain

xとyの各変数を平均0、標準偏差1に正規化した共分散ともみなせます。

相関係数の検定は、

帰無仮説 H0: ρ =0(母相関係数は0である)

対立仮説 H1: ρ ≠0(母相関係数は0ではない)

 として、

f:id:OceanOne:20200428015137j:plain

上式が自由度N-2のt分布に従うことから計算できます。

 

スピアマンの順位相関係数

スピアマンの順位相関係数(speaman's rank correlation coefficient)は元データのxi、yiを順位に変換した後にピアソンの積率相関係数を計算したものです。元データが連続尺度であるのに対し、順序尺度である順位に情報量を落とす代わりに頑健性を手に入れていることになります。

順位に変換後ピアソンの積率相関係数を計算しても良いですが、スピアマンの順位相関係数を計算する計算式もあります。順位に変換後、(xi, yi)のペアの順位の差diを計算し、下記の式で相関係数を算出します。

f:id:OceanOne:20200416012935j:plain

同順位(タイ)がある場合の補正などもありますが、N数が大きい場合は影響は小さいです。

P値の計算はピアソンの積率の相関係数と同様に下記が自由度N-2のt分布に従うことから計算できます。

f:id:OceanOne:20200428015427j:plain

ケンドールの順位相関係数

ケンドールの順位相関係数(Kendall's rank correlation coefficient)はピアソンの積率相関係数とは異なる方法で計算します。

f:id:OceanOne:20200424021349j:plain
上図のようにKをあるペア(xi,yi)と他のペアで順序関係が一致している数、Lを一致していない数、Nをnから2ペア選ぶ組み合わせの数としたとき、下記がケンドールの順位相関係数になります。

f:id:OceanOne:20200424020745j:plain

あるいは、下記sgn()のような関数を定義したとき、 

f:id:OceanOne:20200424020803j:plain

下記のような定義もあります。数値化した結果は同一です。

f:id:OceanOne:20200424020844j:plain

さらにxi、yiに同順位(タイ)がある場合は下記になります。

f:id:OceanOne:20200424021009j:plain

ここでf:id:OceanOne:20200424020928j:plain

です。P値を求めるためには、Nが大きい場合には下記が正規分布に従うことからP値を求めます。

f:id:OceanOne:20200424021639j:plain

 

まとめ

今回はピアソンの積率相関係数、スピアマンの順位相関係数、ケンドールの順位相関係数とそれぞれの検定のP値計算方法を示しました。ちなみに株価トレンド解析のテクニカル指標の中にはRCI(Rank Correlation Index)というものがあって、日付と株価についてスピアマンの順位相関係数を計算するものもあります。色々なことを考える人がいますね。

また、回帰分析/相関分析ツール では簡単に各相関係数を計算するツールを公開しています。遊んでみてください。