【重回帰分析とは】計算式やアルゴリズムの仕組みをわかりやすく解説

重回帰分析の意味や使い方、相関係数(偏回帰係数)や決定係数などについて解説します。

重回帰分析とは

重回帰分析(Multiple Linear Regression)は、2つ以上の特徴量(x₁, x₂, …)から1つのターゲット変数(y)を予測するモデルです。 以下ページで解説した単回帰分析が「1対1の関係」だったのに対し、重回帰分析は「多対1の関係」を扱います。

【単回帰分析とは】計算式の仕組みをわかりやすく解説
単回帰分析とは?計算式の仕組みや求め方、決定係数による性能検証方法などをVTuberの視聴者数予測を例をわかりやすく解説します。

数学的には以下の式で表されます。

予測値を計算する式:$$ \hat{y} = a_1x_1 + a_2x_2 + \dots + a_kx_k + b $$
実測値の関係:$$ y = a_1x_1 + a_2x_2 + \dots + a_kx_k + b + \varepsilon $$

変数 説明 例 (VTuber配信)
$\hat{y}$ モデルが計算した目的変数の推定値 視聴者数(予測値)
$y$ 実際に観測された目的変数 視聴者数(実測値)
$x_1, x_2, …, x_k$ 特徴量(説明変数) 登録者数、Xフォロワー数、配信時間 など
$a_1, a_2, …, a_k$ 回帰係数(各特徴量が1増えたときのyの増加量) 登録者数が1人増えると視聴者数が何人増えるか等
$b$ 切片 すべての特徴量が0のときの理論的な視聴者数
$\varepsilon$ 誤差項(予測と実際のズレ) モデルが説明できない部分
重回帰分析では、各特徴量がどれだけ視聴者数に影響しているかを「回帰係数」で定量的に評価できます。

回帰平面

回帰平面の使い方

今回は、VTuberの同時視聴者数予測を例に解説します。

以下のように「登録者数」「Xフォロワー数」「平均配信時間」の3つを特徴量とし、視聴者数(y)を目的変数にします。

配信回 登録者数 $x_1$ Xフォロワー数 $x_2$ 平均配信時間(分)$x_3$ 視聴者数(y)
兎野ぺこり#1 150,000 80,000 120 4,200
港あくび#1 120,000 65,000 90 3,300
星空スバリ#1 100,000 50,000 110 2,700
修士みより#1 80,000 40,000 60 1,800

① 各特徴量を軸にした3次元空間にデータをプロットします。

② この空間内で、誤差が最小になるような「平面(または高次元超平面)」を探します。これが回帰平面です。

③ 各特徴量の回帰係数$a_i$と切片$b$を求めると、予測式が完成します。

回帰係数の求め方(最小二乗法)

重回帰分析でも、最小二乗法で係数と切片を求めます。
単回帰分析では傾きと切片の2変数でしたが、重回帰では複数の係数があり、行列計算でまとめて計算します。

式の形:$ \boldsymbol{y} = \boldsymbol{X}\boldsymbol{a} + b $
]

最小二乗解:$\boldsymbol{a} = (\boldsymbol{X}^\mathsf{T} \boldsymbol{X})^{-1} \boldsymbol{X}^\mathsf{T} \boldsymbol{y} $

  • $X$:特徴量の行列(各行が1つのデータ点、各列が1つの特徴量)
  • $\beta$:回帰係数ベクトル(傾きと切片を含む)
  • $\hat{y}$:予測値のベクトル

相関と多重共線性

重回帰分析では、特徴量同士が強く相関しすぎる(多重共線性)と、係数の推定が不安定になり、解釈が難しくなります。
このため、事前に相関係数やVIF(Variance Inflation Factor)で確認します。

VIF値 解釈
1~5 問題なし
5~10 注意が必要
10以上 強い多重共線性がある

訓練データに対する適合性(決定係数)

決定係数 $R^2$ は単回帰と同じく、モデルの説明力を評価します。
複数の特徴量を使うと説明力が上がることもありますが、不要な特徴量を入れると過学習のリスクも増します。
そのため調整済み決定係数(Adjusted $R^2$)も使います。

$\text{Adjusted } R^2 = 1 – (1 – R^2) \frac{n-1}{n-k-1}$
$n$:データ数、$k$:特徴量数

汎化性能の検証

重回帰分析でも、学習用とテスト用データを分けるのが基本です。
性能指標はMAE、MSE、RMSE、(R^2)など。過学習を防ぐには特徴量選択や正則化(Ridge, Lasso)も有効です。

指標 意味 解釈
決定係数 $R^2$ 回帰式がどれだけ実測値にフィットしているか 1に近いほど良いモデル
MAE 平均絶対誤差 小さいほど予測が安定
RMSE 二乗平均平方根誤差 外れ値に敏感な誤差指標
重回帰分析では、**特徴量の選び方**が精度に大きく影響します。不要な特徴量を入れると、モデルが複雑になりすぎて過学習を起こすことがあります。

予測の不確かさ

重回帰でも信頼区間・予測区間を計算できますが、式は多次元になります。
各係数の推定値ごとにt検定を行い、有意でない係数は説明力に乏しい可能性があります。

まとめ

重回帰分析は、複数の要因が絡む現実の予測問題に対して有効な手法です。VTuberの視聴者数予測のように、登録者数だけでなくSNSフォロワー数や配信時間などの複数の特徴量を使うことで、より精度の高い予測が可能になります。

  1. 相関係数で関係性を確認
  2. データの準備(複数の特徴量)
  3. 最小二乗法で回帰係数を求める
  4. 決定係数や誤差指標で性能評価
  5. 過学習や多重共線性に注意

ただし、以下の注意点があります。

  1. 多重共線性
    • 特徴量同士が強く相関していると、回帰係数の推定が不安定になります。
  2. 外れ値の影響
    • 極端な値があると、モデルが引っ張られてしまうことがあります。
  3. 非線形性
    • 特徴量とターゲット変数の関係が直線でない場合、重回帰分析ではうまく予測できません。

関連ページ

以下のページでは、機械学習の様々な手法を理論的に学ぶことができます。

【機械学習のアルゴリズム超入門】原理からプログラミング実装例まで解説
機械学習のアルゴリズム(原理)やプログラミング方法について入門者向けにまとめました。

以下のページでは、Pythonライブラリ「Scikit-learn」を用いた機械学習の実装方法を学ぶことができます。

【Scikit-learn超入門】使い方とPythonで機械学習を行うサンプルコードを解説
Pythonライブラリ「Scikit-learn」で機械学習を行う方法を解説します。
この記事を書いた人
西住技研

在学中はシステム制御理論や画像処理、機械学習を専攻分野として研究していました。就職後は、プログラミング(Python)を活用したデータ分析や作業自動化に取り組み、現在に至ります。そこで得たノウハウをブログで発信しています。
YoutubeX(旧Twitter)でも情報発信中です

西住技研をフォローする
機械学習

コメント