統計 19 · 重回帰分析 — 複数の要因を同時に扱う

Chapter 19

重回帰分析 — 複数の要因を同時に扱う

この章がなぜ必要なのか——現実は 1 つの原因では動かない.

家賃を予測したい。面積だけでは足りない。駅からの距離も、築年数も、階数も効く。 複数の説明変数を同時に扱うのが重回帰である。

そして重回帰の本当の価値は予測精度ではない。 「他の条件を一定にしたときの、この変数だけの効果」を取り出せることである。 これは 03 章で見た交絡(アイスと水難事故)への、最初の対抗手段になる。

式は行列で書くと驚くほど簡潔になる。単回帰の式が、そのまま行列版に化ける。

この章で使う既出の用語(定義は各リンク先). 説明変数・目的変数(01 章 4 節)、独立(04 章 5 節)、期待値・分散・共分散・無相関(06 章 3〜5 節)、標準誤差(06 章 6 節)、推定量・不偏性・バイアス(10 章 1〜2 節)、\(\eta^2\)(15 章 4 節)、交互作用(15 章 5 節)、ガウス・マルコフの仮定(等分散・無相関・外生性・正規性)(18 章 1 節)、\(S_{xx}, S_{xy}\)(18 章 2 節)、平方和 \(SS_T, SS_R, SS_E\) と自由度(18 章 4 節)、残差分散 \(\hat\sigma^2\)(18 章 4 節)

1. モデル

データは \(n\) 個(\(i = 1,\dots,n\))、説明変数は \(p\) 個(\(j = 1,\dots,p\))とする。\(x_{ij}\) は \(i\) 番目のデータの \(j\) 番目の説明変数の値。

\[ y_i = \beta_0+\beta_1x_{i1}+\beta_2x_{i2}+\cdots+\beta_px_{ip}+\varepsilon_i \]

誤差 \(\varepsilon_i\) には 18 章と同じ仮定を置く: 平均 0(外生性)、分散はすべて \(\sigma^2\)(等分散)、互いに無相関。

行列表現

\[ \boxed{\mathbf{y} = X\boldsymbol{\beta}+\boldsymbol{\varepsilon}} \]
\[ \mathbf{y}=\begin{pmatrix}y_1\\ \vdots\\ y_n\end{pmatrix},\quad X=\begin{pmatrix}1 & x_{11}&\cdots&x_{1p}\\ \vdots&\vdots&&\vdots\\ 1&x_{n1}&\cdots&x_{np}\end{pmatrix},\quad \boldsymbol\beta=\begin{pmatrix}\beta_0\\ \vdots\\ \beta_p\end{pmatrix} \]

\(X\) は \(n\times(p+1)\) の計画行列 (design matrix)。第 1 列がすべて 1 なのは切片のためである。 \(X\) の第 \(i\) 行を縦に並べた列ベクトル \(\mathbf x_i = (1, x_{i1}, \dots, x_{ip})^\top\) を使うと、\(i\) 番目のデータのモデルは \(y_i = \mathbf x_i^\top\boldsymbol\beta + \varepsilon_i\) と書ける(\(\top\) は転置)。

2. 最小二乗推定量の導出

\[ S(\boldsymbol\beta)=\sum_{i}(y_i-\mathbf{x}_i^\top\boldsymbol\beta)^2 = (\mathbf y - X\boldsymbol\beta)^\top(\mathbf y-X\boldsymbol\beta) \]

展開する。\((\mathbf a - \mathbf b)^\top(\mathbf a - \mathbf b) = \mathbf a^\top\mathbf a - \mathbf a^\top\mathbf b - \mathbf b^\top\mathbf a + \mathbf b^\top\mathbf b\) と \((X\boldsymbol\beta)^\top = \boldsymbol\beta^\top X^\top\) より

\[ S = \mathbf y^\top\mathbf y - \mathbf y^\top X\boldsymbol\beta - \boldsymbol\beta^\top X^\top\mathbf y + \boldsymbol\beta^\top X^\top X\boldsymbol\beta = \mathbf y^\top\mathbf y - 2\boldsymbol\beta^\top X^\top\mathbf y + \boldsymbol\beta^\top X^\top X\boldsymbol\beta \]

(\(\mathbf y^\top X\boldsymbol\beta\) は \(1\times1\) の数なので転置しても同じ値: \(\mathbf y^\top X\boldsymbol\beta = (\mathbf y^\top X\boldsymbol\beta)^\top = \boldsymbol\beta^\top X^\top\mathbf y\)。だから 2 倍にまとめられる。)

\(\boldsymbol\beta\) で微分する。「ベクトルで微分する」とは、\(S\) を \(\beta_0, \beta_1, \dots, \beta_p\) のそれぞれで偏微分(他の成分を定数とみなして微分)し、その結果を縦に並べたベクトルを作ることである。 成分ごとに計算すると次の公式が得られる: \(\dfrac{\partial(\mathbf a^\top\boldsymbol\beta)}{\partial\boldsymbol\beta}=\mathbf a\)(\(\mathbf a^\top\boldsymbol\beta = \sum_k a_k\beta_k\) を \(\beta_k\) で微分すると \(a_k\))、 \(\dfrac{\partial(\boldsymbol\beta^\top A\boldsymbol\beta)}{\partial\boldsymbol\beta}=2A\boldsymbol\beta\)(\(A\) が対称、すなわち \(A^\top = A\) のとき。\(\sum_{k,l}A_{kl}\beta_k\beta_l\) を \(\beta_k\) で微分すると \(\beta_k\) を含む項が 2 回ずつ現れる)。 \(X^\top X\) は \((X^\top X)^\top = X^\top X\) なので対称である。

\[ \frac{\partial S}{\partial\boldsymbol\beta}=-2X^\top\mathbf y+2X^\top X\boldsymbol\beta = \mathbf 0 \]
\[ \boxed{X^\top X\hat{\boldsymbol\beta}=X^\top\mathbf y \quad (\text{正規方程式})} \]

\(X^\top X\) が正則(逆行列を持つ、すなわち \(X\) の列がどれも他の列の組み合わせで書けない)なら

\[ \boxed{\hat{\boldsymbol\beta}=(X^\top X)^{-1}X^\top\mathbf y} \]

単回帰の式と見比べる. 単回帰の \(\hat\beta_1 = S_{xy}/S_{xx}\)(18 章。\(S_{xx} = \sum(x_i-\bar x)^2\)、\(S_{xy} = \sum(x_i-\bar x)(y_i-\bar y)\))と \(\hat{\boldsymbol\beta}=(X^\top X)^{-1}X^\top\mathbf y\) は同じ形をしている。 \(X^\top X\) が「\(x\) の二乗和」、\(X^\top\mathbf y\) が「\(x\) と \(y\) の積和」に対応する。 単回帰は重回帰の \(p=1\) の場合にすぎない。

幾何学的な意味

\[ \hat{\mathbf y}=X\hat{\boldsymbol\beta}=\underbrace{X(X^\top X)^{-1}X^\top}_{H}\mathbf y \]

\(H\) をハット行列(射影行列)と呼ぶ。\(H^2=H\)(2 回掛けても 1 回と同じ。この性質をべき等と呼ぶ)、\(H^\top=H\)(対称)。 確認: \(H^2 = X(X^\top X)^{-1}\underbrace{X^\top X(X^\top X)^{-1}}_{=I}X^\top = H\)。

回帰とは射影である. \(n\) 個の値を並べた \(\mathbf y\) を \(n\) 次元空間の 1 点と見る。\(X\) の \(p+1\) 本の列の定数倍の和で作れる点の集まり(列が張る\((p+1)\) 次元の部分空間——空間の中の「平面」のようなもの)へ、\(\mathbf y\) から垂線を下ろした足が \(\hat{\mathbf y}\) である(正射影)。 残差 \(\mathbf e = \mathbf y-\hat{\mathbf y}=(I-H)\mathbf y\) はその部分空間に直交する。

$$X^\top\mathbf e = X^\top(I-H)\mathbf y = (X^\top - X^\top H)\mathbf y = (X^\top - X^\top)\mathbf y=\mathbf 0$$

(\(X^\top H = X^\top X(X^\top X)^{-1}X^\top = X^\top\) を使った。)

これが「残差はすべての説明変数と無相関」の行列版であり、 15 章・18 章の平方和分解(ピタゴラスの定理)の正体でもある。 統計の中心的な計算は、幾何学的には射影である。

3. 推定量の性質

不偏性

\(E[\boldsymbol\varepsilon] = \mathbf 0\)(外生性)より \(E[\mathbf y] = X\boldsymbol\beta\) なので

\[ E[\hat{\boldsymbol\beta}]=(X^\top X)^{-1}X^\top E[\mathbf y]=(X^\top X)^{-1}X^\top X\boldsymbol\beta=\boldsymbol\beta \]

分散共分散行列

ベクトルの分散 \(V[\mathbf y]\) は、対角に各成分の分散、非対角に成分どうしの共分散を並べた行列である。誤差が等分散(各成分の分散が \(\sigma^2\))かつ無相関(共分散が 0)なので \(V[\mathbf y]=\sigma^2 I\)(\(I\) は単位行列)。定数行列 \(A\) について \(V[A\mathbf y] = A\,V[\mathbf y]\,A^\top\) を使うと

\[ V[\hat{\boldsymbol\beta}]=(X^\top X)^{-1}X^\top(\sigma^2I)X(X^\top X)^{-1}=\sigma^2(X^\top X)^{-1} \]
\[ \boxed{V[\hat{\boldsymbol\beta}]=\sigma^2(X^\top X)^{-1}} \]

対角成分の平方根が各係数の標準誤差になる。\(\sigma^2\) は未知なので残差から推定する。残差平方和を \(SS_E = \sum_i e_i^2 = \sum_i(y_i-\hat y_i)^2\) として

\[ \hat\sigma^2 = \frac{SS_E}{n-p-1} \]

(18 章の \(n-2\) の一般化。\(n\) 個の残差はパラメータを \(p+1\) 個推定したことで \(p+1\) 本の制約(\(X^\top\mathbf e = \mathbf 0\))を受け、自由に動ける個数——自由度——が \(n-p-1\) になる。この値で割ると \(E[\hat\sigma^2] = \sigma^2\) となる。)

ガウス・マルコフの定理

最小二乗推定量は、線形不偏推定量の中で分散が最小である(BLUE: Best Linear Unbiased Estimator)。

ここで「線形推定量」とは、\(\mathbf y\) の線形結合 \(C\mathbf y\)(\(C\) は定数行列)の形で書ける推定量のこと(モデルが説明変数について線形、という意味の「線形」とは別の用法)。 正規性は不要。等分散・無相関・外生性の 3 つ(18 章)があれば成立する。

4. 偏回帰係数の意味

\[ \boxed{\beta_j = \text{他の説明変数を一定に保ったまま } x_j \text{ を 1 単位増やしたときの } y \text{ の変化}} \]

「他を一定に保つ」がすべてである。これを ceteris paribus(他の条件が同じなら)と呼ぶ。

フリッシュ・ウォー・ラベルの定理(重要)

\(\hat\beta_j\) は、次の 3 段階の手続きとまったく同じ値になる。

  1. \(x_j\) を他のすべての説明変数に回帰し、残差 \(\tilde x_j\) を得る
  2. \(y\) を他のすべての説明変数に回帰し、残差 \(\tilde y\) を得る
  3. \(\tilde y\) を \(\tilde x_j\) に単回帰する。その傾きが \(\hat\beta_j\)

これが「他の変数の影響を取り除く」ということの厳密な意味である. \(x_j\) から他の変数で説明できる部分を捨て、\(y\) からも同様に捨てる。 残った「純粋な部分どうし」の関係が偏回帰係数である。

だから重回帰は 03 章の交絡問題に部分的に対処できる。 ただしモデルに入れた変数についてだけである。測っていない交絡因子は調整できない(24 章)。

単回帰の係数と一致しない

\(x_1\) だけの単回帰と、\(x_1,x_2\) の重回帰では \(\hat\beta_1\) が変わる。 \(x_1\) と \(x_2\) が相関していれば、単回帰の \(\hat\beta_1\) は \(x_2\) の効果も拾ってしまう。

\[ \hat\beta_1^{\text{単}} = \hat\beta_1^{\text{重}} + \hat\beta_2\cdot(x_2 \text{ を } x_1 \text{ に回帰した傾き}) \]

導出: 単回帰の傾きは \(\hat\beta_1^{\text{単}} = S_{x_1y}/S_{x_1x_1}\)。ここで \(y_i\) に重回帰の当てはめ \(y_i = \hat\beta_0 + \hat\beta_1^{\text{重}}x_{i1} + \hat\beta_2 x_{i2} + e_i\) を代入すると、 \(S_{x_1y} = \hat\beta_1^{\text{重}}S_{x_1x_1} + \hat\beta_2 S_{x_1x_2} + \sum(x_{i1}-\bar x_1)e_i\)。最後の項は「残差は説明変数と直交する」(2 節)ので 0。両辺を \(S_{x_1x_1}\) で割ると上の式になり、\(S_{x_1x_2}/S_{x_1x_1}\) は \(x_2\) を \(x_1\) に回帰した傾きである。∎

これが欠落変数バイアスである。

符号が反転することさえある. 03 章のシンプソンのパラドックスの回帰版である。 「変数を 1 つ追加したら係数の符号が変わった」は、統計ソフトのバグではなく、正常な現象である。

だからこそ「どの変数をモデルに入れるか」は統計の問題ではなく、因果の知識の問題になる(24 章)。

5. モデルの評価

決定係数と自由度調整済み決定係数

\(SS_T = \sum(y_i-\bar y)^2\)(全変動)、\(SS_R = \sum(\hat y_i-\bar y)^2\)(回帰で説明できた変動)とすると、18 章と同じく \(SS_T = SS_R + SS_E\) が成り立つ(2 節 の直交性による)。

\[ R^2 = 1-\frac{SS_E}{SS_T}, \qquad \boxed{\bar R^2 = 1-\frac{SS_E/(n-p-1)}{SS_T/(n-1)}} \]

\(R^2\) は変数を増やすと必ず増える. まったく無関係な乱数を説明変数に加えても、\(R^2\) は(わずかでも)上がる。 極端には、\(p=n-1\) にすれば \(R^2=1\) になる——完全に無意味なモデルなのに(係数が切片込みで \(n\) 個あり、\(n\) 個のデータを通す \(n\) 本の式をちょうど満たせるので残差がすべて 0 になる)。

自由度調整済み \(\bar R^2\) は「役に立たない変数を入れると下がる」ように補正されている。 モデル比較には \(\bar R^2\)(あるいは 22 章の AIC・交差検証)を使う。

F 検定(モデル全体の有意性)

\[ H_0:\beta_1=\cdots=\beta_p=0 \]
\[ F=\frac{SS_R/p}{SS_E/(n-p-1)}\sim F(p,\ n-p-1) \]

部分 F 検定(変数群の追加効果)

変数を追加したモデル(full)と、しないモデル(reduced)を比べる。

\[ F = \frac{(SS_E^{\text{red}}-SS_E^{\text{full}})/q}{SS_E^{\text{full}}/(n-p-1)}\sim F(q,\ n-p-1) \]

(\(q\) = 追加した変数の個数。)交互作用項やダミー変数群をまとめて検定するのに使う。

6. カテゴリ変数の扱い — ダミー変数

\(k\) 水準のカテゴリは、\(k-1\) 個の 0/1 変数で表す。

地域\(D_{\text{東}}\)\(D_{\text{西}}\)
北(基準)00
東10
西01

\(\beta_{\text{東}}\) は「基準(北)に対する東の差」を表す。

なぜ \(k\) 個ではなく \(k-1\) 個なのか(ダミー変数の罠). 3 つ全部入れると \(D_{\text{北}}+D_{\text{東}}+D_{\text{西}}=1\) となり、切片の列(すべて 1)と完全に一致してしまう。 \(X\) が特異行列になり \((X^\top X)^{-1}\) が存在しなくなる。 だから 1 つを基準として落とす。

分散分析は重回帰の特別な場合である. 15 章の一元配置分散分析は、群をダミー変数にした重回帰とまったく同じ結果を与える。 F 統計量も、効果量 \(\eta^2\)(15 章)\(=R^2\) も一致する。 分散分析・共分散分析・t 検定・回帰は、すべて「一般線形モデル」という 1 つの枠組みの中にある。

7. 交互作用

\[ y = \beta_0+\beta_1x_1+\beta_2x_2+\beta_3x_1x_2+\varepsilon \]

\(x_1\) の効果(\(x_2\) を固定して \(x_1\) を 1 増やしたときの \(E[y]\) の増分。\(x_2\) を定数とみなして \(x_1\) で微分する偏微分 \(\partial/\partial x_1\) で書く)は

\[ \frac{\partial E[y]}{\partial x_1}=\beta_1+\beta_3x_2 \]

\(x_2\) の値によって \(x_1\) の効果が変わる——これが交互作用である(15 章)。

交互作用を入れたら、主効果の解釈が変わる. \(\beta_1\) はもはや「\(x_1\) の平均的な効果」ではなく、 「\(x_2=0\) のときの \(x_1\) の効果」になる。

\(x_2=0\) がデータの範囲外なら、\(\beta_1\) は無意味な外挿値である。 対策: 説明変数を中心化する(平均を引く)。そうすれば \(\beta_1\) は 「\(x_2\) が平均のときの \(x_1\) の効果」となり、解釈可能になる。 中心化は多重共線性の緩和にもなるので、交互作用を入れるときはほぼ必須の作法である。

8. 多重共線性 (multicollinearity)

何が起きるか

説明変数どうしが強く相関していると、\(X^\top X\) が特異行列に近づき、\((X^\top X)^{-1}\) が巨大になる。

\[ V[\hat{\boldsymbol\beta}]=\sigma^2(X^\top X)^{-1} \quad\Longrightarrow\quad \text{標準誤差が爆発} \]
症状内容
係数の標準誤差が異常に大きい個々の t 検定が有意にならない
F は有意なのに個々の t は非有意典型的なサイン
係数の符号が理論と逆「面積が広いほど家賃が安い」など
データを少し変えると係数が激変不安定

直感的な理由. 面積と部屋数がほぼ比例しているとき、 「面積の効果」と「部屋数の効果」を分離する情報がデータに含まれていない。 「面積 +10、部屋数 −1」でも「面積 −5、部屋数 +2」でも、同じくらい当てはまってしまう。 だから係数がふらつく。データが答えを持っていないのである。

診断: 分散拡大係数 (VIF)

\[ \text{VIF}_j = \frac{1}{1-R_j^2} \]

(\(R_j^2\) は \(x_j\) を他のすべての説明変数に回帰したときの決定係数。)

VIF判断
1他の説明変数と無相関
5 未満問題なし
5〜10注意
10 以上深刻

VIF = 10 は「その変数の係数の分散が、他の説明変数と無相関だった場合の 10 倍に膨れている」ことを意味する。 理由: FWL 定理より \(\hat\beta_j\) は \(\tilde x_j\) への単回帰の傾きなので、その分散は 18 章と同じ形 \(\sigma^2/\sum\tilde x_{ij}^2\)。 \(\tilde x_j\) は \(x_j\) を他の変数に回帰した残差だから \(\sum\tilde x_{ij}^2 = S_{jj}(1-R_j^2)\)(残差平方和 = 全変動 × (1 − 決定係数))。よって

\[ V[\hat\beta_j] = \frac{\sigma^2}{S_{jj}(1-R_j^2)} = \frac{\sigma^2}{S_{jj}}\cdot\text{VIF}_j \]

\(\sigma^2/S_{jj}\) が「無相関だった場合の分散」で、それに VIF が掛かっている。

対策

対策内容
変数を落とす相関の高い一方を削除
変数を合成する主成分分析(26 章)、合計スコア
データを増やす\(S_{xx}\) が増えれば緩和される
正則化Ridge 回帰(20 章)。多重共線性への最も強力な対処
中心化交互作用項・二乗項による見かけの共線性には有効

予測だけが目的なら多重共線性は問題ない. 個々の係数は不安定でも、予測値 \(\hat y\) は安定している。 困るのは「各変数の効果を解釈したい」ときだけである。 目的によって、対処すべきかどうかが変わる。

9. 実務での注意

変数選択

方法評価
総当たり法\(p\) が小さければ最良
ステップワイズ法広く使われているが批判も多い
AIC/BIC22 章
Lasso20 章。自動的に変数選択
理論に基づく選択因果推論では必須(24 章)

ステップワイズ法の問題点. 検定を何度も繰り返すので p 値が信用できなくなり(17 章)、 \(R^2\) は過大評価され、係数も過大に出る。データが少し変わると選ばれる変数も変わる。

予測目的なら交差検証(22 章)、解釈目的なら理論に基づく選択を使うべきである。

サンプルサイズの目安

\[ n \geq 10p \sim 20p \]

説明変数 1 つあたり 10〜20 個のデータが目安。少なすぎると過学習する(22 章)。

10. まとめ

項目式
推定量\(\hat{\boldsymbol\beta}=(X^\top X)^{-1}X^\top\mathbf y\)
分散\(V[\hat{\boldsymbol\beta}]=\sigma^2(X^\top X)^{-1}\)
残差分散\(\hat\sigma^2=SS_E/(n-p-1)\)
調整済み \(R^2\)\(1-\dfrac{SS_E/(n-p-1)}{SS_T/(n-1)}\)
VIF\(1/(1-R_j^2)\)