最小二乗法とは?公式の導出をわかりやすく高校数学を用いて解説!【平方完成の方法もアリ】

こんにちは、ウチダショウマです。
今日は「データの分析」のがっつり応用(大学レベル)ですが、

「最小二乗法」

について、公式の導出を高校数学の範囲でわかりやすく解説していきたいと思います!

(雑学的な内容ですが、雑学であるからこそ、ぜひ楽しんで読んでいただければと思います☆)

スポンサーリンク
目次

最小二乗法とは何か?

まずそもそも「最小二乗法」ってなんでしょう…

ということで、こちらの図をご覧ください。

今ここにデータの大きさが $n=10$ の散布図があります。

数学Ⅰの「データの分析」の分野でよく出される問題として、このようななんとな~くすべての点を通るような直線が書かれているものが多いのですが…

皆さん、こんな疑問は抱いたことはないでしょうか。

そもそも、この直線ってどうやって引いてるの?

よくよく考えてみれば不思議ですよね!

この直線を書く必要は、高校数学の範囲においてはないのですが…

書けたら超かっこよくないですか!?(笑)

実際、勉強をするうえで、そういうポジティブな感情はモチベーションにも成績にも影響してきます!

ですから、今日の記事を読んだらぜひ友達に自慢してみて下さい☆

スポンサーリンク

最小二乗法とは回帰分析の一種

いきなり出てきました、新単語「回帰分析」ですが、ここはがっつり大学の内容なので軽く飛ばしたいと思います。

回帰分析…あるデータ( $y$ )を、もう一方のデータ( $x$ )で予測や説明をするために、関数として表し分析すること。

ざっくりと説明しましたが、要するに、

「 $x$ と $y$ の関係ってどうなってんの?」→「それを知るためには、関数として表すのが一番手っ取り早いよね!」

そういう発想です。

ですから、相関係数を求める意味と結構近いですね。

参考.「相関係数の意味とは?共分散と何が違うの?公式の求め方をわかりやすく簡単に解説!

最小二乗法のやり方その1【偏微分】

この「偏微分」という聞き慣れない言葉を説明する前に、まずは「微分」について正しく認識しておく必要があります。

しかしここでは、簡単に概要だけ説明して「やり方その2」に移ろうと思います!

「微分について知りたい」という方は、記事をこちらのリンクにまとめましたので、ぜひご覧ください。

⇒⇒⇒ 微分・積分の考え

簡単に「微分」と「偏微分」を定義するならば…

微分…1変数関数に対して、その点における関数の接線の傾きを求める道具。
偏微分…2変数以上の多変数関数に対して、1つの変数のみに関する微分を行うこと。

このような違いがあります。

まとめると、この最小二乗法を行うには、「多変数関数に対して微分のようなことを行う必要がある」ということです。

ですから、数学Ⅱを履修済みの方は、原理までは理解できなくとも計算は行えると思うので、調べてやってみても面白いかもしれませんね。

※ちなみにやり方は、「1つ変数を決めたらそれ以外の変数を定数と固定し、微分するという操作をすべての変数に対して行う」という感じです。こっちの方が計算が少しラク。

(補足)
ポイントは、偏微分が「1つの変数のみに関する微分」であることです。
つまり、それ以外の変数は定数として扱う、という意味ですね。
ちなみに、すべて変数として微分することを「全微分」と言います。

微分については大学に行ってから勉強する比重が大きいので、僕の大好きなWikipediaさんのリンクを載せることで、ここでは割愛します。⇒⇒⇒Wikipedia「微分」

スポンサーリンク

ここでは、せっかくですので、高校数学のみの知識を用いて最小二乗法を紐解いていきましょう!

最小二乗法のやり方その2【平方完成】

さて、本題です。

今回は数学Ⅰで必ず習う

「平方完成」

を用いた最小二乗法のやり方を簡単に解説していこうと思います!

平方完成を図形の面積で考えた面白い記事もあります!よろしければこちらもご覧ください。

↓↓↓

関連記事
平方完成のやり方って?なぜ公式にマイナスが出てくるのか?「図形の面積」を用いてわかりやすく解説!

手順1【距離を最小にしたい】

図をご覧ください。

まずはじめに、今求めたい関数(赤の点線)は直線なので1次関数です。

よって、$$y=ax+b$$というふうに、「 $a,b$ 」という2つの文字を用いて表すことができます。

次に、それっぽい直線を引くための考え方ですが…

直線とすべての点までの距離の合計値を最小にすればいい!

距離の合計値が最小であれば、なんとなくそれっぽくなりそうですよね!!

さあ、距離を求めたい!

これはデータの分析で扱う分散の記事にも出てきましたね!

⇒参考.「データの分析で出てくる分散の意味とは?センター試験まで覚えていられるコツを解説!

距離を求めるときは、

  • 絶対値を用いる方法
  • 2乗する方法

この2つがありました。

今回利用するのは、「2乗する」方法です。
(距離の合計の最小値を二乗することで求めるから、最小二乗法」というんですね。)

では、ある程度方針が固まったところで実際に距離を求めていきましょう!

手順2【距離を求める】

ここでは実際に距離を数式にしていきましょう。

具体的な例で考えていきます。

まず、各データに名前をつけたいので、文字「 $i$ 」を用いて番号を付けます。

つまり左のものから順に $(x_i,y_i)$ とします。

(今回データの大きさが $n=10$ なので、$1≦i≦10$)

ここで、ためしに1個目の点について見ていきましょう。

データの点の座標はもちろん$$(x_1,y_1)$$です。

また、x座標が $x_1$ である直線上の点(図のオレンジの点)は、 $y=ax+b$ に $x=x_1$ を代入して、$y=ax_1+b$ となるので、$$(x_1,ax_1+b)$$と表すことができます。

座標がわかったので、距離を2乗することで出していきます。

$$距離=\{y_1-(ax_1+b)\}^2$$

さて、ここで今回求めたかったのは、「すべての点と直線との距離」であることに着目すると、この操作を $i=2,3,4,…,10$ に対しても繰り返し行えばいいことになります。

そして、それらをすべて足せばよいですね!

ですから、今回最小にしたい式は、

\begin{align}\{y_1-(ax_1+b)\}^2+\{y_2-(ax_2+b)\}^2+…+\{y_{10}-(ax_{10}+b)\}^2\end{align}

※この数式は横にスクロールできます。(スマホでご覧の方対象。)

になります。

とんでもない式が出てきてしまいましたね…

ですが、ここでは実際に計算するのではなく、手順の流れを追っていくので大丈夫です!

自信をもって、いよいよ核となる次の手順にまいりましょう♪

スポンサーリンク

手順3【平方完成をする】

いよいよ平方完成の登場です。

早速平方完成していきたいのですが、ここで皆さん、こういう疑問が出てきませんか?

変数が2つ(今回の場合 $a,b$)あるのにどうやって平方完成すればいいんだ…?

大丈夫。 変数がたくさんあるときの鉄則を今から紹介します。

1つの変数のみ変数としてみて、それ以外の変数は定数扱いとする!

これは「やり方その1(偏微分)」でも少し触れたのですが、

  • まず $a$ を変数としてみる… $a$ についての2次式になるから、その式を平方完成
  • つぎに $b$ を変数としてみる… $b$ についての2次式になるから、その式を平方完成

このようにすれば問題なく平方完成が行えます!

式がものすごいごちゃごちゃしてしまうので、係数を無視して2乗の部分だけ載せると、

\begin{align}\{a+\frac{b(x_1+x_2+…+x_{10})-(y_1+y_2+…+y_{10})}{10}\}^2\end{align}

\begin{align}\{b-\frac{10(x_1y_1+x_2y_2+…+x_{10}y_{10})-(x_1+x_2+…+x_{10})(y_1+y_2+…+y_{10})}{10({x_1}^2+{x_2}^2+…+{x_{10}}^2)-(x_1+x_2+…+x_{10})^2}\}^2\end{align}

※この式は横にスクロールできます。

となります。

今回は n=10 としてやっているので、式の中の $10$ という部分を $n$ に変えるだけで、一般的に同様な議論ができます。

まあ、今日の話は”流れ”と”結果”さえ抑えれば十分な話です。数学の勉強において結構大切なことですが、「頑張らなくていいことに頑張りすぎない」ようにしましょう。

手順4【連立方程式を作る】

ここではまず、「平方完成を行う意味」について考えていきましょう。

平方完成とは、文字通り $(実数)^2$ を作ることでした。

そして、$(実数)^2≧0$ は常に成り立つ。

この2つを組み合わせると…

( )の中身が0になるとき最小値を取る!

ということになりますね。

よって、先ほど平方完成した式の$$( )の中身=0$$という方程式を解けばいいことになります。

今回変数が2つなので、( )が2つできます。
よってこれは連立方程式になります。

ちなみに、こんな感じの連立方程式です。

↓↓↓

\begin{align}\left\{\begin{array}{ll}a+\frac{b(x_1+x_2+…+x_{10})-(y_1+y_2+…+y_{10})}{10}&=0 \\b-\frac{10(x_1y_1+x_2y_2+…+x_{10}y_{10})-(x_1+x_2+…+x_{10})(y_1+y_2+…+y_{10}}{10({x_1}^2+{x_2}^2+…+{x_{10}}^2)-(x_1+x_2+…+x_{10})^2}&=0\end{array}\right.\end{align}

※この数式は横にスクロールできます。(スマホでご覧の方対象。)

…見るだけで解きたくなくなってきますが、まあ理論上は $a,b$ の2元1次方程式なので解けますよね。

では最後に、実際に計算した結果のみを載せて終わりにしたいと思います。

スポンサーリンク

手順5【連立方程式を解く】

ここまで皆さんお疲れさまでした。

最後に連立方程式を解けば結論が得られます。
(ここでも、結果だけ載せるので、興味がある方はぜひチャレンジしてみてください。)

$$a=\frac{ xとyの共分散 }{ xの分散 }$$
$$b=-a (xの平均値) + (yの平均値)$$

この結果からわかるように、「平均値」「分散」「共分散」が与えられていれば $a$ と $b$ を求めることができて、それっぽい直線を書くことができるというわけです!

最小二乗法の問題を解いてみよう!

では最後にこんな問題を解いてみましょうか♪

【問題】
$(1,2),(2,5),(9,11)$ の回帰直線を最小二乗法を用いて求めよ。

さて、この問題では、「平均値」「分散」「共分散」が与えられていません。

しかし、データの具体的な値はわかっています。

そう、こういう時は自分でこれらの値を求めましょう。

実際、データの大きさは3ですし、そこまで大変ではありません。

ではやっていきましょう♪

↓↓↓

【解答】

$$ xの平均値 =\frac{1+2+9}{3}=4$$

$$ yの平均値 =\frac{2+5+11}{3}=6$$

\begin{align} xの分散 =\frac{(1-4)^2+(2-4)^2+(9-4)^2}{3}=\frac{38}{3}\end{align}

※この数式は横にスクロールできます。(スマホでご覧の方対象。)

\begin{align} xとyの共分散 =\frac{(1-4)(2-6)+(2-4)(5-6)+(9-4)(11-6)}{3}=13\end{align}

※この数式は横にスクロールできます。(スマホでご覧の方対象。)

以上の計算結果より、回帰直線は

\begin{align}y&=\frac{13}{\frac{38}{3}}x+(-\frac{13}{\frac{38}{3}}×4+6)\\&=\frac{39}{38}x+\frac{36}{19}\end{align}

図で表すと、確かにもっともらしい直線である。

↓↓↓

(終了)

スポンサーリンク

結論さえ知っていれば、このようにそれっぽい直線(つまり回帰直線)を求めることができるわけですね。

逆に、どう求めるかを知らないと、この直線はなかなか引けませんね(^_^;)

「分散や共分散の求め方がイマイチわかっていない…」という方は、データの分析の記事をこちらにまとめました。よろしければご覧ください♪

⇒⇒⇒「 データの分析」一覧

最小二乗法に関するまとめ

いかがだったでしょうか。

今日は、大学数学の内容をできるだけわかりやすく噛み砕いて説明してみました。

データの分析で何気なく引かれている直線でも、「きちんとした数学的な方法を用いて引かれている」ということを知っておくだけでも、数学というものの面白さを実感できると思います。

ぜひ、大学に入学しても、この考え方を大切にして、楽しく数学に取り組んでいってほしいと思います。

数学雑学についての記事も充実しております♪ぜひこちらも一緒にご覧ください。

⇒⇒⇒「コラム」一覧

以上、ウチダショウマでした。
それでは皆さん、よい数学Lifeを!!

よかったらシェアしてね!
スポンサーリンク

コメント

コメントする

目次
閉じる