アシまるくんのおしゃべり部屋

気になったことを好きなように書きたい

いざ相関係数の旅に出よう

はじめまして!

アシまるくんと申します!

 

最近、新しい相関係数(Chatterjeeの相関係数)が話題になっており、多くの方が記事にされていますね。

qiita.com

こちらの記事がきっかけでしょうか。自分なりに要点をいろいろと整理したので、理解の最前線を記す、という意味でここに記したいと思います。

 

第1章『従来の相関係数

もっともよく知られている、かつ、基本的な相関係数は、"Pearson"の相関係数と呼ばれるもので、以下の式で表すことができます。

\rho=\dfrac{\sigma_{XY}}{{\sigma_X}{\sigma_Y}}

確率変数X,Yについて、その分散(標準偏差)と共分散の比で記述することができます。よく知られている通り、その範囲は[-1,1]であり、絶対値が大きいほど、相関が大きいことが知られています。

 

しかし、この指標は線形的(1次関数的)な関係を測ることに特化しており、例えば、加速度的(2次関数的)な増加であったり、爆発的(指数関数的)な増加を図るのには適していません。もっとも、仮に確率変数X,Yの間に、Y=ae^X+b+\epsilonの関係が成り立つ(ただし、a,bは定数とし、\epsilon正規分布に従う誤差項とする。)場合は、X'=e^Xと新しい確率変数X'を導入することで、従来の相関係数での評価が可能となります。

 

第2章『Spearmanの順位相関係数

従来の相関係数で扱えない非線形の関係を扱うために、『データの大きさを無視して、データの順位だけに着目しようぜ』というモチベーションで生まれたのが、"Spearman"の順位相関係数です。

 

タイデータ(同順位のデータ)がない、すなわち、完全に順位付けができるという前提が成り立つ場合、以下の数式で表すことができます。

 

\rho=1-\dfrac{6\sum_{i=1}^{n}d_i^2}{n(n^2-1)}\\d_i^2:=R_{X_i}-R_{Y_i}

ここで、R_{X_i}n個のデータX_1,X_2,...,X_nを昇順にソートした場合に、前からR_{X_i}番目にあるものとして定めます。R_{Y_i}も同様に定めます。

 

前章の相関係数から導けることを簡単に確認しておきましょう。

E_{R_X}=\dfrac{n+1}{2}\\E_{R_X^2}=\dfrac{(n+1)(2n+1)}{6}

 

これらは、R_{X_1},R_{X_2},...,R_{X_n}1,2,...,nから成るn個のデータであることから簡単に導けます。(ここでタイデータがないことを仮定しています。)

 

\sigma_{R_X}^2\\ \,\, =E_{R_X^2}-E_{R_X}^2\\ \,\, =\dfrac{(n+1)(n-1)}{12}

 

Yについても同様である。

 

E_{R_X R_Y}=\dfrac{\sum_{i=1}^{n}R_{X_i}R_{Y_i}}{n}

\sigma_{R_X R_Y}\\ \,\, =E_{R_X R_Y}-E_{R_X}E_{R_Y}\\ \,\, =\dfrac{\sum_{i=1}^{n}R_{X_i}R_{Y_i}}{n}-\dfrac{(n+1)^2}{4}

 

よって、

\rho=\dfrac{12\sum_{i=1}^{n}R_{X_i}R_{Y_i}-3n(n+1)^2}{n(n^2-1)}\\ \,\, =1-\dfrac{3n(n+1)^2+n(n^2-1)-12\sum_{i=1}^{n}R_{X_i}R_{Y_i}}{n(n^2-1)}\\ \,\, =1-\dfrac{2n(n+1)(2n+1)-12\sum_{i=1}^{n}R_{X_i}R_{Y_i}}{n(n^2-1)}\\ \,\, =1-\dfrac{6\sum_{i=1}^{n}{(R_{X_i}^2+R_{Y_i}^2)}-12\sum_{i=1}^{n}R_{X_i}R_{Y_i}}{n(n^2-1)}\\ \,\, =1-\dfrac{6\sum_{i=1}^{n}d_i^2}{n(n^2-1)}

 

と、"Pearson"の相関係数の延長線上でしかないことが確認できたところで、この相関係数の特徴を確認すると、非線形の形にも対応可能ですが、単調性のある関数にしか対応できません。具体的には、周期関数や3次関数のような極大値と極小値の両方を持つ関数にはうまく適用できません。

 

第3章『Chatterjeeの順位相関係数

そしていよいよ本丸です。

https://gwern.net/doc/statistics/order/2020-chatterjee.pdf

 

n個のデータの相関係数は、次の通り表します。

\xi_n:=1-\dfrac{3\sum_{i=1}^{n-1}|r_i-r_{i+1}|}{n^2-1}

ここで、r_in個のデータの組(X_i,Y_i)_{i=1}^nを座標平面上にプロットしていったときに、左からi番目の点が、上から何番目にあるかを表しています。

 

n\to \inftyとしたときに、

\xi:=\dfrac{\int var(E[1_{\{Y \geq t\}}|X]) d\mu (t)}{\int var(1_{\{Y \geq t\}}) d\mu (t)}

にほとんど確実に収束する。ただし、\muYの分布である。

 

この\xiがよい性質を持っていて、\xi\in [0,1]であり、確率変数X,Yが独立であるとき、\xi=0。ある可測関数f:\mathbb{R}\to \mathbb{R}が存在して、Y=f(X)と記述できる場合、\xi=1

 

一応、簡単に確認しておくと、

X,Yが独立であるとき、

E[1_{\{Y \geq t\}}|X]\\ \,\, =E[1_{\{Y \geq t\}}]\\ \,\, =P(Y\geq t)

独立なので、条件付期待値の条件Xが外れて、ただの確率、すなわち、定数になります。定数の分散は0なので、分子が0になり、\xi=0

 

ある可測関数f:\mathbb{R}\to \mathbb{R}が存在して、Y=f(X)と記述できる場合、条件Xが与えられた場合、Yを定数とみなすことができる。

すなわち、

E[1_{\{Y \geq t\}}|X]\\ \,\, =P(Y \geq t|X)\\ \,\, =1_{\{Y \geq t\}}

定数Ytより大きいかどうかだけの勝負。

 

ちなみに、\xi\in [0,1]だが、\xi_nは負の値も取りうる点には注意が必要です。

 

このあたりの基本事項を踏まえたうえで、気になったことをいくつか記載していきます。

①ある意味、点と点の距離に着目して、順位相関係数を算出している。"Spearman"の順位相関係数は、点の距離というよりX,Yの順位の差に着目している。点と点を結ぶ線分の向きに着目している"ケンドールの\tau"の方が発想が近いのでは?と感じた。

②点と点との距離に着目する都合上、データの数が少ないと、各点の距離が広く、かつ、分母が小さいので、相関係数が低めに算出されないか?ただ、可測関数であれば、測れる指標ということであれば、データ数が少ないと、線形関数以上にどんな関数でも想像できてしまうので、データが少なければその時点で相関係数を低く出すというのは、ある種妥当とも思える。

Xへの感応度が異様に高い関数、例えば、Y=\sin(\dfrac{1}{X})みたいな関数が弱点ではないか?と一瞬考えたが、この関数は可測関数という要件を満たさないことに気づいた。

④崖がある関数、例えば、Y=X+50\, (X \leq 50),Y=X+100\, (X \ge 50)みたいなものはどうかと考えたが、サンプル数が少ない場合は崖の距離が問題になるが、サンプル数が多くなるほど、どんどん薄まるので特に問題ないことに気づいた。可測である以上、崖は高々有限個(可算無限個?)なので、十分大きいサンプル数で実務上解決できるような気がしてきた。

 

以上が、取り急ぎ内容を確認して感じたことです。不備やご助言などありましたら、ご指導・ご鞭撻をよろしくお願いいたします。