Menu

回帰直線(最小二乗法)

どんな点の散らばりにも、最小二乗法で測ってずれが最も小さい直線がちょうど1本あります。点をドラッグすると、直線は最良であり続けるように動きます。

著者: Nethanel Bar, 共同創業者兼CEO

最終更新

実際のデータをプロットすると、点は1本の直線にはおさまってくれません。それでも雲の中に傾向をとらえる直線を引くことはでき、定規を持った人それぞれが少しずつ違う直線を引くでしょう。回帰直線がこの議論に決着をつけます。厳密な尺度で最良の直線が1本あり、それを見つける公式があるのです。

下のどの点をドラッグしても、直線は最もよく当てはまるように動きます。1つの点をほかから遠くへ引っぱり、それが直線をどれだけ強く自分のほうへ引き寄せるかに注目してください。

y = x + 1傾き1切片1

どの点をドラッグしても、直線は最もよく当てはまるように動きます。ほかから遠い点ほど強く直線を引っぱります。

「最良」の意味

直線は各点から縦の距離だけずれます。点の実際の y から、その x で直線が予測する y を引いたものです。この距離がその点の残差です。良い直線なら残差は小さいはずですが、単純に足すことはできません。直線より上のずれは正、下のずれは負で、打ち消し合うからです。

そこで各残差をまず2乗します。こうするとすべてのずれが数に入り、大きなずれは小さなずれよりずっと重く数えられます。回帰直線とは、残差の2乗の和をできるかぎり小さくする直線です。だから最小二乗法の直線と呼ばれ、x の値がすべて同じでない点の集まりには、ちょうど1本だけ存在します。

2つの公式

直線を y = mx + b と書き、データの平均を x̄ と ȳ で表します。2乗の和を最小にすると、傾きと切片が直接得られます。

m = Σ(x - x̄)(y - ȳ) / Σ(x - x̄)²

b = ȳ - m x̄

傾きの公式の分子は、相関係数の分子にあるのと同じ積の和です。だから傾きと r はつねに同じ符号になります。分母には x しか出てきません。x の値がどれだけ散らばっているかを測っています。

計算例

5つの点です。x = 2, 4, 6, 8, 10、y = 3, 7, 8, 12, 15。x の平均は 6、y の平均は 9 です。

xyx - 6y - 9積(x - 6)²
23-4-62416
47-2-244
680-100
8122364
1015462416
合計5840

傾きは m = 58/40 = 29/20、つまり 1.45 です。切片は、平均の点を直線に代入して b について解きます。

したがって b = 3/10 で、回帰直線は y = 1.45x + 0.3 です。回帰分析の計算ツールは、和だけで計算できる形の公式で同じ計算をし、それぞれの和を表示します。

回帰直線はつねに平均の点を通る

切片の公式を変形すると ȳ = m x̄ + b になります。これは、データがどうであれ、点 (x̄, ȳ) がちょうど直線上にあるということです。この例では 1.45 × 6 + 0.3 = 9 です。

これは計算した直線を確かめるのに役立ち、目分量で直線を引くときの出発点にもなります。まず平均の点に印をつけ、そのまわりで定規を回して、両側の点がつり合うところを探します。

ただし、平均の点を通るだけでは十分ではありません。x = 1, 2, 3, 4, 5、y = 2, 4, 5, 4, 5 では平均の点は (3, 4) で、最小二乗法の直線は y = 0.6x + 2.2、残差平方和は 2.4 です。直線 y = 0.5x + 2.5 と y = x + 1 もどちらも (3, 4) を通りますが、その2乗の和は 2.5 と 4 です。その点を通るすべての直線のうち、2.4 まで下がるのは傾き 0.6 だけです。

直線で予測する

直線が得られれば、予測は代入するだけです。y = 1.45x + 0.3 なら、x = 7 では 1.45 × 7 + 0.3 = 10.45 です。

この予測は内挿です。7 はデータの内側、6 と 8 の点の間にあるので、そこで傾向が成り立つ証拠が両側にあります。データの範囲の外での予測は外挿で、データは何もそれを支えていません。

具体例です。6人の生徒が1〜6時間勉強し、52、58、61、67、70、76 点をとりました。回帰直線は y = 162/35x + 47.8 で、傾きは1時間あたりおよそ 4.63 点、r ≈ 0.9959 です。データの内側ではよく予測できます。4.5 時間ならおよそ 68.63 点です。12 時間まで外挿すると、100 点満点のテストでおよそ 103.34 点と予測します。直線に問題はありません。直線が表す傾向がデータの先のどこかで止まるだけで、それがどこかを直線は知りようがないのです。

直線が正しい形でないとき

直線が間違ったモデルであっても、回帰直線はつねに存在します。x = 0〜5 での平方数 0, 1, 4, 9, 16, 25 の回帰直線は y = 5x - 10/3、r ≈ 0.9599 で、とても良さそうに聞こえますが、点は曲線上にあります。残差が正体を明かします。両端で正、真ん中で負です。残差のページでこのパターンの読み方を説明しています。二次回帰の計算ツールなら、代わりに曲線を当てはめます。

ひとつ試す

x = 4 の実際の点は (4, 7) なので、直線はそこから 0.9 ずれています。そのずれがこの点の残差で、5つのずれの2乗の和 1.9 は、これらの点に対してどんな直線でもこれより小さくできない値です。

よくある質問

回帰直線とは何ですか。
散布図の点の傾向を要約するために引く直線です。厳密な意味での回帰直線は最小二乗法による直線で、考えられるすべての直線のうち、点からの縦のずれを2乗して合計した値が最も小さくなるものです。
回帰直線はどう求めますか。
x の平均と y の平均を求めます。傾きは (x − x の平均)×(y − y の平均) の和を、(x − x の平均) の2乗の和で割ったものです。切片は、y の平均から傾き×x の平均を引いたものです。x = 2, 4, 6, 8, 10、y = 3, 7, 8, 12, 15 なら、傾きは 58/40 = 1.45、切片は 9 − 1.45 × 6 = 0.3 なので、y = 1.45x + 0.3 です。
回帰直線は原点を通らなければなりませんか。
いいえ。通るのは原点ではなく平均の点です。(0, 0) を通るように強制するのは別のモデルで、x が 0 のとき y が 0 でなければならない理由があるときだけ使い、ふつうは点への当てはまりが悪くなります。
回帰直線はどれかの点を通らなければなりませんか。
いいえ。たいていはどの点も通りません。必ず通る唯一の点は (x の平均, y の平均) で、それはデータ点の1つでないことがよくあります。できるだけ多くの点に触れるように引いた直線は、最小二乗法の直線ではありません。
内挿と外挿の違いは何ですか。
内挿は、データの範囲内の x について y を予測することで、直線の両側に支えとなる点があります。外挿はその範囲の外で予測することで、傾向が続くことを示すものはデータに何もありません。当てはまりが良ければ内挿はおおむね信頼できますが、外挿は r が 1 に近くても大きく外れることがあります。
回帰直線と線形回帰は同じですか。
ふつうの意味では同じです。線形回帰は方法で、それが生み出す最小二乗法の直線が回帰直線です。学校ではグラフに目分量で引いた直線も近似直線と呼びますが、それは回帰直線の見積もりであって、回帰直線そのものではありません。

関連する考え方

Coddyのプログラミング言語のイラスト

Coddy で数学を学ぶ

始める