重回帰モデルの基礎
複数の要因を同時に考慮して予測する
できるようになること
- 重回帰モデルの構造と偏回帰係数の意味を説明できる
- 多重共線性の問題を理解し、VIFの目安を知っている
- ダミー変数の使い方と自由度調整済み の意味を説明できる
単回帰では足りないとき
「単回帰と予測」の単元で、広告費 から売上 を予測する回帰直線 を学びました。
しかし、同じ広告費でも夏と冬で売上が違うとしたらどうでしょう。広告費だけでなく季節も売上に影響しているなら、広告費だけのモデルでは予測が不十分です。
さらに、広告費の効果を正しく見積もるためにも、季節の影響を分離して考える必要があります。広告費と季節が両方とも売上に影響しているとき、片方を無視したモデルでは、もう片方の効果が歪んで推定されることがあります。これを省略変数バイアス(omitted variable bias)といい、注目する変数以外の影響要因を無視したことで、推定値が本来の値からずれる現象です。
複数の説明変数を同時に扱うのが重回帰分析(multiple regression)です。
重回帰モデル
母集団における重回帰モデルは、 個の説明変数 を使って を表します。
- :母回帰係数(未知のパラメータ)
- :誤差項(モデルでは捉えきれないランダムな変動)
標本データから係数を推定した回帰式(予測に使う式)は次のようになります。
- :切片の推定値
- :偏回帰係数(partial regression coefficients)の推定値
単回帰の は、 の場合に相当します。
偏回帰係数の意味
偏回帰係数 は、「他のすべての説明変数を固定したとき、 が1単位増えると がどれだけ変わるか」を表します。
たとえば、売上を広告費 と気温 で予測するモデルが
であれば、
- :気温が同じなら、広告費1万円の増加につき売上は平均2.0万円増える
- :広告費が同じなら、気温1°Cの上昇につき売上は平均1.5万円増える
偏回帰係数は「他の変数を固定した」条件付きの効果です。単回帰で得た係数(他の変数を考慮していない)とは一般に値が異なります。これは、他の変数の影響が分離されたためです。
偏回帰係数の大きさは変数の測定単位に依存するため、「広告費の係数 2.0」と「気温の係数 1.5」を直接比較して「広告費のほうが重要」とは言えません。単位に依存しない比較をしたい場合は、すべての変数をあらかじめ平均0・分散1に変換(標準化)してから回帰を行います。このとき得られる係数を標準化偏回帰係数といいます。
係数の推定
重回帰でも、単回帰と同じく最小二乗法(OLS)を使います。残差の二乗和
を最小にする を求めます。
単回帰では公式で直接求められましたが、重回帰では説明変数が複数あるため、行列演算を用いて解きます。
ここで はデータ行列、 は目的変数のベクトル、 は係数のベクトルです。この式の構造から、 の逆行列が存在しない場合(=説明変数が線形従属な場合)には係数が一意に求まらないことがわかります。これは後述するダミー変数トラップや多重共線性と直接つながる重要なポイントです。
自由度調整済み決定係数
単回帰で学んだ決定係数 は、重回帰でも使えます。ただし、重回帰には注意点があります。
説明変数を増やすと は必ず増加(または変化しない)します。まったく関係のない変数を追加しても は下がりません。
これでは「変数を増やすほどモデルが良くなる」という誤った判断につながります。そこで、変数の数にペナルティをつけたのが自由度調整済み決定係数(adjusted )です。
- :サンプルサイズ
- :説明変数の数
分母の は残差の自由度です。 個のサンプルから切片を含む 個のパラメータを推定するため、残差が自由に動ける次元が になります。 を増やすと分母が小さくなり、 にかかる係数が大きくなるため、 の増加が小さければ は下がります。
と の差が大きいときは、モデルに不要な変数が含まれている可能性があります。
ダミー変数
広告費や気温は数値で測れますが、季節(春・夏・秋・冬)のようなカテゴリ変数はそのままモデルに入れられません。
そこで使うのがダミー変数(dummy variable)です。 個のカテゴリがある場合、 個の0/1変数を作ります。
たとえば季節(4カテゴリ)の場合、冬を**基準(ベースライン)**として:
| 季節 | |||
|---|---|---|---|
| 冬(基準) | 0 | 0 | 0 |
| 春 | 1 | 0 | 0 |
| 夏 | 0 | 1 | 0 |
| 秋 | 0 | 0 | 1 |
モデルは次のようになります。
- :冬に広告費0のときの売上予測値
- :冬と比べた春の売上の差(広告費が同じとき)
- :冬と比べた夏の売上の差
個のカテゴリに対して 個のダミー変数を作ると、切片と合わせて完全に線形従属になり、 の逆行列が存在しなくなるため係数が一意に求まりません。これをダミー変数トラップといいます。必ず1つのカテゴリを基準として省略し、 個のダミー変数を使います。
多重共線性
重回帰では、説明変数同士が強く相関しているとき問題が生じます。
たとえば「月間広告費」と「年間広告費÷12」は本質的に同じ変数であり、これを両方モデルに入れると係数は一意に定まりません(完全な多重共線性)。
実務で多いのは、完全ではないが強い相関があるケースです。たとえば不動産価格の予測で「駅からの徒歩分数」と「駅からの直線距離」を両方入れると、2つの変数は非常に似た情報を持っています。このとき係数は計算できますが、推定が不安定になります。このように説明変数間に強い線形関係がある状態を多重共線性(multicollinearity)といいます。
多重共線性が起きると
- 偏回帰係数の推定が不安定になる(標準誤差が極端に大きくなる)
- 係数の符号が直感に反する値になることがある
- 個々の変数の効果を分離できない
VIF(分散拡大因子)
多重共線性の程度を測る指標がVIF(Variance Inflation Factor)です。
ここで は、 を他のすべての説明変数で回帰したときの決定係数です。 が高いほど は他の変数で説明できるため、多重共線性が疑われます。
| VIFの値 | 判断 |
|---|---|
| 1 | 他の変数と無相関(問題なし) |
| 5〜10 | 相関係数を確認し、変数の整理を検討する |
| 10以上 | 深刻な多重共線性。変数の除外や変換が必要 |
対処法としては、相関の高い変数の片方を除外する、主成分を用いるなどの方法があります。
F検定:モデル全体の有意性
重回帰では、個々の偏回帰係数が0かどうかをt検定()で調べることができます。しかし、モデル全体として説明力があるかを検定するには、別の検定が必要です。それがF検定です。
- 帰無仮説 :(すべての説明変数は無関係)
- 対立仮説 :少なくとも1つの
検定統計量は、回帰変動と残差変動のそれぞれを自由度で割った平均平方の比です。 を使って書くと、
分子は「回帰で説明できた変動の1変数あたりの大きさ」、分母は「説明できなかった変動の1自由度あたりの大きさ」です。これは自由度 のF分布に従います。F値が大きければ、モデル全体として説明力があると判断します。
F検定が有意でも、すべての変数が有意とは限りません。また逆に、F検定が有意でなければ、個々のt検定の結果は信頼できません。
よくある誤解
「変数を増やせばモデルが改善する」
説明変数を増やすと は必ず上がりますが、 は上がるとは限りません。たとえば 、 のモデルで なら ですが、無関係な変数を14個追加して にしても がわずかに上がっただけなら、 はむしろ低下します。変数の追加は、 が改善するかどうかで判断しましょう。
「偏回帰係数の大きさ=変数の重要度」
偏回帰係数の大きさは、変数の測定単位に依存します。広告費(万円単位)の係数と気温(°C単位)の係数を直接比較しても意味がありません。変数の重要度を比較するには、前述の標準化偏回帰係数を用います。
「有意な変数だけ残せば最良のモデル」
t検定で有意でない変数を機械的に除外するのは推奨されません。変数の除外は理論的な根拠に基づくべきであり、有意性だけを基準にすると、多重比較の問題やモデルの過学習が生じます。
まとめ
重回帰分析は、複数の説明変数を同時に扱い、それぞれの変数の独立した効果を推定する手法です。偏回帰係数 は「他の変数を固定したときの の効果」を表し、カテゴリ変数はダミー変数( カテゴリなら 個)を用いて扱います。
モデルの評価には、不要な変数の追加による見かけ上の改善を防ぐ自由度調整済み決定係数 を用います。また、説明変数間の強い相関(多重共線性)には VIF を確認して対処し、F検定でモデル全体の有意性を検定したうえで、個々のt検定と合わせて総合的に判断します。
この単元ではモデルの構造と解釈を扱いました。残差の分析、外れ値の検出、モデル選択(AIC、交差検証)といった回帰診断の手法は、「回帰診断とモデル選択」で学びます。