Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

point-biserial / biserial

点双列相関係数(point-biserial correlation)

点双列相関係数 (point-biserial correlation) は 連続変数と自然な二値変数(連続変数を離散化したわけではない二値変数)の間の相関を測るための相関係数。

np.float64(0.42540375845000344)

scipy.stats にも実装がある

point-biserial と Pearsonの積率相関係数は等しい

Y∈{0,1}Y\in\{0,1\}のときのピアソンの積率相関係数はpoint-biserialと等しい

Proof of Point-Biserial Correlation being a special case of Pearson Correlation - Cross Validated

YYが二値変数のため、回帰直線を描くとY=0Y=0の点のXXの平均M0M_0とY=1Y=1の点のXXの平均M1M_1の2点の直線になる。

この回帰直線の傾きはβ=M1−M0/(1−0)=M1−M0\beta = M_1 - M_0 / (1 - 0) = M_1 - M_0

ピアソンの相関係数の定義は

r=Cov⁡(X,Y)sXsYr=\frac{\operatorname{Cov}(X, Y)}{s_X s_Y}

であり、回帰係数の定義から

β=Cov⁡(X,Y)Var⁡(Y)=sXsYr  ⟹  r=β⋅sYsX\beta=\frac{\operatorname{Cov}(X, Y)}{\operatorname{Var}(Y)}=\frac{s_X}{s_Y} r \implies r = \beta \cdot \frac{s_Y}{s_X}

であるため

r=M1−M0⋅sYsX=M1−M0sX⋅p(1−p)r = M_1 - M_0 \cdot \frac{s_Y}{s_X} =\frac{M_1 - M_0}{s_X} \cdot \sqrt{p(1-p)}

これはpoint-biserialに等しい

True

双列相関係数(biserial correlation)

バイシリアル相関係数 (biserial correlation, 双列相関係数とも) は、連続変数と人工的に二値化した変数(連続変数を閾値で分けたもの)の間の相関係数。

仮定:

  • YY が自然なカテゴリ(二値)ではなく、連続変数を人工的にしきい値で切ったものという仮定が必要

  • 連続変数 XX のほうは正規分布に近いことが望ましい

np.float64(0.06162599756903869)

背景

Biserial correlationは Pearson (1909) が「変数 AA の階級ごとに、潜在変数 BB が閾値を超える割合だけがある」という状況での相関の議論を開始したあたりから研究が始まっている

biserialとpoint-biserialのイメージの違い

  • biserialは人工的な二値変数が対象なので1つの連続値ylatenty_{\text{latent}}の分布をある閾値で切断したものを扱っている

  • point-biserialは自然な二値変数なので2つのクラス{0,1}\{0, 1\}の分布はそれぞれ分かれており、重なることもありうるイメージ。

    • 例えば潜在的な能力ylatenty_{\text{latent}}が高い人が正答する(y=1y=1になる)確率は高いが、100%ではなく偶然誤答することもありうる

Source
<Figure size 800x300 with 2 Axes>
Source
<Figure size 800x300 with 2 Axes>

Point-Biserialに補正係数をかけたのがBiserial

point-biserial (=Pearson’s r)

rpbi=Xˉ1−Xˉ0sX⋅pqr_{\text{pbi}}=\frac{\bar{X}_1-\bar{X}_0}{s_X} \cdot \sqrt{p q}

に対して補正係数pqϕ(z)\frac{\sqrt{pq}}{\phi(z)}をかけたのがBiserial

rbi=rpbi⋅pqϕ(z)=Xˉ1−Xˉ0sX⋅pqϕ(z)r_{\text{bi}} = r_{\text{pbi}} \cdot \frac{\sqrt{pq}}{\phi(z)} = \frac{\bar{X}_1-\bar{X}_0}{s_X} \cdot \frac{p q}{\phi(z)}

Peters & Van Voorhis (1940) は相関係数がρ\rhoの 2 変量正規分布に従う確率変数 X,YX, Yがあるとき、XXを平均値や中央値で二値化した確率変数をXdX_dとすると、XdX_dとYYの間の相関係数は0.798ρ0.798 \rhoになる、つまり真の相関係数の約 0.8 倍へと過小評価する問題があることを報告している。

Cohen (1983)によれば、Peters and Van Voorhis (1940)が報告しているような二値化の希薄化の係数は次のように一般化できる

e=ϕ(z)p(1−p)e = \frac{\phi(z)}{\sqrt{p(1 - p)}}
  • ϕ(z)\phi(z):標準正規分布の密度関数

  • pp:二値化した変数の比率

この希薄化誤差eeの逆数をpoint-biserialに掛けているのがbiserial

真のρ=0.75, 離散化後のpearson=0.601, 比率=0.801
e=0.798, 補正後(biserial)=0.753
biserial: 0.42521
point_biserial: 0.32762
np.float64(0.4539866448381744)

補正係数はどういう関数になっているのか

相関の希薄化(attenuation)の効果は、二値化の分割点以上の値の比率p=E⁡[1(Y≥τ)]p = \operatorname{E}[\mathbb{1}(Y \geq \tau)]の関数である

(閾値の標準正規分布上の位置zzが閾値以上の値の比率ppの関数であるため)

e(p)=ϕ(z)p(1−p)e(p) = \frac{\phi(z)}{\sqrt{p(1 - p)}}

e(p)e(p)はppが0あるいは1に近いときに極端に小さくなる。

biserial相関係数で使用する補正項は1/e(p)1/e(p)なので、補正係数が極端に大きくなることに相当する。

Source
<Figure size 900x200 with 2 Axes>

そのため、例えばppが極めて0や1に近い値のときは補正係数が大きくなりすぎてbiserial相関係数の絶対値が1を超えることもありうる。

rho=-0.999, p=0.170, r_pbi=-0.714, r_bi=-1.060

なお、離散化前の潜在変数に正規分布を仮定しない場合は異なる補正係数となる(Bedrick, 1995)。

参考文献