最小二乗法ジオメトリ・エクスプローラー

実データに直線または曲線を当てはめ、最小二乗法が小さくしようとしている残差を調べましょう。

インタラクティブシミュレーションを読み込んでいます...

レッスン

理論 — 最小二乗法ジオメトリ・エクスプローラー

“最小二乗”という名称は、何を最小化しているかをそのまま表しています。すなわち残差平方和です。幾何学的には、当てはめ値はモデルが生成し得る曲線の集合の中で、データに最も近い点となります——通常の直線距離の意味で最も近いからこそ、残された残差ベクトルはモデルが表現できたはずのあらゆる変化に対して垂直になるのです。

各記号の意味

residual
データ点と当てはめ曲線との間の、垂直方向で測った1つのズレ。表示パネルには、二乗される前のすべての値が列挙されています。
SSE
残差平方和——すべての残差の二乗を足し合わせたもの。ここでの直線当てはめでは 1.3714 となります。
RMSE
二乗平均平方根誤差√(SSE/n) = 0.4781。SSEとは異なり y と同じ単位を持つため、評価指標として提示する価値のある数値です。
model
許容される曲線の族(集合)。直線から2次曲線に切り替えると、その族の自由度は2つの数値から3つへと広がります。

公式の導き方

  1. 候補となる各曲線は、一連の当てはめ値を生成します。そのリストを n 次元空間における1つの点とみなし、実測データもまたその空間におけるもう1つの点として扱います。
  2. するとSSEは、文字通りそれら2点間の距離の二乗になります。SSEを最小化することは、到達可能な点の中でデータに最も近い点を見つけることを意味します——これは探索ではなく、射影そのものです。
  3. そして射影の本質的な性質は、誤差が到達可能なすべての方向に対して垂直になることです。最良適合における残差の和が常にゼロになり、x との間に相関が残らないのはそのためです。もしそのようなパターンが残っていれば、それはモデルがまだ移動できたはずの方向が存在することを意味します。

表示の読み方

データ点の個数、次に書き下された当てはめモデル、そして各項ごとに示されるSSE——−0.7143² + 0.3714² + 0.4571² + ⋯ = 1.3714——が表示されるため、二乗によって符号が隠れてしまう前に、どのデータ点が適合度を損ねているかを確認できます。最後に人間にとって読みやすい要約としてRMSEが示されます。

前提
垂直方向のズレのみを考慮するため、x は誤差のない値として扱われ、すべての点が等しく重み付けされます。また、モデルはパラメータに関して線形でなければなりません。2次関数は曲線を描きますが、 に定数が掛けられている形であるため、パラメータに関しては線形のままです。
成り立たない場合
SSEが小さいからといって、より良いモデルであるとは限りません。そのことは画面上を1クリックするだけで証明できます。直線から2次曲線に切り替えると、SSEは 1.3714 から 0.4071 に減少します。2次曲線は の係数がゼロである特別な場合としてすべての直線を含んでいるため、SSEは必ず減少します。より自由度の高いモデルの適合度が悪化することはないため、SSE単体では、追加された項が本物の効果を表しているのか、単にノイズに適合しているだけなのかを判断することはできません。

最小二乗の直線は必ず平均点を通る 🖖

データがどんな形であっても、最小二乗直線は必ず (x̄, ȳ)、すなわち x の平均と y の平均からつくられる点を通ります。これは傾向ではありません。残差の総和がゼロになるという条件から直接導かれるので、例外なくすべてのデータ集合で成り立ちます。おかげで無料の検算が手に入ります。平均点に印をつけ、その点を外れる候補直線は最小二乗の当てはめではないと判断できるのです。同時にこの手法の弱点も説明します。ずれを 2 乗するため、2 倍遠い点は 4 倍強く引っぱります。つまり遠く外れた 1 点が、おとなしい 10 数点が支えるよりも大きく直線を振り回すことがあるのです。

なぜ差を二乗するのか 🖖

このツールは各点と直線との垂直方向の差を二乗して合計し、その合計が最小になる直線を探します。二乗するため、差が2倍になると影響は4倍になり、当てはめは一つの大きな外れを避けようと強く働きます。点を一つ遠くへドラッグすると、直線全体がそちらへ引き寄せられます。この引力こそ、二乗することの代償です。

回帰は対称ではない 🖖

最小二乗法は垂直方向の差だけを縮めるため、yを目的変数、xを正確な値だと暗黙に仮定しています。軸を入れ替えて当てはめ直すと、予想される鏡像ではなく別の直線が得られます。どちらの直線もデータの平均点 (x̄, ȳ) を通りますが、点が完全に一直線上にあるときだけ一致します。二つの傾きを掛け合わせると、相関の二乗である r² になります。

練習

自分で確かめる

まず答えを予想し、それから上のコントロールで確かめてください。予想を決めてから答えを開くこと。それが練習になる条件です。

  1. 直線での制動を押してください。6点を直線でフィットし、SSEは84です。次に曲線での制動を押します — まったく同じ6点を二次関数でフィットしたものです。新しいSSEを予想してみましょう。

    答えを表示
    0です。ほぼゼロではなく、ゼロ。RMSEも0、フィットした曲線はŷ = 8 − 0.25x + 0.015x²です。この6点はまさにその放物線から作られており、許される曲線の族が真の形を含んでしまえば、二乗すべき残りは何も出てきません。SSEが下がること自体は何の証明にもなりません — 族を広げれば当てはまりが悪くなることはあり得ないからです。しかし床まで落ちきるのは質的に別物です。以後どんなモデルを持ち込んでも取り除ける残差が残っていないのですから。
  2. コース定着率を押してください。直線でフィットするとSSEは1.3714、最大点のSSE寄与率は37.2%です。モデルの選択を二次関数に切り替えます。SSEは下がりますが — 寄与率はどうなるでしょうか。

    答えを表示
    上がります56.3%へ上がり、SSEのほうは0.4071まで下がります。割合は量ではありません。自由度が増えたぶん曲線は届く点のほうへ引き寄せられ、依然として届かない1点が、小さくなった総量のなかで前より大きな割合を占めることになるのです。ここでひとつ注意を。プリセットを押すと選択は直線に戻ってしまうので、これらの数値が意味を持つのは二次関数が選ばれたままのあいだだけです。
  3. 直線での制動に戻ります。表示はの前に6つの残差のうち5つを見せています。5−1−4−4−1です。6つ目はいくつでしょうか。そして6つ揃うと、SSEの84だけでは分からない何が見えるでしょうか。

    答えを表示
    +5です。最小二乗フィットの残差は必ず合計ゼロになり、示された5つの合計は−5ですから、残る1つは決まってしまいます。残差プロットもまさにその形を描いています。両端に高い棒が上向きに2本、中央に4本が下向きに沈む、きれいなU字です。合計がゼロでxに対する傾きも残らない — 最小二乗法が保証するのはそれだけであり、左右対称のU字はその両方をきちんと満たしてしまいます。残差の合計は確かにゼロで、どちらにも傾いていないのです。だから直線はそれを吸収することも、気づくこともできないのです。SSEはフィットが緩いことを教えます。緩みが一方向に偏っていることを教えるのは、残差の形だけです。

全プロセスの詳細解説

  1. 誤差平方和が1.3714となる6点 5 ステップ

    6つの点、あてはめ直線、および1.3714の残差平方和。その全体のうちどれだけが単一の点に由来するかを求め、これまでに計算されたあらゆる最小二乗あてはめに成り立つ残差についての事実を証明する。

    1. 係数は、他のあらゆる単回帰と同様に、同じ2つの和から得られる。すなわち、xとyが共にどのように変動するかを、x単独の変動で割ったものである。

    2. これにより、パネルに表示された直線が得られる。このデータに特別なところは何もない。わずかなばらつきを伴う、ほぼ直線上に並んだ6つの点である。

    3. 残差とは、あてはめによって説明できなかった部分である。6つすべてを計算すると、そのうちの1つが顕著である。x = 0 における点は −0.7143 だけずれており、これは典型的な誤差のおよそ2倍にあたる。

    4. これらを用いる前に、それらの和がゼロになることに着目されたい。近似的にではなく、厳密にゼロである。これは切片によって強制される性質である。第二正規方程式は、残差の平均がゼロであるという主張そのものであり、したがってデータに関わらずすべての最小二乗直線に対して成り立つ。

    5. 二乗はこの均衡を崩すのであり、まさにそこが重要である。−0.7143 は 0.5102 となり、これは総SSEである 1.3714 の 37.2% を占める。6つの点のうちの1つが、ペナルティの3分の1以上を担っているのである。

    解答

    ツールは SSE = 1.3714RMSE = 0.4781、および最大点の割合 37.2% と出力する。双方の事実が重要であり、互いに引き合っている。残差の和がゼロであることは直線が均衡していることを示し、37.2% という数値はあてはめが均衡していないことを示している。なぜなら二乗によって2倍の誤差には4倍の重みが置かれるからである。これこそが最小二乗法が外れ値に対して非常に敏感である理由であり、残差の和がゼロになるという性質が何の保護にもならない理由である。単一の悪影響を与える点は残差の平均を変化させないまま、直線が最小化しようとしている対象を支配し得るのである。

学習の道すじ

データへの直線あてはめ

この次に 線形回帰 射影としてのあてはめ直線、および残差がモデルに対して直交する理由。この直交性こそが、次のツールで扱う R² や相関が測定しているものの正体です。

参考文献 (1)
  • Least squares as an orthogonal projection, which is what makes the residuals perpendicular to the model: G. Strang, Introduction to Linear Algebra, 5th ed., chapter 4 (“Orthogonality”). Wellesley-Cambridge Press, 2016. ISBN 978-0-9802327-7-6.

例題

  • コース定着率 - 六つの点からなるデータで、SSEは1.3714、R²は0.9978。例題で扱ったデータセットであり、直線 y = 42.71 + 5.91x は平均点 (2.5, 57.5) を通る。
  • キャンペーンの外れ値 - 最初の五点は、傾きがちょうど5の直線上に並んでいる。六点目のために回帰直線の傾きは8.54となり、この一点だけでSSEの47.5%を占める。六点のうち一点が、誤差のほぼ半分を生んでいる。
  • 直線での制動 - 放物線状のデータに直線を当てはめると、SSEは84.0、R²は0.9618。一見すると良好だが、残差を見れば問題がわかる。残差はばらつかず、曲線を描いている。
  • 曲線での制動 - 同じ六点に二次式を当てはめると、y = 8 - 0.25x + 0.015x² となり、SSEはちょうど0になる。データは末尾の桁までこの放物線上にあり、直線では84の誤差が残っていた。
  • 住宅価格 - 七戸の集合住宅について、平方メートル当たり2.74千、R²は0.998、SSEは88.39。実測値らしいばらつきを含みながら、ほぼ完全な直線関係を示すデータである。