コンテンツにスキップ

第6回 重回帰分析①:モデル構築と係数の解釈

本日の到達目標

  • 残差二乗和の最小化(最小二乗法)の原理を数式で説明できる
  • 偏回帰係数の意味を解釈できる
  • 第4回で設計した時間窓特徴量を含む重回帰モデルを構築する流れを説明できる
  • 発展:正規方程式 \(\mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{X}^T\mathbf{y}\) を自分で導き、偏回帰係数が「他を固定した効果」と読める理由を説明できる

1. 単回帰から重回帰へ

1.1 単回帰モデルの復習

モデル式:

\[y = \beta_0 + \beta_1 x_1 + \varepsilon\]
  • \(y\):目的変数
  • \(x_1\):説明変数
  • \(\beta_0\):切片(intercept)
  • \(\beta_1\):回帰係数(傾き)
  • \(\varepsilon\):誤差項(\(\varepsilon \sim N(0, \sigma^2)\) を仮定)

目標:\(y\) を最もよく予測する \(\beta_0, \beta_1\) を求める

1.2 重回帰モデルへの拡張

複数の説明変数 \(x_1, x_2, \ldots, x_p\) を使う:

\[y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p + \varepsilon\]

行列表現(\(n\) 観測、\(p\) 変数):

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

2. 最小二乗法(OLS)

2.1 目的関数:残差二乗和(RSS)

残差:実測値と予測値の差 \(e_i = y_i - \hat{y}_i\)

残差二乗和(Residual Sum of Squares):

\[RSS = \sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 = \|\mathbf{y} - \mathbf{X}\boldsymbol{\beta}\|^2\]

なぜ「二乗」か? - 正負の残差が相殺されない - 大きな残差ほど強く罰則を与える(滑らかで微分可能)

【カードに記入・3分】:絶対値の和(MAE: \(\sum |e_i|\))ではなく二乗和を使う理由を数学的・実用的観点から考えてください。

2.2 解析解の導出

RSS を \(\boldsymbol{\beta}\) で微分してゼロとおく(正規方程式):

\[\frac{\partial RSS}{\partial \boldsymbol{\beta}} = -2\mathbf{X}^T(\mathbf{y} - \mathbf{X}\boldsymbol{\beta}) = \mathbf{0}\]
\[\mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{X}^T\mathbf{y}\]

OLS推定量(\(\mathbf{X}^T\mathbf{X}\) が正則行列のとき):

\[\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\]
導出①:正規方程式はどこから来るのか

RSS を行列で展開します。\(\boldsymbol{\beta}\) について整理するのが目的です。

\[RSS(\boldsymbol{\beta}) = (\mathbf{y} - \mathbf{X}\boldsymbol{\beta})^T(\mathbf{y} - \mathbf{X}\boldsymbol{\beta}) = \mathbf{y}^T\mathbf{y} - 2\boldsymbol{\beta}^T\mathbf{X}^T\mathbf{y} + \boldsymbol{\beta}^T\mathbf{X}^T\mathbf{X}\boldsymbol{\beta}\]

\(\boldsymbol{\beta}\) で微分してゼロとおきます。

\[\frac{\partial RSS}{\partial \boldsymbol{\beta}} = -2\mathbf{X}^T\mathbf{y} + 2\mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{0} \quad\Longrightarrow\quad \mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{X}^T\mathbf{y}\]

なぜこれが「最小」だと言えるのか。 \(RSS\) は \(\boldsymbol{\beta}\) の二次式で、二次の項の係数行列 \(\mathbf{X}^T\mathbf{X}\) は半正定値です(任意の \(\mathbf{a}\) について \(\mathbf{a}^T\mathbf{X}^T\mathbf{X}\mathbf{a} = \|\mathbf{X}\mathbf{a}\|^2 \geq 0\))。下に凸なので、微分がゼロになる点が最小点です。

幾何的な意味。 正規方程式は次のように書き直せます。

\[\mathbf{X}^T(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}}) = \mathbf{X}^T\mathbf{e} = \mathbf{0}\]

つまり残差ベクトル \(\mathbf{e}\) が \(\mathbf{X}\) のすべての列と直交する。予測値 \(\hat{\mathbf{y}} = \mathbf{X}\hat{\boldsymbol{\beta}}\) は、\(\mathbf{y}\) を「\(\mathbf{X}\) の列が張る空間」へ真下に落とした点(直交射影)です。最小二乗法とは、垂線を下ろす操作のことです。

切片の列(すべて1)も \(\mathbf{X}\) に含まれているので、\(\mathbf{X}^T\mathbf{e} = \mathbf{0}\) の1行目から \(\sum_i e_i = 0\) が出ます。残差の和が必ずゼロになるのは偶然ではなく、切片を入れたことの帰結です。

使った数学:ベクトルによる微分、二次形式の正負、内積と直交(線形代数)。行列微分の公式そのものの証明はこの授業では扱いません。

2.3 OLSの仮定(Gauss-Markov定理)

仮定 内容
線形性 \(y\) と \(X\) の関係が線形
厳密外生性 \(E[\varepsilon \| X] = 0\)(誤差は説明変数と無相関)
等分散性 \(\text{Var}(\varepsilon_i) = \sigma^2\)(全観測で一定)
無自己相関 \(\text{Cov}(\varepsilon_i, \varepsilon_j) = 0\)(i ≠ j)
多重共線性なし \(X\) の列が線形独立(逆行列が存在する)

これらが成立するとき、OLS推定量はBLUE(Best Linear Unbiased Estimator)


3. 偏回帰係数の解釈

3.1 偏回帰係数とは

\(\hat{\beta}_j\):他の説明変数をすべて固定した状態で \(x_j\) が1単位増加したときの \(y\) の変化量

例(日次売上の予測):

\[\hat{y} = 500 + 0.8 \times \text{移動平均7日} - 120 \times \text{降雨ダミー} + 30 \times \text{気温}\]
係数 解釈
0.8 過去7日平均売上が1万円増えると、今日の売上は0.8万円増える(他の変数固定)
-120 雨の日は晴れの日より120千円低い(他の変数固定)
30 気温が1度上がると30千円増える(他の変数固定)
導出②:なぜ「他の変数を固定したときの効果」と読めるのか

「他を固定する」と言葉で書いてありますが、実際にデータを固定したわけではありません。式の上で何が起きているかを見ます。

\(x_j\) を他のすべての説明変数で回帰し、その残差を \(\mathbf{r}_j\) とします。

\[\mathbf{r}_j = \mathbf{x}_j - (\text{他の変数で説明できる部分})\]

\(\mathbf{r}_j\) は、導出①の直交性から他のすべての説明変数と直交します。つまり「他の変数では説明しきれない、\(x_j\) だけが持っている変動」です。

このとき、重回帰で得られる \(\hat{\beta}_j\) は、\(\mathbf{y}\) を \(\mathbf{r}_j\) だけに単回帰した傾きと一致します。

\[\hat{\beta}_j = \frac{\mathbf{r}_j^T\mathbf{y}}{\mathbf{r}_j^T\mathbf{r}_j}\]

だから「他の変数と重なる情報を取り除いたうえでの \(x_j\) の効果」と読めるのです。言い換えの根拠がこの式です。

第7回への伏線:分母が \(\mathbf{r}_j^T\mathbf{r}_j\)、つまり残差のばらつきです。\(x_j\) が他の変数とよく似ていると \(\mathbf{r}_j\) はほとんどゼロになり、分母が小さくなって \(\hat{\beta}_j\) は不安定になります。これが多重共線性の正体で、次回の VIF はこの量を測っています。

使った数学:直交射影と残差(線形代数)。この関係の一般的な証明(Frisch–Waugh–Lovell の定理)はこの授業では扱いません。

3.2 標準化回帰係数(標準化 β)

説明変数の単位が異なる場合、係数の大小を直接比較できない。

→ 説明変数をすべて標準化(平均0・分散1)してから推定した係数 = 標準化回帰係数

標準化 β が大きい説明変数ほど、目的変数への「相対的な影響力」が大きい

3.3 解釈上の注意

  • 相関と因果は別物:\(\hat{\beta}_j \neq 0\) は「\(x_j\) が \(y\) に影響する」ことを証明しない
  • 共線性(説明変数間の強い相関)があると係数の推定が不安定になる(→第7回で詳述)
  • モデルに含めていない変数(交絡因子)があると係数が偏る(交絡バイアス)

4. モデルの評価指標

4.1 決定係数 R²

\[R^2 = 1 - \frac{RSS}{TSS} = 1 - \frac{\sum(y_i - \hat{y}_i)^2}{\sum(y_i - \bar{y})^2}\]
  • \(TSS\):全変動(目的変数の分散に比例)
  • \(0 \leq R^2 \leq 1\):1に近いほどモデルの当てはまりが良い

注意:変数を追加するほど \(R^2\) は単調増加 → 変数増加を罰則する調整済み \(R^2\) を使う

\[R^2_{\text{adj}} = 1 - \frac{RSS/(n-p-1)}{TSS/(n-1)}\]
導出③:変数を足すと \(R^2\) が「必ず」上がる理由

「単調増加」は経験則ではなく、最小化という操作そのものから出ます。

変数 \(x_1, \ldots, x_p\) のモデルの最小残差二乗和を \(RSS_p\) とします。ここに \(x_{p+1}\) を加えたモデルを考えます。新しいモデルでも、\(\beta_{p+1} = 0\) とおけば元のモデルとまったく同じ予測ができます。つまり元の \(RSS_p\) は新しいモデルでも達成可能な値です。

新しいモデルの \(RSS_{p+1}\) はその達成可能な値すべての中の最小値ですから、

\[RSS_{p+1} \leq RSS_p\]

\(TSS\) は \(\mathbf{y}\) だけで決まり変わらないので、\(R^2 = 1 - RSS/TSS\) は下がりません。

ここが重要です。 追加した変数が意味のない乱数列であっても、偶然の当てはまりがある限り \(RSS\) はわずかに下がります。\(R^2\) が上がったことは、その変数が役に立った証拠になりません。

だから分母に自由度を入れて「変数1つあたりどれだけ減ったか」を見る調整済み \(R^2\) や、罰則項を足す AIC・BIC が必要になります。

この「選べる範囲が広がれば最小値は下がらない」という論法は、第11回のクラスタ数 \(k\)、第13回の PLS 成分数 \(A\) でもそのまま使います。

使った数学:最小値の定義(達成可能な値の集合が大きくなれば最小値は下がらない)。

4.2 情報量基準(AIC, BIC)

変数選択に使う指標(小さいほど良い):

\[AIC = n \ln(RSS/n) + 2(p+1)\]
\[BIC = n \ln(RSS/n) + (p+1)\ln(n)\]

BICは変数数への罰則がより厳しく、より簡潔なモデルを選ぶ傾向がある。


5. 時間窓特徴量を含む重回帰の設計

5.1 第4回で生成した特徴量の利用

データ例(日次売上予測):

y: 今日の売上
x1: 移動平均7日(第4回のウィンドウ集計)
x2: 移動平均30日
x3: 直近値(前日売上)
x4: 頻度30日(30日間の来店頻度)
x5: 降雨ダミー(0/1)
x6: 気温

5.2 特徴量追加の手順(後方選択的アプローチ)

ステップ1: y ~ x1 のみでモデル構築、AICを記録
ステップ2: y ~ x1 + x2 でモデル構築、AICを比較
ステップ3: AICが改善すれば x2 を採用、改善しなければ棄却
...繰り返す

列指向ストレージとの接続:変数を1列ずつ追加する反復試行が列指向で効率化される(第2回)


6. 基盤リンクの整理

基盤概念 本回での役割 具体的な使い方
列指向 特徴量列を高速抽出して反復学習 変数追加のたびに1列だけ追加読み込み
整合性 学習データ固定で推定の再現性 スナップショットで同じデータを繰り返し使う
DAG 前処理→学習→評価をパイプライン化 AIC比較実験をDAGで管理
近似 相関・分布の粗い確認で候補絞り HLLでカーディナリティ確認後に精密計算

7. 本日のまとめ

  1. 重回帰分析は 残差二乗和(RSS)の最小化により \(\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\) を求める
  2. 偏回帰係数は「他の変数を固定した場合の1単位変化の影響」
  3. モデル評価には \(R^2\)(当てはまり)と AIC/BIC(変数選択)を使い分ける
  4. 時間窓特徴量を含む場合も基本的な枠組みは同じ

次回予告

第7回では 重回帰分析②:多重共線性(VIF)と残差分析によるモデル診断を扱う。
変数選択の試行錯誤を列指向ストレージとDAGで効率化する方法も合わせて学ぶ。


事後課題(理論エッセイ第1問の準備)

以下の問いに答えること(A4半枚):

OLS推定量 \(\hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\) について: 1. この式が成立するための条件は何か(行列として) 2. 説明変数が1つ(単回帰)の場合、この式を展開すると高校で習った「最小二乗直線」の式になることを確認せよ