0
高校数学解説
文献あり

相関係数と線形回帰の関係

1675
0

概要

2次元データxi,yi,(i=1,,N)があるとき,相関係数rが定義されます.
相関係数は線形な関係の強弱を測る指標である[※1]ので,ある程度r±1に近ければ線形回帰でデータをよく説明できることが期待されます.
このとき,rと1次線形回帰の精度との間にはどのような関係があるのでしょうか.

結論としては,回帰直線からの平均二乗誤差RMSElinrの間に
RMSElin=σ[y]1r2
という関係があります.
例えばr=0.8のとき,RMSElin=0.6σ[y]で,図示すると以下のようになります.

相関係数 r=0.8 のデータにおける線形回帰と予測幅(±1SD) 相関係数 r=0.8 のデータにおける線形回帰と予測幅(±1SD)

個人的な感想としては,r=0.8というとそこそこ相関が強い印象があるので意外と範囲が大きいなと感じました.
ちなみに,ベースラインとしてyのデータ点からランダムにサンプリングするモデルはRMSErandom=2σ[y]となるので,ここから考えると58%の向上です.

証明

相関係数と線形回帰の関係

RMSElin=σ[y]1r2

相関係数をx,yで表すと,

r=Cov[x,y]σ[x]σ[y]=(xx)(yy)(xx)2(yy)2=xyxy(x2x2)(y2y2)

はデータに対する平均1Ni=1Niを表す)
特に,Var[X]=(XX)2=X2X2Cov[X,Y]=(XX)(YY)=XYXYは有名な公式ですが,式変形中によく使うので下で導出を示します.

一方,線形回帰y=ax+bを考えると,以前の記事 傾きを共有して切片が異なるデータ列の線形回帰 に示したように,係数は
a=xyxyx2x2,b=yax
となります.
RMSE=1Ni=1N(yipredyi)2=(ypredy)2
で,線形回帰ではypred=ax+bなので,第2項の分子について,
RMSElin2=(ypredy)2=(ax+by)2=(ax+yaxy)2=(a(xx)(yy))2=a2(xx)22a(xx)(yy)+(yy)2=a2Var[x]2aCov[x,y]+Var[y]=(xyxyx2x2)2(x2x2)2xyxyx2x2(xyxy)+y2y2=y2y2(xyxy)2x2x2=Var[y](1(xyxy)2(x2x2)(y2y2))=Var[y](1r2)
RMSElin=σ[y]1r2

分散・共分散の変換

分散の変換

Var[X]=(XX)2=X2X2

Var[X]=1Ni=1N(XiX)2=1Ni=1N(Xi22XXi+X2)=1Ni=1NXi22X1Ni=1NXi+X21Ni=1N1=X22X2+X2=X2X2

共分散の変換

Cov[X,Y]=(XX)(YY)=XYXY

Cov[X,Y]=1Ni=1N(XiX)(YiY)=1Ni=1N(XiYiXiYXYi+XY)=1Ni=1NXiYiY1Ni=1NXiX1Ni=1NYi+XY1Ni=1N1=XYXYXY+XY=XYXY

おまけ

ベースライン

RMSErandom=2σ[y]

yの分布に従って(つまり平均,分散がyのものと一致する),新たなデータyi(i=1,,N)をサンプリングすると,yx,yの相関を考慮せずyの範囲だけを考えたランダムなモデルの予測値とみなせます.
このようなモデルをベースラインとすべくRMSEを計算してみます.

RMSErandom2=(yy)2=((yy)(yy))2=(yy)22(yy)(yy)+(yy)2=Var[y]2Cov[y,y]+Var[y](yの平均値はyのものと等しい)=Var[y]+Var[y](yyは独立Cov[y,y]=0)=2Var[y](yの分散はyのものと等しい)
RMSErandom=2σ[y]


[※1]: 相関係数 - Wikipedia より

※本記事は,Quoraでの質問 相関係数が0.8とわかっている関係を使って相関係数1とみなした変換を行った場合、真の値とのズレはどのくらいになるでしょうか。最大20%?平均20%?それとも別の値になるでしょうか? をもとに改稿したものです.

参考文献

投稿日:2022118
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

Y. Saki
Y. Saki
2
5219

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中