変動の分解・決定係数・残差プロット
前回 5-1 で回帰直線 $\hat{y}=\hat{\alpha}+\hat{\beta}x$ を引きました。今回は「その直線、どれくらいよく当てはまっているの?」を数値にします。
鍵は変動の分解です。$y$ の全体のばらつき(全変動 $S_{yy}$)は、回帰直線で説明できた分と残差として残った分にきれいに分かれます──$S_{yy}=\text{SSR}+\text{SSE}$。この「説明できた割合」が決定係数 $R^2$ です。単回帰では $R^2=r^2$(相関係数の二乗)になる、というおまけつき。最後に、当てはまりを目で確認する残差プロットの見方まで押さえます。
直線は引けたけど、それって「良い」直線なの? を測るのが今回。$y$ のばらつきを「直線で説明できた分」と「説明できなかった分」に切り分けて、説明できた割合 $R^2$ を出すよ。$R^2$ が $1$ に近いほど、直線がデータをよく言い当ててるってこと!
1. 3つのズレ ─ 全変動・回帰・残差
もし回帰直線を引かなかったら、$y$ の予測にはどんな値を使うでしょう。手がかりがなければ、全員の平均 $\bar{y}$ を使うしかありません。各点が $\bar{y}$ からどれだけ離れているか、その散らばりが「$y$ がもともと持っている全体のばらつき」です。これを偏差平方和で測り、全変動(SST、total sum of squares)と呼びます。
回帰直線を引くと、各点 $y_i$ について次の3つの量が登場します。図でイメージしながら見ていきましょう。
- $y_i - \bar{y}$ … 観測値と全体平均のズレ(全変動のもと)
- $\hat{y}_i - \bar{y}$ … 予測値と全体平均のズレ(回帰で説明できた分)
- $y_i - \hat{y}_i$ … 観測値と予測値のズレ=残差(説明できなかった分)
この3つは $\,(y_i - \bar{y}) = (\hat{y}_i - \bar{y}) + (y_i - \hat{y}_i)\,$ と、つねに足し算でつながっています(右辺の $\hat{y}_i$ が打ち消し合うだけの当たり前の式)。おどろくのは、これを二乗して合計しても足し算の関係が崩れないこと。それを次に確かめます。
3つの変動(いずれも偏差平方和): $$ \begin{aligned} S_{yy} = \text{SST} &= \sum_{i=1}^{n}(y_i-\bar{y})^2 &&\text{(全変動)}\\[2pt] \text{SSR} &= \sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2 &&\text{(回帰による変動)}\\[2pt] \text{SSE} &= \sum_{i=1}^{n}(y_i-\hat{y}_i)^2 &&\text{(残差変動)} \end{aligned} $$ SSR は regression(回帰)、SSE は error(誤差・残差)の頭文字です。
2. 変動の分解 ─ $\text{SST}=\text{SSR}+\text{SSE}$(導出★)
全変動が、回帰による変動と残差変動の単純な和に分かれる──これが変動の分解です。証明のキモは、二乗を展開したときに出てくるクロス項(積の項)が $0$ になること。なぜ $0$ になるかというと、5-1 で導いた正規方程式が効いてくるからです。順に追いましょう。
導出
全変動の各項 $y_i-\bar{y}$ を「残差 + 回帰分」に分けて二乗します。 $$ \begin{aligned} \text{SST} &= \sum_{i=1}^{n}(y_i-\bar{y})^2 \\[2pt] &= \sum_{i=1}^{n}\bigl[(y_i-\hat{y}_i) + (\hat{y}_i-\bar{y})\bigr]^2 &&\text{(} \bar{y} \text{ を引いて足す=} \hat{y}_i \text{ を挟む)}\\[2pt] &= \sum_{i=1}^{n}(y_i-\hat{y}_i)^2 + \sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2 + 2\sum_{i=1}^{n}(y_i-\hat{y}_i)(\hat{y}_i-\bar{y}) &&\text{(} (p+q)^2 \text{ を展開)}\\[2pt] &= \text{SSE} + \text{SSR} + 2\underbrace{\sum_{i=1}^{n}(y_i-\hat{y}_i)(\hat{y}_i-\bar{y})}_{\text{これが } 0 \text{ になる}} &&\text{(各和を記号に置換)} \end{aligned} $$
残るはクロス項が $0$ であることの確認です。残差を $e_i = y_i-\hat{y}_i$、予測値を $\hat{y}_i=\hat{\alpha}+\hat{\beta}x_i$ と書き、$\hat{\alpha}=\bar{y}-\hat{\beta}\bar{x}$ を使って $\hat{y}_i-\bar{y}=\hat{\beta}(x_i-\bar{x})$ と整理してから代入します。
$$ \begin{aligned} \sum_{i=1}^{n} e_i(\hat{y}_i-\bar{y}) &= \sum_{i=1}^{n} e_i\,\hat{\beta}(x_i-\bar{x}) &&\bigl(\hat{y}_i-\bar{y}=\hat{\beta}(x_i-\bar{x})\bigr)\\[2pt] &= \hat{\beta}\sum_{i=1}^{n} e_i(x_i-\bar{x}) &&\text{(定数 } \hat{\beta} \text{ を外へ)}\\[2pt] &= \hat{\beta}\Bigl(\sum_{i=1}^{n} e_i x_i - \bar{x}\sum_{i=1}^{n} e_i\Bigr) &&\text{(カッコを分配)}\\[2pt] &= \hat{\beta}\,(0 - \bar{x}\cdot 0) = 0 &&\text{(正規方程式より下記2つが } 0\text{)} \end{aligned} $$
最後の2つの和は、5-1 の正規方程式そのものです。$a$ の式 $\sum(y_i-\hat{y}_i)=0$ は残差の合計が $0$($\sum e_i = 0$)、$b$ の式 $\sum x_i(y_i-\hat{y}_i)=0$ は残差と $x$ の積和が $0$($\sum e_i x_i = 0$)を意味します。この2つがそろうからクロス項が消える。つまり変動がきれいに分解できるのは、最小二乗法で直線を引いたおかげなのです。
変動の分解(平方和分解) $$\sum_{i=1}^{n}(y_i-\bar{y})^2 = \sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2 + \sum_{i=1}^{n}(y_i-\hat{y}_i)^2$$ すなわち $\;\text{SST} = \text{SSR} + \text{SSE}\;$。全変動が「回帰で説明できた変動」と「残差変動」の和に分かれます。
3. 決定係数 $R^2$ ─ 説明できた割合
分解 $\text{SST}=\text{SSR}+\text{SSE}$ ができれば、当てはまりの指標は自然に決まります。全変動 SST のうち、回帰で説明できた変動 SSR が占める割合を見ればよいのです。これが決定係数 $R^2$(coefficient of determination)です。
$$R^2 = \frac{\text{SSR}}{\text{SST}} = 1 - \frac{\text{SSE}}{\text{SST}}$$ 2つ目の等号は、$\text{SSR}=\text{SST}-\text{SSE}$ を代入しただけです。$0 \le R^2 \le 1$ で、$1$ に近いほど当てはまりが良い(残差が小さい)ことを表します。
読み方はシンプルです。$R^2=0.85$ なら「$y$ のばらつきのうち $85\%$ を、この回帰直線が説明できている」。残りの $15\%$ は、$x$ では説明しきれない残差として残っている、という意味になります。
単回帰では $R^2=r^2$(導出)
単回帰では、決定係数が相関係数 $r$ の二乗に一致します。$R^2$ という記号がそもそも「$r$ の2乗」を思わせますが、これは偶然ではありません。SSR を $r$ で書き直すと示せます。
$\hat{y}_i-\bar{y}=\hat{\beta}(x_i-\bar{x})$ より SSR を変形し、$\hat{\beta}=\dfrac{S_{xy}}{S_{xx}}$ を代入します。 $$ \begin{aligned} \text{SSR} &= \sum_{i=1}^{n}(\hat{y}_i-\bar{y})^2 = \hat{\beta}^2\sum_{i=1}^{n}(x_i-\bar{x})^2 = \hat{\beta}^2\,S_{xx} &&\text{(} \hat{\beta} \text{ を外に出す)}\\[2pt] &= \left(\frac{S_{xy}}{S_{xx}}\right)^2 S_{xx} = \frac{S_{xy}^2}{S_{xx}} &&\bigl(\hat{\beta}=S_{xy}/S_{xx}\bigr) \end{aligned} $$ これを $R^2=\dfrac{\text{SSR}}{\text{SST}}$ に入れます($\text{SST}=S_{yy}$)。 $$R^2 = \frac{S_{xy}^2 / S_{xx}}{S_{yy}} = \frac{S_{xy}^2}{S_{xx}\,S_{yy}} = \left(\frac{S_{xy}}{\sqrt{S_{xx}\,S_{yy}}}\right)^2 = r^2$$ 最後の等号は、相関係数 $r=\dfrac{S_{xy}}{\sqrt{S_{xx}\,S_{yy}}}$(1-9 の定義、$n-1$ は約分済み)そのものです。
$R^2=r^2$ が成り立つのは単回帰のときだけだよ。説明変数が増える重回帰(5-5)では、この単純な関係は崩れるから要注意! でも「$R^2$ は説明できた割合」という意味のほうは、重回帰でもそのまま通用するからね。
4. 数値例 ─ 変動を分解して $R^2$ を出す
5-1 と同じデータで、回帰直線は $\hat{y}=28+11x$ でした。各点の予測値 $\hat{y}_i$ と残差 $e_i=y_i-\hat{y}_i$ を表にします($\bar{y}=61$)。
| 生徒 | $x_i$ | $y_i$ | $\hat{y}_i$ | $y_i-\bar{y}$ | $\hat{y}_i-\bar{y}$ | $e_i=y_i-\hat{y}_i$ |
|---|---|---|---|---|---|---|
| A | 1 | 35 | 39 | $-26$ | $-22$ | $-4$ |
| B | 2 | 55 | 50 | $-6$ | $-11$ | $5$ |
| C | 3 | 60 | 61 | $-1$ | $0$ | $-1$ |
| D | 4 | 75 | 72 | $14$ | $11$ | $3$ |
| E | 5 | 80 | 83 | $19$ | $22$ | $-3$ |
| 合計 | 15 | 305 | 305 | $0$ | $0$ | $0$ |
残差 $e_i$ の合計が $0$ になっている点に注目してください(正規方程式 $\sum e_i = 0$ の確認)。各列を二乗して合計します。
$$ \begin{aligned} \text{SST} &= (-26)^2+(-6)^2+(-1)^2+14^2+19^2 = 676+36+1+196+361 = 1270 \\ \text{SSR} &= (-22)^2+(-11)^2+0^2+11^2+22^2 = 484+121+0+121+484 = 1210 \\ \text{SSE} &= (-4)^2+5^2+(-1)^2+3^2+(-3)^2 = 16+25+1+9+9 = 60 \end{aligned} $$ 分解の確認:$\text{SSR}+\text{SSE} = 1210 + 60 = 1270 = \text{SST}$。たしかに $\text{SST}=\text{SSR}+\text{SSE}$ が成り立っています。
$$R^2 = \frac{\text{SSR}}{\text{SST}} = \frac{1210}{1270} \approx 0.953, \qquad 1 - \frac{\text{SSE}}{\text{SST}} = 1 - \frac{60}{1270} \approx 0.953$$ どちらでも $R^2 \approx 0.953$。「点数のばらつきの約 $95\%$ を、勉強時間からの回帰で説明できた」と読めます。$r^2$ でも確かめましょう。1-9 で $r\approx 0.976$ だったので、 $$r^2 \approx 0.976^2 \approx 0.953$$ $R^2=r^2$ がぴたりと一致しました。
5. 残差プロット ─ 当てはまりを目で確かめる
$R^2$ は当てはまりを1つの数値に要約してくれますが、数値だけでは見落とすクセがあります。そこで残差 $e_i$ を縦軸に、説明変数 $x_i$(または予測値 $\hat{y}_i$)を横軸にとって点を打つ残差プロットで、直線モデルが妥当かを目で確認します。
理想は、残差が $0$ の横線まわりにパターンなくランダムに散らばること。これなら「直線で説明しきれずに残ったのは、ただのランダムなノイズ」と判断でき、モデルは妥当です。逆に、残差に形(パターン)が見えたら危険信号です。
残差プロットの3パターン ─ 縦軸は残差 $e_i$。ランダム(上)なら良好。弓なり(中)は直線モデルが不適、ラッパ型(下)は分散が一定でないサイン
残差プロットの代表的な要注意パターンは2つ。弓なりの曲線が見えたら、本当の関係は直線でなく曲線(2次など)かもしれません──直線モデルが不適のサインです。ラッパ型(右に行くほど縦に広がる)が見えたら、$x$ が大きいほどばらつきが大きいということで、回帰の前提「誤差の分散は一定」が崩れています(不等分散)。これは 5-3 の係数の検定の前提にも関わる大事なチェックです。$R^2$ が高くても、残差にパターンがあればモデルを見直しましょう。
まとめ
第5章 5-2、ポイントを整理します。
- 3つの変動:全変動 $\text{SST}=S_{yy}=\sum(y_i-\bar{y})^2$、回帰変動 $\text{SSR}=\sum(\hat{y}_i-\bar{y})^2$、残差変動 $\text{SSE}=\sum(y_i-\hat{y}_i)^2$
- 変動の分解:$\text{SST}=\text{SSR}+\text{SSE}$。クロス項が $0$ になるのは正規方程式($\sum e_i=0,\ \sum e_i x_i=0$)のおかげ
- 決定係数:$R^2=\dfrac{\text{SSR}}{\text{SST}}=1-\dfrac{\text{SSE}}{\text{SST}}$。$y$ のばらつきを回帰で説明できた割合($0\le R^2\le 1$)
- 単回帰では $R^2=r^2$(相関係数の二乗)。重回帰では一般に成り立たない
- 数値例:$\text{SST}=1270,\ \text{SSR}=1210,\ \text{SSE}=60$、$R^2\approx 0.953=r^2$
- 残差プロット:ランダムが理想。弓なり(曲線関係)・ラッパ型(不等分散)は要注意
次回 5-3 回帰係数の区間推定と検定 では、推定した傾き $\hat{\beta}$ が「偶然そう見えただけ」でないかを検定します。今日求めた残差変動 SSE から誤差の大きさ(標準誤差)を見積もり、$\hat{\beta}$ の信頼区間と $t$ 検定へつなげます。変動の分解は、その土台になります。
$\text{SST}=\text{SSR}+\text{SSE}$、$1270=1210+60$ で確かめられたね。$R^2$ は「説明できた割合」、単回帰なら $r^2$ と同じ。そして数字だけ見て満足せず、残差プロットも必ずチェック! 弓なりとラッパ型を見つけられたら一人前だよ。次は $\hat{\beta}$ の検定だよ〜!