【保存版】回帰分析入門:線形回帰から正則化・診断・因果推論まで実務で使える完全ガイド

回帰とは — 基本概念とIT分野での位置づけ

回帰(regression)は、ある変数(目的変数、応答変数)が他の変数(説明変数、特徴量)によってどのように変化するかを数学的にモデル化し、予測や解釈を可能にする手法群の総称です。IT・データサイエンスの分野では「予測(prediction)」と「因果推論(causal inference)」の両方で頻繁に用いられ、機械学習、統計解析、ビジネスインテリジェンス、A/Bテストの解析等で基盤となる考え方です。

回帰の種類(概要)

  • 線形回帰(Linear Regression):目的変数を説明変数の線形結合で表す最も基本的な手法。最小二乗法(OLS)で推定されることが多い。
  • ロジスティック回帰(Logistic Regression):目的変数が二値(分類)の場合に、確率(ロジット)を説明変数の線形結合でモデル化する手法。
  • 多項回帰・ポアソン回帰などの一般化線形モデル(GLM):目的変数の分布(正規・二項・ポワソン等)に応じてリンク関数を使う拡張。
  • 多項式回帰・スプライン・カーネル回帰:非線形関係を柔軟に捉えるための手法。
  • 正則化回帰(Ridge, Lasso, Elastic Net):過学習防止や変数選択のためにペナルティを加える手法。
  • 時系列回帰:自己相関や季節性を考慮したモデル(ARIMA、状態空間モデル等)。

線形回帰の考え方と推定(OLS)

線形回帰は次のような形を仮定します: y = Xβ + ε 。ここで y は目的変数のベクトル、X は説明変数の行列、β は係数ベクトル、ε は誤差項です。最小二乗法(Ordinary Least Squares, OLS)は残差の二乗和を最小化する β を求めます。OLSは以下の条件(ガウス=マルコフの仮定)が成り立てば、線形不偏推定量の中で最小分散(BLUE: Best Linear Unbiased Estimator)となります:誤差の期待値はゼロ、誤差の等分散(ホモスケダスティシティ)、誤差間の非相関、説明変数は非確率的(または誤差と独立)等。

係数の解釈と注意点

  • 線形回帰の係数は「他の変数を固定したときの目的変数の単位変化」を表します。
  • ロジスティック回帰では係数はオッズ比の対数(log-odds)であり、exp(係数) がオッズ比になります。
  • 標準化(平均0、分散1)を行うと係数の大きさで相対的重要度を比較しやすくなりますが、単位の解釈は失われます。
  • 因果関係の解釈は回帰だけで自動的に得られるわけではありません。交絡、選択バイアス、逆因果等に留意が必要です。

診断と仮定検証(モデル診断)

回帰モデルを適切に運用するには、以下の診断が重要です:

  • 残差プロット:残差のランダム性を確認し、非線形性や構造的誤特性を検出します。
  • QQプロット:残差の正規性の確認(推定の信頼区間や検定に影響)。
  • 多重共線性(Multicollinearity):説明変数間の強い相関は係数推定の不安定化を招きます。VIF(分散膨張係数)で評価。
  • 影響点と外れ値:Cookの距離などで特異な観測値の影響を評価。
  • ヘテロスケダスティシティの検定(Breusch-Pagan等):誤差の分散が一定でない場合、標準誤差の推定に誤りが生じます。

モデル評価指標

  • 回帰(連続値)の評価:MSE(平均二乗誤差)、RMSE、MAE(平均絶対誤差)、R²(決定係数)、調整済みR²。
  • 分類の評価(ロジスティック等):正答率、適合率、再現率、F1スコア、ROC-AUC。
  • モデル比較:AIC/BIC(尤度に対するパラメータ数ペナルティ)、交差検証(クロスバリデーション)による汎化誤差の推定。

正則化と過学習対策

説明変数が多い、データが少ない、または説明変数間に相関がある場合、過学習や係数の不安定化が生じます。正則化(ペナルティ)を導入することでこれを抑えられます:

  • Ridge(L2正則化):係数の二乗和にペナルティを課し、大きな係数を小さくする。変数選択は行わないが多重共線性に強い。
  • Lasso(L1正則化):係数の絶対値和にペナルティを課し、いくつかの係数をゼロにすることで変数選択が可能。
  • Elastic Net:L1とL2を組み合わせたもの。両者の利点を調整できる。
  • ハイパーパラメータ(正則化強度)は通常交差検証で決定します。

非線形性への対応と特徴量エンジニアリング

現実のデータでは線形モデルでは説明しきれない非線形関係が存在します。対処法としては:

  • 多項式特徴(x^2, x^3 等)や交互作用項の導入。
  • スプラインや局所回帰(LOESS)による滑らかな非線形フィッティング。
  • 決定木ベースのモデル(ランダムフォレスト、勾配ブースティング)は非線形関係と相互作用を自動的に捉える。
  • 特徴量のスケーリング、カテゴリ変数のダミー化、欠損値処理などの前処理はモデル性能に直結します。

時系列と回帰の違い

時系列データでは自己相関やトレンド、季節要因が重要です。単純な回帰モデルに自己回帰項(過去の値)や移動平均項を組み込むか、ARIMAや状態空間モデル等を用います。時系列回帰では残差の独立性の仮定が破られることが多く、特殊な診断・手法が必要です。

回帰と因果推論の区別

回帰は「相関」と「予測」に強力ですが、回帰結果のみで因果関係を自動的に証明することはできません。因果推論にはランダム化比較試験、傾向スコアマッチング、差分の差分法(DiD)、インストゥルメンタル変数、構造的因果モデル(ヘル)」等の手法と明確な識別条件が必要です。

実務でのワークフロー(簡潔)

  • 問題定義:予測か因果探索かを明確にする。
  • データ収集と前処理:欠損値、外れ値、カテゴリ処理、スケーリング。
  • 特徴量設計:ドメイン知識に基づく特徴作成と交互作用の検討。
  • モデル選定と学習:線形、正則化、非線形モデルの比較。
  • 評価と検証:交差検証、残差診断、AIC/BICなど。
  • 解釈と運用:係数解釈、説明可能性(例:SHAP、部分依存プロット)、本番デプロイ。

よくある落とし穴と対策

  • 過学習:交差検証と正則化で対処。
  • 情報リーク(データリーク):学習時に将来情報が混入しないように注意。
  • 外挿(Extrapolation):訓練データ外の領域での予測は不確実性が高い。
  • 多重共線性:VIFが高い場合は変数削減、主成分分析、Ridge回帰を検討。
  • モデルの非交換可能性:異なる目的(予測重視か解釈重視か)で最適モデルは変わる。

ツールとライブラリ(実装例)

実務では以下のライブラリが広く使われています:

  • Python: scikit-learn(LinearRegression, Ridge, Lasso, ElasticNet, cross_val_score 等)、statsmodels(詳細な回帰診断、OLS, GLM)
  • R: lm(), glm(), glmnet(正則化)、caret / tidymodels(ワークフロー)
  • 他: 時系列向けにProphet、ARIMA系パッケージ、機械学習ならXGBoostやLightGBM

まとめ:回帰の役割と活用の勘所

回帰はデータから関係性を抽出し、予測や意思決定を支援する基礎的かつ強力な道具です。ただし、モデルの仮定、診断、因果解釈の限界を理解せずに使うと誤った結論を導く危険があります。実務ではデータの性質に応じたモデル選択、正則化や交差検証による汎化性能の担保、残差解析による診断、そして必要に応じて因果推論のための追加手法を組み合わせることが重要です。

参考文献