決定係数について

#はじめに
千葉大学/Nospareの[米倉](https://sites.google.com/site/shoutoyonekura/)です．今回は決定係数について解説したいと思います．

#決定係数とは
まずは次のような線形回帰モデルを考えます，
$$y=X\beta+\epsilon.$$
ここで$y,X,\beta$はそれぞれ，$n$次元の被説明変数のベクトル，$X$は説明変数ベクトルからなる$n\times d$の行列，$\beta$は$d$次元のパラメータのベクトルとし，$\epsilon$は線形回帰分析の際の適当な仮定を満たす確率ベクトル（誤差ベクトル）とし，その分散は$\sigma^2$であるとします．またこの記事では$X$も確率変数だとしますが，定数として扱っても議論の結論などに影響はないです．

この時，最小二乗推定量$\hat{\beta}$は，$$\hat{\beta}=(X^{\top}X)^{-1}X^{\top}y$$と適当な仮定の下で求まります．これを用いると「残差」$\hat{\epsilon}$を$$\hat{\epsilon}:=y-X\hat{\beta}$$
と定義するとこができます．ここで$\hat{y}_i:=X^{\top}_i\hat{\beta}$は「予測値」と言われ，つまり残差はデータと予測値のズレ（差）を表していることになります．

計算は省きますが，説明変数ベクトル$y$，予測値のベクトル$\hat{y}$，残差ベクトル$\hat{\epsilon}$の間には，$$y^{\top}y=\hat{y}^{\top}\hat{y}+\hat{\epsilon}^{\top}\hat{\epsilon}$$という関係が成立することが示せます．つまり「データの二乗和は予測値の二乗和と誤差の二乗和に分解できる」，ということです．


$\bar{y}$を$y$の標本平均とします．次にデータの標本平均からのズレを$\sum_{i=1}^n(y_i-\bar{y})^2$で評価すると，これは$\sum_{i=1}^ny^2_i-n\bar{y}^2$と計算できます．予測値の標本平均からのズレも同様にして評価すると，これは$\sum_{i=1}^n\hat{y}^2_i-n\bar{y}^2$と計算できます．これより，$y^{\top}y=\hat{y}^{\top}\hat{y}+\hat{\epsilon}^{\top}\hat{\epsilon}$は$$\sum_{i=1}^ny^2_i-n\bar{y}^2=\sum_{i=1}^n\hat{y}^2_i-n\bar{y}^2+\sum_{i=1}^n\hat{\epsilon}^2_i$$とも書くことが出来るので，データの標本平均からのズレは予測値の標本平均からのズレと残差に分解できるとも言えます．

また残差ベクトルの重要な特徴として，$\frac{1}{n}\sum_{i=1}^n\hat{\epsilon}^2_i$は誤差ベクトル$\epsilon$の分散$\sigma^2$のある意味で正しい推定量であることが示せます．

これらを踏まえて<font color="Red">決定係数$R^2$</font>を$\frac{\hat{y}^{\top}\hat{y}}{y^{\top}y}$で定義すると，$$R^2:=\frac{\hat{y}^{\top}\hat{y}}{y^{\top}y}=1-\frac{\hat{\epsilon}^{\top}\hat{\epsilon}}{y^{\top}y}=1-\frac{\frac{1}{n}\sum_{i=1}^n\hat{\epsilon}^2_i}{\frac{1}{n}\sum_{i=1}^n(y_i-\bar{y})^2}$$
と表現することが出来ます．これは最後の式の分母は標本分散，分子が最小二乗法で推定した誤差の分散なので，この分数は「モデルがデータを説明できなかった部分」だと解釈することが出来て，よって決定係数が1に近いほど，データに対して当てはまりが良いモデルであると言えそうです．

#決定係数の何が問題か
今までの議論から決定係数はモデルの当てはまりの良さを測る良い指標っぽいのですが，実は決定的な問題点があります．それは<font color="Red">決定係数$R^2$は残差の二乗和$\sum_{i=1}^n\hat{\epsilon}^2_i$の減少関数になっている</font>，という点です．これの何が問題かというと，残差ベクトルの定義$\hat{\epsilon}:=y-X\hat{\beta}$より，<font color="Red">説明変数の数を増やせば増やすほど残差は小さくなる</font>からです．つまり，説明変数を増やせば増やすほど決定係数の値は1に近づき，「あてはまりが良いモデル」になってしまいます．この点から，現代の統計学を用いた実証分析では<font color="Red">決定係数を報告する意味はない</font>と考えられています．

#自由度調整済みの決定係数
決定係数とは結局$$\frac{Var[X\beta]}{Var[y]}=1-\frac{Var[\epsilon]}{Var[y]}$$の推定量ですが，$\frac{1}{n}\sum_{i=1}^n\hat{\epsilon}^2_i$と$\frac{1}{n}\sum_{i=1}^n(y_i-\bar{y})^2$はそれぞれ$Var[\epsilon]$と$Var[y]$の不偏推定量ではないので，この意味でバイアスがあると言えます．よってそれぞれを不偏推定量で置き換えたのが，「自由度調整済みの決定係数」と呼ばれるものです．つまり自由度調整済み決定係数$\bar{R}^2$は，$$\bar{R^2}:=1-\frac{\frac{1}{n-d}\sum_{i=1}^n\hat{\epsilon}^2_i}{\frac{1}{n-1}\sum_{i=1}^n(y_i-\bar{y})^2}$$
で定義されます．

一見これは説明変数の数$d$の単調増加関数にならないので，説明変数を増やせば増やすほど決定係数の値は1に近づくという問題を解決しているように思えます．しかしながら，実は自由度調整済み決定係数もパラメーターが多いモデルを良いモデルとして選んでしまう性質があります．これはモデル選択という分野を勉強すると分かるのですが，直感的にいうとモデルが大きくなる時にに与える罰則の大きさが足りていない指標になっています．よってこの意味で有用な指標になりえません．

#ではどうすればいいの#
現代では決定係数の代わりに，例えばleave-one-out cross-validation (LOOCV，一個抜き交差検証) を用いたモデルの当てはまりの診断がメジャーになってきています．これについては，次回の記事で解説します．

今回の記事のメッセージはとにかく<font color="Red">（自由度調整済み含めて）決定係数をモデルの良さの評価の指標としてレポートするのは良くない</font>，ということです．


#おわりに
株式会社Nospareでは統計学の様々な分野を専門とする研究者が所属しております．統計アドバイザリーやビジネスデータの分析につきましては[株式会社Nospare](https://bit.ly/38WtGZH) までお問い合わせください．
<a href="https://bit.ly/38WtGZH">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/d5c625c0-d6f4-680b-d702-3c40f11d6c39.jpeg" alt="株式会社Nospare" width=400>
</a>