回帰分析は、1つ以上の説明変数が変化したときに目的変数がどう変わるかを説明する方法です。説明変数が1つで目的変数が数値なら単回帰、説明変数が複数で目的変数が数値なら重回帰、合格/不合格のような2値の目的変数ならロジスティック回帰を使います。

この区別を押さえると、いちばん多い疑問にはすぐ答えられます。

  • 単回帰: 説明変数が1つ、目的変数は数値。
  • 重回帰: 説明変数が複数、目的変数は数値。
  • ロジスティック回帰: はい/いいえ、合格/不合格、クリックした/しなかったのような2値の目的変数。

その次に大事なのが解釈です。係数は、モデルが目的変数の種類に合っていて、データにも十分うまく当てはまっているときにだけ、期待どおりの意味を持ちます。

回帰分析で何をするのか

回帰は、点の間にただ直線を引くだけではありません。説明変数と期待される目的変数を結びつけるルールを作り、パターンを説明したり予測したりします。

線形回帰では、そのルールは目的変数の期待値に対する直線モデルです。ロジスティック回帰では確率を扱うモデルを作るので、予測値は 00 から 11 の間に収まります。

単回帰: 説明変数1つ、目的変数は数値

単回帰では、1つの説明変数 xx と1つの数値の目的変数 yy を使います。

y^=b0+b1x\hat{y} = b_0 + b_1x

ここで y^\hat{y} は予測された目的変数、b0b_0 は切片、b1b_1 は傾きです。

傾き b1b_1 は、関心のある範囲で直線的なパターンが妥当な近似になっているなら、xx が1単位増えたときに yy がどれだけ変化すると予測されるかを表します。

重回帰: 説明変数が複数、目的変数は1つの数値

重回帰も基本の考え方は同じですが、説明変数を1つより多く使います。

y^=b0+b1x1+b2x2++bpxp\hat{y} = b_0 + b_1x_1 + b_2x_2 + \cdots + b_px_p

これは、1つの説明変数だけでは単純すぎるときに役立ちます。実際の結果は、同時にいくつもの要因に左右されることが多いからです。

ここで重要なのは解釈の変化です。b1b_1 は、他の含まれている説明変数を一定に保ったまま x1x_1 が1単位増えたときの、yy の予測変化を表します。

この「他の説明変数を一定に保つ」という条件が、重回帰を単なる1変数比較の集まりと区別するポイントです。

ロジスティック回帰: 2値の目的変数と確率

ロジスティック回帰は、数値の目的変数ではなく2値の目的変数に使います。たとえば合格したかどうか、離脱したか継続したか、合格か不合格かのような結果なら、線形回帰は通常は適切ではありません。

ロジスティック回帰では、目的変数そのものを直線で表すのではなく、目的変数の対数オッズをモデル化します。

log(p1p)=b0+b1x1+b2x2++bpxp\log\left(\frac{p}{1-p}\right) = b_0 + b_1x_1 + b_2x_2 + \cdots + b_px_p

ここで p=P(Y=1x1,x2,,xp)p = P(Y=1 \mid x_1, x_2, \ldots, x_p) です。

左辺は確率そのものではなく対数オッズです。ここが重要なのは、確率は 00 から 11 の間に収まらなければならないからです。単純な直線モデルだと 1.21.20.1-0.1 のようなありえない値を予測してしまうことがありますが、ロジスティック回帰ではそれが起こりません。

例題: 点数を予測する場合と合格/不合格を予測する場合

ある先生が生徒の成績を調べたいとします。

目的変数が試験の点数で、説明変数が勉強時間だけなら、単回帰モデルは次のようになります。

y^=42+5x\hat{y} = 42 + 5x

生徒が 66 時間勉強したなら、予測点数は

y^=42+5(6)=72\hat{y} = 42 + 5(6) = 72

となります。ここで傾きは、線形モデルが妥当によく当てはまっているなら、勉強時間が1時間増えるごとに予測点数が 55 点上がることを意味します。

次に、先生が睡眠時間と小テストの実施回数も説明変数に加えるとします。重回帰モデルは次のようになるかもしれません。

y^=20+4x1+2x2+1.5x3\hat{y} = 20 + 4x_1 + 2x_2 + 1.5x_3

ここで x1x_1 は勉強時間、x2x_2 は睡眠時間、x3x_3 は完了した小テストの回数です。

このとき係数 44 の意味は、より限定的になります。睡眠時間と小テスト回数を一定に保ったまま、勉強時間が1時間増えたときの予測点数の変化です。

では、問いを変えてみます。点数を予測する代わりに、生徒が合格する確率を知りたいとします。この場合、目的変数は2値になるので、自然な選択はロジスティック回帰です。

log(p1p)=6+0.8x1+0.5x2\log\left(\frac{p}{1-p}\right) = -6 + 0.8x_1 + 0.5x_2

生徒が 66 時間勉強し、77 時間眠ったなら、

6+0.8(6)+0.5(7)=2.3-6 + 0.8(6) + 0.5(7) = 2.3

となるので、予測確率は

p=11+e2.30.91p = \frac{1}{1 + e^{-2.3}} \approx 0.91

です。このモデルは、合格する確率がおよそ 91%91\% だと予測しています。数値そのものはあくまで例です。大事なのは、目的変数が点数から合格/不合格に変わるなら、使う回帰モデルの種類も変えるべきだという点です。

回帰分析でよくあるミス

2値の目的変数に線形回帰を使う

目的変数が 0011 しか取らないなら、通常はロジスティック回帰のほうが適切です。これは確率を扱うように設計されているからです。線形回帰が近似として使える特別な場合もありますが、確率予測としては不適切になることもあります。

回帰を因果関係の証明だと考える

回帰は関連を記述したり、予測を支えたりできます。しかし、それだけで1つの変数を変えると目的変数が変わると証明できるわけではありません。

モデルの前提や適合を無視する

係数が期待どおりの意味を持つのは、選んだモデルが妥当に当てはまっているときだけです。線形回帰では、直線で要約するのが妥当か、また誤差にモデルが見落としたパターンがないかを確認することがよくあります。

重回帰の係数を読みすぎる

重回帰では、係数は他の含まれている説明変数を条件にした値です。重要な変数が抜けていたり、説明変数どうしが強く絡み合っていたりすると、解釈は不安定になります。

回帰分析はどこで使われるか

回帰は、ばらつきを説明したいとき、条件付きの関係を推定したいとき、またはデータから予測したいときに使われます。

ビジネス予測、医療、社会科学、品質管理、教育、機械学習などでよく見られます。どの形を使うかは目的変数によって決まり、数値の目的変数なら線形モデル、2値の目的変数ならロジスティックモデルになることが多いです。

適切な回帰モデルの選び方

まず次の2つを確認します。

  1. 目的変数は数値か、それとも2値か。
  2. 説明変数はいくつ入れたいか。

目的変数が数値なら、まず線形回帰を考えます。説明変数が1つなら単回帰、複数なら重回帰です。

目的変数が2値なら、まずロジスティック回帰を考えます。

これで必ず良いモデルになるとは限りませんが、少なくとも正しいモデル群にすばやく入ることができます。

似た問題で練習してみよう

1つの小さなデータセットに対して、2つの異なる問いを立ててみましょう。まずは点数のような数値の目的変数を予測します。次に、その目的変数を合格/不合格のような2値に変換します。この並べて比べる方法は、回帰分析の感覚をつかむ最も速い方法の1つです。

問題の解き方でお困りですか?

問題をアップロードすると、検証済みのステップバイステップ解答が数秒で届きます。

GPAI Solver を開く →