統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

3級-14 データ分析の基本

回帰直線 — 最小二乗法と予測

  • 最小二乗法
  • 回帰係数
  • 予測

はじめに

「明日の気温が分かれば、アイスが何個売れるか計算できない?」

コンビニの店長になったつもりで考えてみましょう。暑い日ほどアイスがよく売れることは、経験で分かっています。でも、仕入れの数を決めるには「よく売れる」では足りません。「明日は25度だから、何個くらい」という数字が欲しいですよね。

実は、相関係数だけではこの問いに答えられません。相関係数が教えてくれるのは関係の「強さ」であって、「気温が1度上がると何個増えるか」という「量」ではないからです。

そこで登場するのが、今回の主役 回帰直線 です。回帰直線とは、散布図の点の並びを1本の直線で代表させたものです。この直線を使うと、一方の値からもう一方の値を 予測 できます。

前回の記事では、相関と因果の違いを見ました。今回の記事では、回帰直線の読み方、最小二乗法 による求め方、そして予測の手順と注意点について解説します。

回帰直線:散布図に1本の線を引く

はじめに、回帰直線とは何かについて解説します。

散布図で点が右上がりに並んでいると、その真ん中を貫く線を引きたくなります。お団子の列に、串を1本通すイメージです。お団子が1つ1つのデータで、串が回帰直線です。このように、ある変数の値を別の変数で説明する式を求める分析を 回帰分析 と言います。

回帰直線は、次の式で表します。

y^=a+bx\hat{y} = a + bx

記号の意味は次のとおりです。

【回帰直線の記号】

  • xx: 説明変数。予測の手がかりにする変数(気温など)
  • yy: 目的変数。予測したい変数(売上など)
  • y^\hat{y}: 予測値。直線から求めた yy の値で、「ワイハット」と読む
  • aa: 切片。x=0x = 0 のときの予測値
  • bb: 傾き。これを 回帰係数 と呼ぶ

言葉で言うと、「予測値 = 切片 + 回帰係数 × 説明変数」です。

ここがポイントです。回帰係数は、「xx が1増えると、yy は平均的にいくつ変わるか」を表します。

例えば、勉強時間 xx(時間)とテストの点数 yy(点)について、y^=41.5+7.5x\hat{y} = 41.5 + 7.5x という回帰直線が得られたとします。回帰係数は7.5なので、勉強時間が1時間増えるごとに、点数は平均的に7.5点上がる傾向があると読めます。勉強時間が3時間の人なら、41.5 + 7.5 × 3 = 64 で、約64点とれそうです。

せっかくなので、別の例も見てみましょう。中古車の年数 xx(年)と価格 yy(万円)で、y^=200−15x\hat{y} = 200 - 15x だったとします。回帰係数は −15 なので、1年古くなるごとに価格は15万円下がる傾向があります。右下がりの関係では、回帰係数はマイナスになります。

以上が、回帰直線の読み方についての解説です。

最小二乗法:ズレの2乗の合計を最小にする

次に、どの直線を選べばよいのかについて説明します。

散布図に定規で線を引くと、人によって少しずつ違う線になります。そこで、「いちばん当てはまりのよい線」を決める基準が必要です。

まず、実際の値と予測値の差を 残差 と呼びます。

ei=yi−y^ie_i = y_i - \hat{y}_i

点が直線より上にあれば残差はプラス、下にあればマイナスです。残差をそのまま足すと、プラスとマイナスが打ち消し合ってしまいます。そこで、2乗してから合計します。分散のときと同じ工夫です。

∑i=1n(yi−y^i)2\sum_{i=1}^{n} (y_i - \hat{y}_i)^2

この値が最も小さくなるように aa と bb を決める方法が、最小二乗法 です。すべての点がゴムひもで直線を上下に引っ張っている場面を想像してください。遠い点ほど強く引っ張るので、線はみんなの引っ張りがつり合う位置に落ち着きます。

計算の結果は、次の公式にまとまります。導き方は覚えなくて大丈夫です。

b=sxysx2,a=yˉ−bxˉb = \frac{s_{xy}}{s_x^2}, \qquad a = \bar{y} - b\bar{x}

sxys_{xy} は xx と yy の共分散、sx2s_x^2 は xx の分散、xˉ\bar{x} と yˉ\bar{y} はそれぞれの平均です。言葉で言うと、「回帰係数 = 共分散 ÷ xx の分散」です。切片の式を変形すると yˉ=a+bxˉ\bar{y} = a + b\bar{x} となるので、回帰直線は必ず平均の点 (xˉ,yˉ)(\bar{x}, \bar{y}) を通ります。

例題:回帰直線を求める

ある店の5日間の最高気温 xx とアイスの売上 yy は、次のとおりでした。回帰直線を求めましょう。

気温 xx(度)2022242628
売上 yy(個)3038405052

【解き方】

  1. 平均を求める: xˉ=120÷5=24\bar{x} = 120 \div 5 = 24、yˉ=210÷5=42\bar{y} = 210 \div 5 = 42
  2. 偏差を表にする
x−xˉx - \bar{x}−4−2024
y−yˉy - \bar{y}−12−4−2810
偏差の積48801640
xx の偏差の2乗1640416
  1. 共分散と分散を求める: sxy=112÷5=22.4s_{xy} = 112 \div 5 = 22.4、sx2=40÷5=8s_x^2 = 40 \div 5 = 8
  2. 回帰係数を求める: b=22.4÷8=2.8b = 22.4 \div 8 = 2.8
  3. 切片を求める: a=42−2.8×24=−25.2a = 42 - 2.8 \times 24 = -25.2

答えは y^=−25.2+2.8x\hat{y} = -25.2 + 2.8x です。気温が1度上がると、売上は平均的に2.8個増える傾向があります。

本当に最小になっているか、確かめてみましょう。この直線の残差は −0.8、1.6、−2、2.4、−1.2 で、2乗の合計は14.4です。一方、見た目で引いた y^=−30+3x\hat{y} = -30 + 3x の残差は 0、2、−2、2、−2 で、2乗の合計は16になります。回帰直線のほうが小さいですね。

試験のポイント:回帰直線は平均の点 (xˉ,yˉ)(\bar{x}, \bar{y}) を通ります。また、相関係数 rr と標準偏差を使うと b=r×sy÷sxb = r \times s_y \div s_x とも書けるので、回帰係数の符号は相関係数の符号と必ず一致します。

補足(ここは読み飛ばしてOK): 共分散と分散の分母は、nn でも n−1n-1 でも同じものをそろえて使えば、割り算で消えるので回帰係数は変わりません。

以上が、最小二乗法についての説明です。

回帰直線で予測する

最後に、回帰直線を使った予測と、その注意点を見ていきましょう。

予測の手順はシンプルです。回帰直線の式の xx に値を入れるだけです。冒頭の問いに答えてみましょう。明日の気温が25度なら、次のようになります。

y^=−25.2+2.8×25=44.8\hat{y} = -25.2 + 2.8 \times 25 = 44.8

したがって、売上の予測は約45個です。店長はこの数字を手がかりに仕入れを決められます。

例題:回帰直線を読み取る

ある学校の生徒の身長 xx(cm)と体重 yy(kg)について、回帰直線 y^=−80+0.85x\hat{y} = -80 + 0.85x が得られました。身長が10cm高いと、体重の予測値はどう変わるでしょうか? また、身長170cmで体重68kgの生徒の残差はいくらでしょうか?

【解き方】

  1. 回帰係数は0.85なので、10cm高いと 0.85 × 10 = 8.5 で、予測値は8.5kg大きくなる
  2. 170cmの予測値を求める: −80 + 0.85 × 170 = 64.5
  3. 残差は実際の値から予測値を引く: 68 − 64.5 = 3.5

答えは、8.5kg大きくなる、残差は3.5kgです。残差を「予測値 − 実際の値」と逆にしないよう注意しましょう。

ただし、回帰直線は万能の予言者ではありません。使うときの注意点が3つあります。

【予測の3つの注意点】

  1. データの範囲の外は当てにならない
  2. 回帰直線は因果関係を保証しない
  3. xx と yy を入れ替えると別の直線になる

1つずつ見ていきましょう。

1. データの範囲の外は当てにならない

アイスの例のデータは20度から28度でした。この直線で5度の日を予測すると、−25.2 + 2.8 × 5 = −11.2 となり、売上はマイナス11個です。もちろん、そんなことは起こりません。データのない範囲でも同じ直線が続く保証はないのです。同じ理由で、切片の −25.2 にも「0度の日の売上」としての意味はありません。

子どもの身長の伸びを、そのまま40歳まで延ばして予測するようなものです。データの範囲の外を予測することを 外挿 と言い、慎重に扱います。

2. 回帰直線は因果関係を保証しない

前回の記事で見たように、相関があっても因果関係があるとは限りません。回帰直線も同じです。例えば、アイスの売上から水の事故の件数を予測する直線は引けますが、アイスの販売をやめても事故は減りません。回帰係数は「変えたらこうなる」ではなく、「データの上ではこう並んでいる」という意味です。

3. xとyを入れ替えると別の直線になる

最小二乗法は、yy の方向のズレだけを小さくします。そのため、「気温から売上を予測する直線」と「売上から気温を予測する直線」は別物です。何を予測したいのかを決めてから、それを yy に置きましょう。

試験のポイント:どちらの変数を説明変数にしているかを確かめて、回帰係数の単位まで読み取ります。

以上が、回帰直線を使った予測についての解説です。

細かい計算を忘れてしまっても問題ありません。ここでは、「回帰係数は共分散 ÷ xx の分散で、xx が1増えたときの yy の変化を表す」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は散布図の点の並びを1本の直線で表す回帰直線について紹介しました。相関係数が「関係の強さ」を教えてくれるのに対して、回帰直線は「どれだけ変わるか」と「いくつになりそうか」を教えてくれます。見た目で線を引くのではなく、残差の2乗の合計という基準で線を決めるところが、統計学らしい考え方です。

今回のポイントを振り返りましょう。

振り返り

  • 回帰直線はお団子の列に通す串。y^=a+bx\hat{y} = a + bx で表す。
  • 回帰係数は、xx が1増えたときの yy の平均的な変化を表す。
  • 最小二乗法は、残差の2乗の合計が最小になる直線を選ぶ方法。
  • 回帰係数は共分散 ÷ xx の分散で、直線は平均の点を通る。
  • データの範囲の外の予測は危険で、因果関係も保証しない。

キーワードのおさらい

  • 回帰直線: 散布図の点の並びを代表させた直線
  • 説明変数: 予測の手がかりにする変数
  • 目的変数: 予測したい変数
  • 回帰係数: 回帰直線の傾き。xx が1増えたときの yy の変化
  • 残差: 実際の値から予測値を引いた差
  • 最小二乗法: 残差の2乗の合計を最小にして直線を決める方法
  • 予測: 回帰直線の式に xx の値を入れて yy の値を見積もること

さて、回帰直線で予測しても、残差というズレは必ず残りました。世の中のデータには、偶然のばらつきがつきものだからです。では、この偶然はどう扱えばよいのでしょうか?

次回は、偶然を数字で扱う「確率」について、独立な試行と条件付き確率を紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. 回帰直線 y^=20+3x\hat{y} = 20 + 3x の説明として、正しいものはどれか。
問2. 変数 xx の平均が10、分散が4、変数 yy の平均が35、xx と yy の共分散が12である。yy を xx で予測する回帰直線として正しいものはどれか。
問3. 最小二乗法の説明として、最も適切なものはどれか。
問4. 広告費 xx(万円)と売上 yy(万円)の回帰直線が y^=150+12x\hat{y} = 150 + 12x である。広告費5万円の月の実際の売上が225万円だったとき、残差として正しいものはどれか。
問5. xx が10から30の範囲のデータで回帰直線を求めた。この直線を使って x=100x = 100 のときの値を予測することについて、最も適切なものはどれか。