重回帰分析:複数要因から未来を予測する手法

1. 重回帰分析とは?

重回帰分析は、**目的変数(従属変数)に複数の説明変数(独立変数)**がどのように影響するかを分析する手法です。単回帰分析が1つの説明変数を扱うのに対して、重回帰分析は複数の要因を同時に考慮します。


実務での活用例

  1. マーケティング:広告費、SNS投稿頻度、メール配信数が売上に与える影響を把握する。
  2. 経済予測:失業率、金利、物価指数からGDPを予測する。
  3. ウェブ分析:訪問数、滞在時間、ページ遷移数からコンバージョン率を予測する。

2. 重回帰分析の数理モデル

重回帰モデルの基本的な式は以下の通りです:Y=β0+β1X1+β2X2+⋯+βnXn+ϵ

  • Y:目的変数(例:売上)
  • X1,X2,⋯ ,Xn​:説明変数(例:広告費、SNS投稿頻度)
  • β0​:切片(目的変数の初期値)
  • β1,β2,⋯ ,βn​:各説明変数の係数(影響の大きさを表す)
  • ϵ:誤差項(説明変数で説明できない変動)

係数の解釈例

  • β1=0.5 の場合:「広告費が1単位増えるごとに、売上が0.5増える」と解釈できます。
  • 係数の符号が正(+)なら正の影響、負(-)なら負の影響を意味します。

3. 重回帰分析の計算と実装(Python)

以下は、Pythonを使用した具体的な重回帰分析の実装例です。

import pandas as pd
import statsmodels.api as sm

# サンプルデータの準備(広告費、SNS投稿頻度、売上)
data = pd.DataFrame({
'広告費': [100, 200, 300, 400, 500],
'SNS投稿頻度': [4, 6, 8, 10, 12],
'売上': [20, 22, 24, 27, 30]
})

# 説明変数と目的変数の設定
X = data[['広告費', 'SNS投稿頻度']]
y = data['売上']

# 定数項の追加(切片を含む)
X = sm.add_constant(X)

# 回帰モデルの構築と適用
model = sm.OLS(y, X).fit()

# モデル結果の表示
print(model.summary())

実行結果の解説

  • R²値:モデルの精度を示し、1に近いほど良い(例:0.85なら85%を説明変数で説明できる)。
  • p値:各変数の有意性を示し、0.05以下で統計的に有意と判断します。
  • 係数の値:各説明変数が目的変数に与える影響の大きさ。

4. モデルの評価指標と解釈

  • 決定係数(R²)
    • 説明変数が目的変数のどれだけの変動を説明できているかを示します。
    • 例:R²=0.85 → 説明変数が85%の変動を説明。
  • p値(p-value)
    • 説明変数が統計的に有意かどうかを判断する指標。p値が0.05未満なら有意。

5. 多重共線性の問題と対策

多重共線性は、説明変数同士が強い相関を持つことで、モデルの信頼性が低下する現象です。

検出方法:VIF(Variance Inflation Factor)

VIF値が10を超える場合、共線性の影響が大きいと判断されます。

from statsmodels.stats.outliers_influence import variance_inflation_factor

# VIFの計算
vif_data = pd.DataFrame()
vif_data["変数"] = X.columns
vif_data["VIF"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]

print(vif_data)

6. 外れ値の影響とデータのクリーニング

外れ値は、モデルの結果に大きな影響を与える可能性があります。Cookの距離を使って外れ値を特定するのが一般的です。

influence = model.get_influence()
cooks = influence.cooks_distance

# Cookの距離が大きい外れ値の特定
print("Cook's distance:", cooks)

7. 実務への応用例

A. 広告キャンペーンの最適化

  • 目的:広告費、SNSの投稿頻度、キャンペーン期間が売上にどう影響するかを分析し、最適な施策を導く。
  • 施策例:SNS投稿頻度を増やすよりも広告費の投入効果が大きい場合、予算を広告に集中する。

B. 人事データの分析

  • 目的:残業時間、従業員満足度、業績評価が退職率に与える影響を分析。
  • 施策例:残業時間削減が退職率の低下に寄与するなら、労働時間管理の改善を優先する。

8. 重回帰分析の限界と課題

  • 説明変数の選択:多すぎる説明変数はモデルを複雑化し、予測の精度が下がることがあります。
  • 非線形関係の考慮:重回帰分析は線形モデルなので、非線形な関係には適用が難しい。
  • データ量の影響:少ないデータでは分析結果が不安定になりがちです。

9. まとめ

重回帰分析は、複数の要因が目的変数にどのような影響を与えるかを明らかにする強力な手法です。実務では広告効果の測定や顧客行動の分析など、幅広い分野で活用されています。ただし、多重共線性や外れ値の影響に注意し、適切なデータクリーニングとモデル評価が求められます。

上部へスクロール