Menu

二次回帰の計算ツール

点に最もよく当てはまる放物線を、正確な係数と R² つきで。

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

最終更新

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

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

二次回帰は、点からのずれが最も小さい放物線を当てはめる

増えてから減る、あるいは減ってから増えるデータがあります。投げたボールの高さ、価格ごとの利益、速度ごとの車の燃料消費。こうしたデータに直線を引くと、どれだけうまく置いても形が違います。二次回帰は代わりに放物線 y = ax² + bx + c を当てはめ、点からの縦のずれの2乗の合計が最も小さくなるように a、b、c を選びます。線形回帰と同じ最小二乗法の考え方で、選ぶ係数が1つ増えただけです。

ずれの2乗を最小にすると、a、b、c についての3本の方程式が得られます。正規方程式と呼ばれ、x、x²、x³、x⁴、y、xy、x²y の和でできています。グラフ電卓はこれを浮動小数点で解きます。このページは正確な分数で解くので、係数 -8/7 は -1.142857 ではなく -8/7 と表示され、R² も正確な分数になります。

答えの下に、各点の予測値と残差が並びます。よく当てはまった二次曲線なら、残差はノイズのように見え、パターンなく 0 の上下に散らばります。残差がまだ曲がっていたり、表の中で一定の向きに大きくなっていったりするなら、放物線も正しい形ではなく、別のモデルを試す価値があります。

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

  • a の符号が形を決めます。a が負なら下に開いて最高点を持ち、正なら上に開いて最低点を持ちます。
  • x の値が異なる3点は、必ずぴったり当てはまります。点 (1, 4)、(2, 9)、(3, 20) は y = 3x² - 4x + 5 の上にあり、残差はすべて 0 ですが、これはデータについて何も語りません。
  • 放物線の R² は、1 から「残差平方和を y の全変動で割ったもの」を引いた値です。直線は a = 0 の放物線なので、同じデータに対する直線の r² を下回ることはありません。
  • 当てはめた曲線の頂点は x = -b/(2a) にあります。x = 1〜6 で y = 2, 6, 11, 13, 12, 8 のデータなら x = 33/8 で、曲線はそこでおよそ 12.45 の最大値をとります。
  • 当てはめた曲線を信頼できるのは、x の最小値と最大値の間だけです。両端を越えると、データがどうであれ、放物線は向きを変えて正か負の無限大へ向かいます。

二次回帰を手で計算する手順

  1. 和を作る

    各点について x、x²、x³、x⁴、y、xy、x²y を計算し、列ごとに合計して点の数を数えます。x = 0, 1, 2, 3、y = 1, 2, 5, 11 なら n = 4、Σx = 6、Σx² = 14、Σx³ = 36、Σx⁴ = 98、Σy = 19、Σxy = 45、Σx²y = 121 です。

  2. 正規方程式を書く

    aΣx⁴ + bΣx³ + cΣx² = Σx²y、aΣx³ + bΣx² + cΣx = Σxy、aΣx² + bΣx + cn = Σy。上の和を入れると 98a + 36b + 14c = 121、36a + 14b + 6c = 45、14a + 6b + 4c = 19 です。

  3. 3本の方程式を解く

    分数を正確に保ちながら、文字を1つずつ消去します。この連立方程式からは a = 1.25、b = -0.45、c = 1.05 が出るので、y = 1.25x² - 0.45x + 1.05 です。

  4. 残差で確かめる

    各 x を曲線に代入し、実際の y から予測値を引きます。ここでは残差は -0.05、0.15、-0.15、0.05 で、その2乗の合計は 0.05、R² = 1214/1215、およそ 0.9992 です。

小さなデータの二次回帰

各行は、上の計算ツールに入力したデータ1組と、ツールが出す正確な係数と R² です。

x の値y の値当てはめた放物線R²
0, 1, 2, 31, 2, 5, 11y = 1.25x² - 0.45x + 1.051214/1215 ≈ 0.9992
-2, -1, 0, 1, 2, 39, 4, 1, 0, 1, 4y = x² - 2x + 11
1, 2, 3, 4, 5, 62, 6, 11, 13, 12, 8y = -(8/7)x² + (66/7)x - 7887/917 ≈ 0.9673
0, 1, 2, 3, 42, 17, 22, 17, 2y = -5x² + 20x + 21
1, 2, 34, 9, 20y = 3x² - 4x + 51
0, 1, 2, 3, 4, 50, 1, 4, 9, 16, 25y = x²1

解いてみる

係数が小数になる、よく当てはまる例

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

正規方程式から a = 1.25、b = -0.45、c = 1.05 が出るので、y = 1.25x² - 0.45x + 1.05 です。予測値は 1.05、1.85、5.15、10.95、残差は -0.05、0.15、-0.15、0.05 で、R² = 1214/1215、およそ 0.9992 です。

増えてから減るデータ

plain
x: 1, 2, 3, 4, 5, 6; y: 2, 6, 11, 13, 12, 8

当てはめた放物線は y = -(8/7)x² + (66/7)x - 7、R² = 887/917、およそ 0.9673 です。a が負なので曲線は最大値を持ち、それは x = 33/8 = 4.125、y = 697/56、およそ 12.45 のところです。同じ点に直線を引いても r² = 375/917、およそ 0.4089 にしか届きません。直線は向きを変えられないからです。

投げたボール

plain
x: 0, 1, 2, 3, 4; y: 2, 17, 22, 17, 2

1秒ごとの高さ(メートル)です。当てはまりは完全で、y = -5x² + 20x + 2、残差はすべて 0、R² = 1 です。-5 は重力加速度を 10 m/s² に丸めたものの半分、20 は打ち上げの速さ、2 は打ち上げた高さです。最高点は x = 2、y = 22 です。

もともと放物線上にあった点

plain
x: -2, -1, 0, 1, 2, 3; y: 9, 4, 1, 0, 1, 4

これは (x - 1)² の値で、計算ツールは同じ放物線を展開した y = x² - 2x + 1 を返し、R² = 1、残差はすべて 0 です。一組の値が本当に1つの二次式から来ているかを手早く確かめる方法になります。

よくある間違い

  • 3点だけを使い、R² = 1 をよく当てはまった証拠と読む。x の値が異なる3点は、必ずどれかの放物線の上にあります。
  • 途中で和や係数を丸める。正規方程式は敏感で、Σx⁴ のわずかな丸めで c が目に見えて動くことがあります。最後まで分数を保ってください。
  • 方程式の中で和を置く場所を間違える。左上は Σx⁴、右下は n です。行が下がるごとにべき乗が1つずつ下がります。
  • データのはるか外で予測する。放物線は両端を越えると向きを変えて無限大へ向かいます。実際の量がそうなるかどうかにかかわらずです。
  • R² が上がったから放物線を選ぶ。同じデータなら放物線の R² はつねに直線の r² 以上です。問うべきは、残差のパターンが消えるかどうかです。

二次回帰についてよくある質問

二次回帰とは何ですか。
最小二乗法で放物線 y = ax² + bx + c をデータに当てはめることです。点から曲線までの縦の距離の2乗の合計が最も小さくなるように a、b、c を選びます。散布図が直線に沿わず、増えてから減る、あるいは減ってから増えるときに使う方法です。
二次回帰の式はどう求めますか。
点について x、x²、x³、x⁴、y、xy、x²y を合計し、3本の正規方程式 aΣx⁴ + bΣx³ + cΣx² = Σx²y、aΣx³ + bΣx² + cΣx = Σxy、aΣx² + bΣx + cn = Σy を解きます。x = 0, 1, 2, 3、y = 1, 2, 5, 11 なら、解は a = 1.25、b = -0.45、c = 1.05 です。
二次回帰には何点必要ですか。
少なくとも3点で、異なる x の値が3つ以上必要です。ちょうど3点なら放物線はすべての点を通り、R² は自動的に 1 になるので、当てはまりがデータについて何かを語るのは4点以上からです。
二次曲線の当てはめで R² は何を意味しますか。
R² = 1 − (残差平方和) / (y の平均のまわりの全変動) です。y のばらつきのうち放物線で説明できる割合を表します。x = 1〜6 で y = 2, 6, 11, 13, 12, 8 なら R² = 887/917、およそ 0.9673 です。
二次回帰は多項式回帰と同じですか。
次数2の多項式回帰です。次数3なら x³ の項と4本目の正規方程式が加わり、以下同様です。次数を上げるほど点にはつねによく当てはまりますが、ある段階を越えると傾向ではなくノイズに当てはめることになるので、小さなデータでは普通は次数2までにとどめます。
当てはめた放物線の頂点はどう求めますか。
ほかの放物線と同じで、x = -b/(2a) を求め、その x を式に代入して y を出します。y = -(8/7)x² + (66/7)x - 7 なら x = 33/8、y = 697/56、およそ 12.45 で、当てはめた傾向はそこで最大になります。
係数が分数なのはなぜですか。
入力できるデータで正規方程式を解くと、答えはつねに有理数になり、分数がその正確な値だからです。最高次の係数は -8/7 で、-1.142857 はそれを丸めたものです。スプレッドシート用に小数の曲線が必要なら、コピーボタンを使ってください。

ほかの数学ツール

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

Coddyで数学を学ぼう

始める