回帰モデルの違いと使い方をわかりやすく解説!

この記事では、回帰分析の種類とその使いどころについてわかりやすくまとめます。さらに、実際に使って計算する例もご紹介します!

単回帰とは?

単回帰は「1つの入力から1つの出力」を予測するモデルです。
式は次の通りです。

y = ax + b

グラフにすると直線になります。

単回帰の活用例

  • 広告費と売上の予測
  • 製品単価と売上総額
  • 労働時間と生産量

実際に計算してみる

広告費と売上のデータで単回帰を計算します。

データ:

広告費 (x): 10, 15, 20, 25, 30
売上高 (y): 25, 35, 45, 55, 65

手順:

  1. x の平均: (10 + 15 + 20 + 25 + 30) ÷ 5 = 20
  2. y の平均: (25 + 35 + 45 + 55 + 65) ÷ 5 = 45
  3. 傾き a = Σ((x - 平均x) * (y - 平均y)) ÷ Σ((x - 平均x)^2) = 500 ÷ 250 = 2
  4. 切片 b = 平均y - a * 平均x = 45 - 2 * 20 = 5

回帰式は y = 2x + 5 です。

重回帰とは?

重回帰は「2つ以上の入力」を使って予測する方法です。

y = a1 * x1 + a2 * x2 + ... + b

重回帰の活用例

  • 広告費+営業人数で売上を予測
  • 気温+降水量で農作物の収穫量を予測
  • 顧客年齢+年収で購買額を予測

実際に計算してみる

(今回は単回帰に集中するので、重回帰の計算は次回の Python 実装で紹介します!)

多項式回帰とは?

多項式回帰は「曲線的に変化するデータ」を扱います。

y = ax² + bx + c

多項式回帰の活用例

  • 製品ライフサイクルの売上予測
  • 技術革新の普及度
  • 複雑な生産コスト曲線のモデル化

実際に計算してみる

多項式回帰は計算が複雑になるので、Python 実装で一緒に解説予定です!

対数回帰とは?

対数回帰は「最初は急増、後で鈍化」するデータに向いています。

y = a * log(x) + b

対数回帰の活用例

  • 広告費と売上:最初の投資は効果大、次第に鈍化
  • 学習時間と成績:最初は急成長、のちに停滞
  • 市場浸透率:初期拡大は速いが頭打ちになる

実際に計算してみる

広告費 (x): 10, 15, 20, 25, 30

売上高 (y): 25, 35, 45, 55, 65

まず x の対数を計算します(今回は常用対数)。

log(x): 1.00, 1.18, 1.30, 1.40, 1.48

あとは単回帰と同じ計算で、傾きと切片を求められます!
(詳細は次回、Python で解説します!)

指数回帰とは?

指数回帰は「後半に爆発的に増加するデータ」に使います。

y = a * e^(b * x) + c

指数回帰の活用例

  • 感染症の拡大:時間とともに爆発的に増加
  • 投資の複利効果:元本が増えるほど利息も増える
  • SNSの拡散:人気が出ると急激に広がる

実際に計算してみる

指数回帰も Python の力を借りて計算しましょう!
次回の記事で Python コードと一緒に解説します。

モデルごとの使い分けまとめ

モデル 特徴 向いているデータ
単回帰 直線的に増える シンプルな比例関係
多項式回帰 曲線的に増えるが上限なし 爆発的に増えるデータ
対数回帰 最初は急増、その後鈍化 広告効果、市場浸透など
指数回帰 最初はゆっくり、後半爆発的に増加 感染症拡大、投資の複利など

まとめ

データの特徴に応じてモデルを選ぶと、予測の精度がグッと上がります。

  • 単回帰:シンプルでわかりやすい
  • 多項式回帰:爆発的な成長
  • 対数回帰:初期効果が大きく、次第に鈍化
  • 指数回帰:後半の加速的成長

次回予告:Pythonで回帰モデルを作ろう!

今回は計算手順を手作業で紹介しましたが、次回は Python を使ってこれらの回帰モデルを実際にコードで書いていきます!

Python を使えば、複雑な回帰モデルも一瞬で計算&グラフ化できます。
お楽しみに!