Menu

回帰分析(線形回帰)の計算ツール

点に最もよく当てはまる回帰直線を正確に。r と計算の全手順つき。

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

最終更新

計算ツールなしで解けるようになりたいですか?

Coddy の数学コースは解き方そのものを教えます。対話式のボードで一手ずつ進め、どこで手順が狂ったのかを正確に教えてくれます。

線形回帰は、点からのずれが最も小さい1本の直線を見つける

実際のデータが1本の直線にぴったり並ぶことはないので、どんな直線を引いてもほとんどの点からはずれます。そのずれの一つひとつが残差です。実際の y から、直線が予測する y を引いたものです。線形回帰は残差をすべて2乗して合計し、その合計が最も小さくなる直線を1本選びます。これが最小二乗法による回帰直線で、x の値がすべて同じでないかぎり、どんな点の集まりにもちょうど1本だけ存在します。

求めるのに必要な数は5つです。個数 n と、x、y、xy、x² それぞれの和。傾きは m = (nΣxy − ΣxΣy) / (nΣx² − (Σx)²)、切片は b = (Σy − mΣx) / n です。このページはその和の表を作り、あなたの数を両方の式に代入し、計算を1行ずつ見せます。先生が確かめるのはその表だからです。

傾きと切片は正確な分数のまま保ちます。整数、小数、分数でできたデータなら、傾きと切片はつねに有理数です。だから傾き 162/35 は 162/35 と表示し、それを丸めた 4.6286 とは書きません。相関係数 r は平方根なので、根号の形で示し、隣に小数を添えます。コピーボタンを押せば、スプレッドシートにそのまま使える小数の直線が得られます。

この直線について気づいてほしいこと

  • 回帰直線はつねに平均の点を通ります。x = 1〜5、y = 2, 4, 5, 4, 5 なら平均は 3 と 4、直線は y = 0.6x + 2.2 で、0.6 × 3 + 2.2 = 4 です。
  • 残差の合計はつねにちょうど0です。直線より上のずれと下のずれがつり合うので、この方法では足す前に2乗します。
  • 傾きには単位があります。x の1単位あたりの y の単位です。勉強時間とテストの点数で傾きが 162/35 なら、1時間増えるごとにおよそ 4.63 点上がるという意味です。
  • x と y を入れ替えると、同じ直線を変形したものではなく、別の直線になります。x に対する y の回帰は縦のずれを小さくし、y に対する x の回帰は横のずれを小さくします。
  • 傾きは傾向の急さを、r は点がどれだけその傾向に沿っているかを表します。符号はつねに一致しますが、急な直線で r が弱いことも、ゆるやかな直線で r が強いこともあります。
  • 2点なら必ず完全に当てはまり、r = 1 か -1 になります。これはデータについて何も語りません。回帰直線が意味を持ち始めるのは3点以上からです。

回帰直線を手で求める手順

  1. 表を作る

    各点を1行にし、x、y、xy、x² の4列を書きます。各列を合計し、点の数を数えます。x = 1, 2, 3, 4, 5、y = 2, 4, 5, 4, 5 なら n = 5、Σx = 15、Σy = 20、Σxy = 66、Σx² = 55 です。

  2. 傾きを計算する

    m = (nΣxy − ΣxΣy) / (nΣx² − (Σx)²)。ここでは (5 × 66 − 15 × 20) / (5 × 55 − 15²) = 30 / 50 = 0.6 です。短い小数にならないときは分数のまま保ってください。

  3. 切片を計算する

    b = (Σy − mΣx) / n。ここでは (20 − 0.6 × 15) / 5 = 11/5 = 2.2 です。丸めた傾きではなく、前の手順で出た正確な傾きを使います。

  4. 直線を書いて確かめる

    y = 0.6x + 2.2。平均の点 (3, 4) を通るか確かめます。0.6 × 3 + 2.2 = 4。通らなければ、どれかの和が間違っています。

  5. 当てはまりを判断する

    r を求めるか、残差を見ます。ここでは r = √15/5、およそ 0.7746 で、残差は -0.8、0.6、1、-0.6、-0.2、その2乗の合計は 2.4 です。

小さなデータの回帰直線

各行は、上の計算ツールに入力したデータ1組です。傾きと切片は正確な値で、r は根号の形と小数で示しています。

x の値y の値回帰直線rr²
1, 2, 3, 4, 52, 4, 5, 4, 5y = 0.6x + 2.2√15/5 ≈ 0.77460.6
0, 1, 2, 37, 5, 3, 1y = -2x + 7-11
2, 4, 6, 8, 103, 7, 8, 12, 15y = 1.45x + 0.329√215/430 ≈ 0.9889841/860
1, 2, 3, 4, 5, 652, 58, 61, 67, 70, 76y = (162/35)x + 47.89√15/35 ≈ 0.9959243/245
1, 2, 3, 4, 53, 1, 4, 1, 5y = 0.4x + 1.6√2/4 ≈ 0.35360.125
1, 32, 8y = 3x - 111
-2, -1, 0, 1, 24, 1, 0, 1, 4y = 200

解いてみる

教科書のデータ

plain
x: 1, 2, 3, 4, 5; y: 2, 4, 5, 4, 5

和は Σx = 15、Σy = 20、Σxy = 66、Σx² = 55、n = 5 です。傾きは 30/50 = 0.6、切片は 11/5 = 2.2 なので、直線は y = 0.6x + 2.2。残差は -0.8、0.6、1、-0.6、-0.2 で合計は 0、その2乗の合計は 2.4 です。相関は r = √15/5、およそ 0.7746 で、強い正の相関です。

傾きが分数になる例: 勉強時間とテストの点数

plain
x: 1, 2, 3, 4, 5, 6; y: 52, 58, 61, 67, 70, 76

平均は 3.5 時間と 64 点です。傾きは 162/35、1時間あたりおよそ 4.63 点で、切片は 64 − (162/35) × 3.5 = 47.8。よって y = (162/35)x + 47.8、r ≈ 0.9959 です。4.5 時間では 2402/35、およそ 68.63 点と予測します。12 時間では、100 点満点のテストでおよそ 103.34 点と予測します。データが支えられない外挿です。

すでに直線上にある点

plain
x: 0, 1, 2, 3; y: 7, 5, 3, 1

x が1増えるごとに y は2減るので、点はちょうど y = -2x + 7 の上にあります。計算ツールはこの直線を見つけ、残差はすべて 0、残差平方和も 0、r = -1 です。完全な負の相関です。

データの内側と外側で予測する

plain
x: 2, 4, 6, 8, 10; y: 3, 7, 8, 12, 15

直線は y = 1.45x + 0.3、r ≈ 0.9889 で、平均の点 (6, 9) を通ります。データの内側にある x = 7 では 10.45 と予測し、これは当てはまりの良さと同じくらい信頼できる内挿です。x = 60 では 87.3 と予測しますが、最後の点から 50 も離れていて、その先も傾向が続くことを示すものはデータに何もありません。

曲線を隠している強い r

plain
x: 0, 1, 2, 3, 4, 5; y: 0, 1, 4, 9, 16, 25

回帰直線は y = 5x - 10/3、r ≈ 0.9599 で、とても良さそうに見えます。残差は 10/3、-2/3、-8/3、-8/3、-2/3、10/3。両端で正、真ん中で負です。この U 字形は点が曲線上にあることを意味し、二次回帰なら y = x² とぴったり当てはまります。

よくある間違い

  • 切片を出す前に傾きを丸める。傾きが 162/35 のとき 4.63 を使うと、切片は 47.8 ではなく 47.795 になります。正確な傾きを最後まで使い、丸めるのは最後に一度だけにしてください。
  • nΣx² と (Σx)² を取り違える。x = 1〜5 なら前者は 5 × 55 = 275、後者は 15² = 225 です。入れ替えると分母の符号が変わります。
  • 値の組を順番どおりに対応させない。最初の x は最初の y と組です。片方の列だけ並べ替えると、存在しない点を通る直線ができます。
  • データのはるか外まで外挿する。直線が表しているのは当てはめた範囲だけです。範囲から大きく外れた予測は、r が 1 に近くても大きく外れることがあります。
  • r が高いことを、直線が正しいモデルである証拠とみなす。0 から 25 までの平方数は r ≈ 0.96 ですが、それでも曲線上にあります。残差を見てください。
  • 傾きを原因と読む。直線が示すのは、このデータで x とともに y がどう変わる傾向があるかであり、x を変えれば y が変わるということではありません。
  • y の x への回帰を求められているのに、x の y への回帰を当てはめる。すべての点が1本の直線上にある場合を除き、2本の回帰直線は別物です。

線形回帰についてよくある質問

線形回帰は手でどう計算しますか。
各点について x、y、xy、x² の表を作り、列ごとに合計します。傾きは m = (nΣxy − ΣxΣy) / (nΣx² − (Σx)²)、切片は b = (Σy − mΣx) / n です。x = 1〜5、y = 2, 4, 5, 4, 5 なら m = 30/50 = 0.6、b = 11/5 = 2.2 で、y = 0.6x + 2.2 になります。このページは同じ表を出して両方の式に数を入れるので、1行ずつ確かめられます。
最小二乗法による回帰直線とは何ですか。
残差の2乗の合計を最も小さくする直線です。残差とは、点の実際の y から直線が予測する y を引いたものです。x の値がすべて等しくないかぎり、この直線はただ1本に決まります。上の5点では、2乗の合計を 2.4 より小さくできる直線はほかにありません。
傾きと切片は何を意味しますか。
傾きは、x が1増えるごとに y が平均してどれだけ変わるかで、単位は x の1単位あたりの y の単位です。切片は x が 0 のときの y の予測値です。切片に意味があるのは x = 0 がデータの範囲内か近くにあるときだけです。身長に対する体重の回帰では、身長 0 での切片はどの実在の人も表していません。
近似直線と回帰直線は同じものですか。
はい。統計でいう近似直線(最もよく当てはまる直線)は最小二乗法による回帰直線で、この計算ツールが求めるのもそれです。紙の上で目分量で引いた直線はその見積もりにすぎず、計算した直線がつねにそうであるように、平均の点を通るはずです。
回帰直線の r² はどのくらいなら良いのですか。
分野によります。r² は y のばらつきのうち直線で説明できる割合なので、0.9 なら 90% です。管理された物理実験の測定値では 0.99 に届くことも多く、人に関するデータでは 0.3〜0.5 で止まることも多いのですが、それでも役に立ちます。r² が高くても直線が正しい形だという証明にはならないので、残差も確かめてください。
線形回帰には何点必要ですか。
2点で直線は決まるので計算ツールは2点でも受けつけますが、2点を通る直線はつねに完全に当てはまり、データについては何も語りません。3点以上になると残差、r、r² が情報を持ち始め、点が多いほど傾きの信頼性が上がります。
回帰直線を使って予測できますか。
x の値の範囲内ならできます。それが内挿で、当てはまりの良さと同じくらい信頼できます。範囲外は外挿で、傾向が続くことを示すものはデータに何もありません。このページのテストの点数の例では、100 点満点のテストで 12 時間勉強するとおよそ 103 点と予測してしまいます。
答えが小数ではなく分数なのはなぜですか。
有理数のデータに対する最小二乗法の直線では、傾きと切片が有理数になり、分数がその正確な値だからです。傾きは 162/35 で、4.6286 はそれを丸めたものです。丸めた値から出した予測はすべてその誤差を引き継ぎます。小数が必要ならコピーボタンを使ってください。

ほかの数学ツール

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

Coddyで数学を学ぼう

始める