第5章 5-6 / 線形モデル分析

自由度調整済み決定係数・回帰の有意性の検定

このページで学ぶこと

前回の 重回帰では、説明変数を増やせるようになりました。でも「変数を増やせば増やすほど良いの?」という疑問が残ります。じつは決定係数 $R^2$ は説明変数を足すと必ず上がってしまうという弱点があるのです。これを補うのが自由度調整済み決定係数 $\bar{R}^2$ です。

さらに、「このモデル全体に意味はあるのか?(どの係数も0ではないと言えるか)」を判定する回帰の有意性のF検定と、その計算を一覧にした分散分析表の読み取りを学びます。最後に、統計ソフトが吐き出す係数・標準誤差・t値・p値・$R^2$・F値の読み方を表で整理します。ここまで来れば、回帰の出力を一人で読めるようになりますよ。

さえちゃん
さえ

$R^2$ は「変数を増やせば必ず上がる」ズルい指標。だから「無駄に増やしてないか?」を見張る $\bar{R}^2$ が登場するよ。そしてモデル全体のテストがF検定。分散分析表の読み方は試験の超頻出だから、丁寧にいこう!

1. $R^2$ の弱点 ─ 変数を増やすと必ず上がる

5-2 で学んだ決定係数 $R^2$ は、目的変数の全変動 $S_T$(総平方和)のうち、回帰で説明できた変動 $S_R$(回帰平方和)の割合でした。

FORMULA

$$R^2 = \frac{S_R}{S_T} = 1 - \frac{S_E}{S_T}$$ ここで $S_T=S_R+S_E$、$S_E$ は残差平方和(説明できなかった変動)です。$R^2$ は $0$ から $1$ の値をとり、$1$ に近いほど当てはまりが良いとされます。

ところが $R^2$ には落とし穴があります。説明変数を1つ加えるたびに、$R^2$ は決して下がらず、たいてい上がってしまうのです。たとえまったく無関係な変数(サイコロの目のような)を加えても、最小二乗法は残差をほんの少しでも減らそうとするので、$S_E$ は減り、$R^2$ は上がります。

POINT

つまり「$R^2$ が高い=良いモデル」とは限りません。意味のない変数を詰め込んでも $R^2$ は上がるので、$R^2$ だけでモデルどうしを比べると、変数の多いほうが有利になりすぎる。とくに説明変数の数が違うモデルを比較するときは、$R^2$ そのままでは不公平なのです。

2. 自由度調整済み決定係数 $\bar{R}^2$

この不公平を直すのが自由度調整済み決定係数 $\bar{R}^2$(アール・バー二乗、adjusted R-squared)です。発想は「変数を増やすと得をする $R^2$ に、変数を増やしたぶんのペナルティを課す」こと。具体的には、平方和そのものではなく、自由度で割った平均平方の比に置き換えます。

FORMULA

説明変数の個数を $k$、データ数を $n$ とするとき、 $$\bar{R}^2 = 1 - (1 - R^2)\,\frac{n-1}{n-k-1}$$ $n-1$ は総変動の自由度、$n-k-1$ は残差の自由度です。

この式のしくみを読み解きましょう。説明変数 $k$ を増やすと $R^2$ は上がる($1-R^2$ は下がる)ので、第2項は小さくなろうとします。ところが同時に、分母の $n-k-1$ が小さくなるため $\dfrac{n-1}{n-k-1}$ が大きくなり、ペナルティとして効きます。役に立つ変数を加えれば $\bar{R}^2$ は上がるが、役に立たない変数を加えると逆に下がる──このバランスが調整済み決定係数のミソです。

POINT

いつでも $\bar{R}^2 \le R^2$ が成り立ちます(変数が複数あるとき)。また $\bar{R}^2$ は $R^2$ と違い、当てはまりの悪いモデルでは負の値になることもあります。説明変数の数が異なるモデルを比べるときは、$R^2$ ではなく $\bar{R}^2$ で比較するのが鉄則です。

EXAMPLE 1(調整済み決定係数の計算)

$n=20$ 個のデータを $k=3$ 個の説明変数で回帰し、$R^2 = 0.75$ が得られたとします。調整済み決定係数は $$ \begin{aligned} \bar{R}^2 &= 1 - (1 - 0.75)\times\frac{20-1}{20-3-1} \\[2pt] &= 1 - 0.25\times\frac{19}{16} \\[2pt] &= 1 - 0.25\times 1.1875 \\[2pt] &= 1 - 0.296875 \approx 0.703 \end{aligned} $$

$R^2=0.75$ に対して $\bar{R}^2\approx 0.703$。自由度のぶんだけ控えめな値になりました。この差が「3個の変数を使ったコスト」です。

さえちゃん
さえ

覚え方は「$R^2$ は欲張り、$\bar{R}^2$ は冷静」。変数を増やすと $R^2$ はとりあえず喜ぶけど、$\bar{R}^2$ は「それ本当に役立った?」と差し引いて評価してくれるの。だから変数の数が違うモデルの比較は $\bar{R}^2$ で!

3. 回帰の有意性のF検定

次は「このモデルに、そもそも意味はあるのか?」というモデル全体の検定です。回帰の有意性のF検定では、次の帰無仮説を立てます。

POINT

帰無仮説 $H_0$:$\beta_1 = \beta_2 = \cdots = \beta_k = 0$(すべての偏回帰係数が0。=説明変数はどれも $y$ の説明に役立っていない)
対立仮説 $H_1$:少なくとも1つの $\beta_j$ は0でない(少なくとも1つの変数は役立っている)

この判定には、回帰で説明できた変動 $S_R$ と説明できなかった変動 $S_E$ を、それぞれの自由度で割った平均平方の比を使います。これがF統計量です。

FORMULA

$$F = \frac{\mathrm{MSR}}{\mathrm{MSE}} = \frac{S_R / k}{S_E / (n-k-1)}$$ $\mathrm{MSR}=S_R/k$ は回帰の平均平方(自由度 $k$)、$\mathrm{MSE}=S_E/(n-k-1)$ は残差の平均平方(自由度 $n-k-1$)です。この $F$ は、帰無仮説のもとで自由度 $(k,\ n-k-1)$ のF分布に従います。

考え方はこうです。もし説明変数が役立っていれば、回帰で説明できる変動 $\mathrm{MSR}$ は、ただのノイズである残差 $\mathrm{MSE}$ よりずっと大きくなるはず。だから比 $F$ が大きいほど「説明変数は効いている」証拠になります。$F$ が大きく、対応する $p$ 値が有意水準(ふつう $0.05$)より小さければ、$H_0$ を棄却して「回帰は有意(モデルに意味がある)」と判断します。

4. 分散分析表の読み取り

いま出てきた平方和・自由度・平均平方・F値を、ひとつの表にまとめたものが分散分析表(ANOVA表)です。回帰の出力には必ずと言っていいほど登場します。構造を覚えてしまいましょう。

要因 平方和 SS 自由度 df 平均平方 MS F値
回帰 $S_R$ $k$ $\mathrm{MSR}=S_R/k$ $F=\mathrm{MSR}/\mathrm{MSE}$
残差 $S_E$ $n-k-1$ $\mathrm{MSE}=S_E/(n-k-1)$
全体 $S_T$ $n-1$

表の縦は要因(回帰・残差・全体)、横は平方和 SS・自由度 df・平均平方 MS・F値です。読み取りのコツは、SS も df も「回帰+残差=全体」で足し算が合うこと($S_R+S_E=S_T$、$k+(n-k-1)=n-1$)。平均平方 MS は「SS $\div$ df」、F値は「回帰の MS $\div$ 残差の MS」。この縦横の関係さえ押さえれば、表の空欄も自力で埋められます。

EXAMPLE 2(分散分析表を完成させる)

$n=20$、説明変数 $k=3$ の重回帰で、$S_R=1800$、$S_E=600$ が得られたとします。表を埋めると:

要因SSdfMSF値
回帰$1800$$3$$1800/3=600$$600/37.5=16.0$
残差$600$$16$$600/16=37.5$
全体$2400$$19$

自由度は回帰 $k=3$、残差 $n-k-1=20-3-1=16$、全体 $n-1=19$($3+16=19$ で一致)。$F=16.0$ です。自由度 $(3,\,16)$ のF分布の上側5%点は約 $3.24$ なので、$F=16.0 > 3.24$。$p$ 値もごく小さく(約 $0.00004$)、有意水準5%で帰無仮説を棄却します。すなわち「この回帰は有意」──少なくとも1つの説明変数は $y$ の説明に役立っている、と結論します。

ちなみに $R^2 = S_R/S_T = 1800/2400 = 0.75$。EXAMPLE 1 の調整済み決定係数 $\bar{R}^2\approx 0.703$ と同じデータです。分散分析表と決定係数は、同じ平方和の分解から生まれた兄弟なのです。

5. 統計ソフト出力の読み方

実務では、これらをまとめて統計ソフトが出力します。典型的な回帰の出力は、大きく「係数表」と「モデル全体の指標」の2ブロックに分かれます。まず係数表です。

変数 係数 $\hat{\beta}$ 標準誤差 t値 p値
切片$12.0$$3.00$$4.00$$0.001$
$x_1$$5.0$$1.25$$4.00$$0.001$
$x_2$$3.0$$1.50$$2.00$$0.063$
$x_3$$0.4$$0.80$$0.50$$0.624$

係数表の読み方を1行ずつ。係数 $\hat{\beta}$ は偏回帰係数(他を一定にしたときの効果)。標準誤差は係数の推定のばらつき。t値は「係数 $\div$ 標準誤差」で、その係数が0と言えるか($\beta_j=0$ の検定。5-3 参照)の統計量。p値が小さい(ふつう $0.05$ 未満)ほど、その変数は個別に有意です。上の表では $x_1$ は有意($p=0.001$)ですが、$x_3$ は有意でない($p=0.624$)と読めます。

もう1ブロックが、モデル全体の指標です。

指標意味
決定係数 $R^2$$0.75$全変動のうち回帰で説明できた割合
調整済み $\bar{R}^2$$0.703$変数の数を考慮した当てはまり(モデル比較用)
F値$16.0$回帰全体の有意性($H_0:$ 全係数が0)
F検定のp値$0.00004$小さいほど「モデルに意味あり」
POINT

出力を読む順番のおすすめは、(1) F検定のp値でモデル全体に意味があるかを確認 → (2) $\bar{R}^2$ で当てはまりの良さを把握 → (3) 各係数のt値・p値で、どの変数が効いているかを個別にチェック、の3ステップ。「全体のF検定」と「個々の係数のt検定」は別物です。全体は有意なのに、多重共線性のせいで個々の係数がどれも有意にならない、という食い違いも起こりえます(5-5 参照)。

6. 結論と使いどころ

決定係数 $R^2$ は当てはまりの基本指標ですが、変数を増やすほど上がるので過信は禁物。説明変数の数を考慮した $\bar{R}^2$ でモデルを比較し、回帰全体に意味があるかはF検定(分散分析表)で判定する。この組み合わせが、回帰の良し悪しを見るときの定番です。そして個々の変数の効きは係数表のt値・p値で見る──全体と個別を切り分けて読むのがコツです。

まとめ

第5章 5-6、ポイントを整理します。

次回 5-7 相関係数の検定 では、母相関係数が0かどうかを検定する $t=\dfrac{r\sqrt{n-2}}{\sqrt{1-r^2}}$ を学びます。これが、じつは単回帰の傾き $\beta=0$ の検定とぴったり同じ結論を出す──という気持ちのよいつながりも確かめますよ。

さえちゃん
さえ

分散分析表は「足し算が合う・MS=SS÷df・F=MSR÷MSE」の3つで読み解ける! 空欄補充の問題が大好物だから、自分で表を1回完成させてみてね。$R^2$ と $\bar{R}^2$ の違いもセットで覚えよう!