「単回帰の考え方と基本的な性質」に続き学習データへの当てはまりの良さを表す「決定係数」を紹介し、単回帰モデルでの決定係数と相関係数の関係を導きます。
決定係数
決定係数(coefficient of determination)とは機械学習モデルが学習データにどれだけ当てはまっているかを評価する指標です。
- 学習データ: (xi,yi), i=1,2,…,N
- モデルの予測値: ˆyi, i=1,2,…,N
として決定係数Dは
D:=1–∑Ni=1(yi–ˆyi)2∑Ni=1(yi–ˉy)2
で与えられます。ここでˉy=1N∑iyiです。
決定係数の意味ですが
i番目のデータ(xi,yi)およびその予測値(xi,ˆyi)に着目します。
- 全変動: yiと平均ˉyとの差
- 残差変動: yiと予測値ˆyiとの差
と呼びます。決定係数は「全変動の平方和」に対する「残差変動の平方和」の割合を1から引いた値になります。予測値が学習データに近い、つまりモデルが学習データによく当てはまっている場合に決定係数は1に近くなります。
決定係数の性質
決定係数の性質として以下を示すことができます。
- D≤1
- D=1は予測値が学習データと一致(ˆyi=yi, i=1,…,N)することと同値
- 平均値で予測するモデルˆyi=ˉyではD=0
- yiから大きく外れた予測値がある場合、Dは負の値をとる
- 定義より自明です。
- D=1と「残差変動の平方和が0」つまり「ˆyi=yi」と同値のため成立します。
- 平均値で予測するモデル(上の図で回帰直線がy=ˉyの場合)の「残差変動」は「全変動」と一致するのでD=0になります。
- ある予測値ˆyiをˆyi→∞とするとD→−∞なので十分大きなˆyiがあるとDは負の値をとることがあります。
性質1〜3から「平均値で予測するモデル」や「完全に学習データを説明できるモデル」と比べモデルがどれくらい学習データを当てはめられているかを評価できます。
モデルの評価指標としてよく使われますが、この記事で紹介したように外れ値があると当てはまっていないように見えるモデルでも決定係数が高くなるため鵜呑みにせず当てはまり結果を可視化して確認することをオススメします。
また、決定係数を表す文字としてよくR2が用いられ決定係数が常に0以上の値をとるように見えますが、性質4から一般のモデルに対しては負の値をとることがあります。
単回帰モデルでの決定係数と相関係数の関係
ここからはモデルが単回帰の場合を考えます。つまり
y= ˆβ0+ ˆβ1x
で予測するモデルを考えます。ただし、ˆβ0=ˉy−ˆβ1ˉx , ˆβ1=SxySxxで
- ˉx=1N∑ixi
- ˉy=1N∑iyi
- Sxx=∑i(xi–ˉx)2
- Syy=∑i(yi–ˉy)2
- Sxy=∑i(xi–ˉx)(yi–ˉy)
です。
この時、出力データyiと入力データの予測値ˆyiの相関係数ρ
ρ=∑i(yi–ˉy)(ˆyi–ˉˆy)√∑i(yi−ˉy)2√∑i(ˆyi−ˉˆy)2
と決定係数Dには次の関係が成立します。
D=ρ2
単回帰モデルの予測値について成立する以下の性質を組合せて示します。
- ρ2とSxx, Syy, Sxyの関係
- 全変動の平方和Syyの分解
- 決定係数Dとρ2の関係
ρ2とSxx, Syy, Sxyの関係
まず、単回帰モデルの基本的な性質で触れたように予測値の平均ˉˆyは目的変数の平均ˉyと一致します。これより
ˆyi–ˉˆy= ˆyi–ˉy=ˆβ1(xi–ˉx)
と書けることに注意するとρ2は
ρ2={∑i(yi–ˉy)(ˆyi–ˉˆy)}2∑i(yi−ˉy)2∑i(ˆyi−ˉˆy)2=ˆβ21{∑i(yi–ˉy)(xi–ˉx)}2Syy⋅ˆβ21∑i(xi−ˉx)2=S2xySxxSyy
と書けます。
全変動の平方和Syyの分解
次に決定係数Dを整理していきます。まず次の補題を示します。
N∑i=1(yi–ˉy)2=N∑i=1(yi–ˆyi)2+N∑i=1(ˆyi–ˉˆy)2
第三項のˆyi–ˉˆyを回帰変動と呼びます。この補題は単回帰モデルでは
「全変動の平方和Syy」を「残差変動の平方和Se」と「回帰変動の平方和Sˆyˆy」に分解
できることを示しています。
証明は全変動をyi–ˉy=yi–ˆyi+(ˆyi–ˉˆy)とみると
N∑i=1(yi–ˉy)2=Se+2N∑i=1(yi–ˆyi)(ˆyi–ˉˆy)+Sˆyˆy
となります。第二項はˆyi=ˉy+ˆβ1(xi–ˉx)およびˆβ1=SxySxxより
N∑i=1(yi–ˆyi)(ˆyi–ˉˆy)=N∑i=1(yi–ˉy+ˆβ1(xi–ˉx))⋅ˆβ1(xi–ˉx)=ˆβ1Sxy–ˆβ21Sxx=SxySxxSxy–S2xyS2xxSxx=0
と消えるので補題が成立します。
決定係数Dとρ2の関係
それでは決定係数D=1−SeSyyを整理していきましょう。Syy=Se+Sˆyˆyなので
D=1–SeSyy=Syy−SeSyy=SˆyˆySyy
と変形できˆyi–ˉy=ˆβ1(xi–ˉx)よりSˆyˆy=ˆβ21Sxxなので
=ˆβ21SxxSyy=S2xyS2xxSxxSyy=S2xySxxSyy=ρ2
が成立します。
この結果から単回帰の決定係数はD=ρ2≥0が保証され「平均値で予測するモデル」と比べ(決定係数の意味で)当てはまりの良いモデルと言えます。
シリーズ記事
「機械学習」の「教師あり学習手法」の中で最も基本的な手法として「単回帰」の性質を紹介しています。
誤差項について「無相関で分散一定」「独立同一な正規分布」を仮定するとで様々な性質を導くことができますが、ここでは誤差項について特に仮定せずに導ける性質として
- 考え方と基本的な性質: 回帰係数の導出、回帰直線の性質、計算量との関係
- 決定係数(本記事): 決定係数と相関係数の関係
- 予測の留意点: 学習データ外の値や外れ値で予測する場合の留意点と対処法
- 外れ値の影響: 外れ値が学習時に与える影響
を解説しています。
また単回帰を拡張した「重回帰」でも同様の性質を示せるのでそちらも参照ください。