こんにちは!ぼりたそです!
今回は重回帰分析についてわかりやすくまとめた記事を作成しました。
この記事は以下のポイントでまとめています。
- 重回帰分析とは?
- 重回帰分析のメリット、デメリット
- 変数の重要度
- 多重共線性
今回は具体的な重回帰分析の実行などは行なっていませんが、以下の記事にてPythonによる重回帰分析の実装を行なっていますので、興味がある方はご参考にしていただければと思います。
では詳細について説明していきます。
重回帰分析とは?
まず、重回帰分析とは何かについて説明します。
重回帰分析は、統計学や機械学習の中でもよく用いられる分析手法の一つです。主に、複数の説明変数(特徴量)と1つの目的変数(ターゲット)との関係を分析するのに使われます。
例を挙げながら説明します。ある店舗の売上を広告費と入店者数から予測すると仮定します。


■説明変数
- 広告費:どれくらい店舗の広告に費用をかけたか
- 入店者数:どれくらいの人が店舗に入店したか
■目的変数
- 店舗の売上:どれくらい店舗で売上があったか
重回帰分析では、これらのデータを使って、目的変数である「売上」を説明変数である「広告費」「入店社数」から予測することが目的です。
数学的に表現すると、重回帰分析では以下のようなモデルを考えます
売上 = $a_1$ × 広告費 + $a_2$ × 入店者数
ここで、$a_1$, $a_2$はそれぞれ回帰係数と呼ばれるもので、変数の相関関係や重要度を把握することができます。
重回帰分析のメリットとデメリット
次に重回帰分析のメリットとデメリットについてご説明します。
まずメリットについてです。
■メリット
次にデメリットについてです。
■デメリット
重回帰分析は複数の説明変数を使用してモデルを構築できるため、予測精度向上や変数の影響度も確認できて便利な手法なのですが、反面で変数を多く採用することによる過学習のリスクや多重共線性のリスクが発生するので要注意ですね。
変数の重要度
次にメリットでも挙げましたが変数の重要度について詳しく説明します。
ここでは冒頭で挙げたように「広告」を「広告費」、「入店者数」で予測するモデルを例として説明します。


結論から言いますと重回帰分析では標準化回帰係数から変数間の重要度を比較や目的変数との関係性を評価することができます。
標準化回帰係数とは、説明変数と目的変数を標準化した後に求められる回帰係数のことを指します。
標準化とは簡単に言うとスケールを合わせるということです。具体的には最小値を0, 最大値を1として変数同士のスケールを揃えるということですね。
例のように標準化せずに「売上」を「広告費」と「入店者数」でモデル構築した場合、広告費が1円増えるのと入店者数が1人増えるのでは同じ1単位増えるだけですが、スケールが全く異なります(そもそも円と人では数値を比較できませんよね)。なので、この1単位のスケールを揃えることを標準化と言います。
標準化回帰係数を算出したら以下のような観点から評価することができます。
- 係数の絶対値
重回帰分析において、各説明変数の標準化回帰係数の絶対値が変数の重要度を示す指標となります。係数の絶対値が大きいほど、その変数が目的変数に対してより強い影響を持っていることを示します。絶対値が小さい場合は、目的変数に対して影響が小さいことを意味します。
- 係数の符号
標準化回帰係数の符号も重要な情報となります。正の係数は、説明変数と目的変数が正の相関関係を持っていることを示します。つまり、説明変数が増加すると目的変数も増加する関係です。一方、負の回帰係数は逆の関係を示します。
多重共線性
最後に重回帰分析のデメリットでも挙げた多重共線性についてご説明します。
多重共線性(Multicollinearity)とは、重回帰分析などの回帰モデルにおいて、説明変数同士が強い相関を持つ状態のことを指します。
多重共線性の影響
多重共線性によって具体的に以下のような影響が生じる可能性が高いです。
- 係数の解釈が困難
多重共線性がある場合、各説明変数の回帰係数の解釈が困難になります。例えば、2つの説明変数が強い相関を持つと、どちらか一方を増加させたときに目的変数が増加するという情報を持っているため、回帰係数を個別に解釈することが難しくなります。
- 係数の不安定性
多重共線性があると、小さなデータの変動やサンプリングの変化によって回帰係数が大きく変動する可能性があります。これにより、モデルの安定性が損なわれます。
- 予測の信頼性が低下
多重共線性がある場合、モデルの予測の信頼性が低下する可能性があります。
小生も実務で重回帰分析を使用することもありますが、多重共線性には苦しめられています。適切な手法を使って解決することで、より信頼性のあるモデルを構築するようにしましょう。
多重共線性の評価
次に多重共線性があるかをどのように評価するかをご説明します。
多重共線性を評価するために、一般的に以下の方法が使われます。
- 相関係数の確認
説明変数同士の相関を確認することで、多重共線性の兆候を見つけることができます。相関行列を作成し、説明変数間の相関係数を確認します。相関係数が高い(通常0.7以上)説明変数のペアがある場合、多重共線性の可能性が高いです。 - 分散膨張係数(Variance Inflation Factor, VIF)
VIFは、各説明変数を他の説明変数の線形結合として予測するための係数を表します。VIFの値が大きいほど、多重共線性の影響が強いことを示します。一般的な基準として、VIFが5以上(一部の文献では10以上)の変数は多重共線性があるとされます。 - 新しいデータの追加
既存のデータに似たようなデータを追加して回帰係数を計算した場合、著しく係数が変動した場合は多重共線性の疑いがあります。
以上の方法を使って、多重共線性の存在を評価することができます。ただし、どの指標を使うかは場合によって異なる場合があるため、複数の評価指標を併用し、結果を総合的に判断することが重要かと思います。
多重共線性へのアプローチ
最後に多重共線性へのアプローチについて説明します。
やっかいな多重共線性ですが、アプローチ方法もきちんとあります。
具体的には以下のようなものがあります。
- 変数の削除
相関が強い説明変数を削除することで、共線性を解消することができます。ただし、削除する変数が本当に重要な情報を持っている場合は慎重に検討する必要があります。
- 変数の結合
複数の説明変数を結合して新しい変数を作成することで、共線性を減らせることがあります。ただし、新た作成した変数が何を意味しているかなどの解釈には注意が必要です。
- 主成分分析の使用
主成分分析は相関がある変数を一つの変数としてまとめることができるため、多重共線性を解消できることが期待できます。ただし変数や重要度の解釈が難しくなる場合がありますので周囲が必要です。
個人的には重要度の比較がしたいのであれば変数の削除が一番手っ取り早いのかなとは感じています。他の手法も効果的なのですが、変数の解釈などが難しくなるため、本末転倒感がありますね。
単純に予測などに使用する場合であれば2, 3などの手法は効果的だと感じています。
終わりに
以上が重回帰分析についての解説になります。重回帰分析は手法も簡単で変数の影響度などを比較できるので非常に重宝しているのですが、多重共線性などのトラップを回避しなければいけないので注意が必要ですね。実務だと多重共線性には本当に苦しめられます。
きちんと使用すればすごく便利な分析手法になりますので、注意点を踏まえた上で使いこなしていきましょう!