カテゴリー
応用数学

擬似逆行列と回帰直線(最小二乗法)

[mathjax]数学の美しさ、完璧さに幾度となく驚いた私でしたが、擬似逆行列もその一つでした。その例を一つご紹介します。
直線の方程式は次のようにあらわされます。
\[y= ax + b\qquad (1)\]
この直線が点(\(x_1,y_1\))と点(\(x_2,y_2\))を通過するならば、
\[y_1= ax_1 + b\qquad (2)\]

\[y_2= ax_2 + b\qquad (3)\]が成立します。これを行列で書くと

\[\left[ \begin{matrix} y_1 \\ y_2 \end{matrix} \right]=\left[ \begin{matrix} { x }_{ 1 } & 1 \\ { x }_{ 2 } & 1 \end{matrix} \right]\left[ \begin{matrix} a \\ b \end{matrix} \right] \qquad (4)\]

となります。各行列を簡略化して表すと

\[Y= XA\qquad (5)\]となります。

\(X\)が逆行列\({ X }^{ -1 }\)を持つならば(正則行列)、式(5)の両辺に左側から\({ X }^{ -1 }\)を乗じて

\[{ X }^{ -1 }Y= { X }^{ -1 }XA\qquad (6)\]

ここで、

\[{ X }^{ -1 }X= E\qquad (7)\]

\(E\)は単位行列。よって、式(6)は下記となります。

\[{ X }^{ -1 }Y = A \qquad (8)\]

結果として得られた式(8)は、式(5)の\(X, Y\)が単なる変数である場合に得られる

\[A=\frac { Y }{ X }\qquad (9)\]

と同様の形をしています。

まあ、ここまでは普通の逆行列を用いた計算で、そういう風に表現できるんだ、で済む話ですが、ここから擬似逆行列が本領を発揮します。

式(1)は2点を通る直線という条件において、式(8)により係数\(a,b\)を出すことができます。しかし、一直線上にない3点以上が与えられた場合、式(8)から1組の係数\(a,b\)を出すことは出来ません。

それは、3点以上が与えられた場合、式(5)の各項は下記のようになり、

\[Y=\left[ \begin{matrix} y_1 \\ y_2 \\ y_3 \end{matrix} \right] \qquad (10)\]

\[A=\left[ \begin{matrix} a \\ b \end{matrix} \right]\qquad (11)\]

\[X=\left[ \begin{matrix} { x }_{ 1 } & 1 \\ { x }_{ 2 } & 1 \\ { x }_{ 3 } & 1 \end{matrix} \right] \qquad (12)\]

\(X\)は正方行列ではなくなり、逆行列をもてないからです。

しかし、行列演算をうまく行うと、式(10)、式(11)、式(12)で構成された\(Y=XA\)から、一組の\(A\)を出すことができるのです。

その方法は\(A\)の前にある行列項を、行列演算して正方行列に変換することです。

式(5)の両辺に左から、\(X\)の転置行列\(X^T\)を乗じます。
\[X^TY= X^TXA\qquad (13)\]

\(X^TX\)は正方行列になるので、これが正則行列であるならば、逆行列\((X^TX)^{-1}\)が存在します。逆行列を式(13)の左から掛けると
\[(X^TX)^{-1}X^TY= (X^TX)^{-1}X^TXA\qquad (14)\]
右辺\(A\)の前の行列演算結果は単位行列\(E\)となるので、次式が得られます。
\[(X^TX)^{-1}X^TY = A \qquad (15)\]

このようにして一組の係数\(A\)が得られました。

このように逆行列を持てない行列に対し、転置行列を乗じて正方行列に転換し、逆行列を作成することを擬似逆行列と呼びます。

ううう~ん、擬似逆行列、恐ろしや、3点以上を直線式に代入しても、一つの直線式を算出することができたのです。

ところで、この直線は何を意味しているのでしょうか?

これこそが代入した全ての点の回帰直線、即ち、点から直線までの距離の二乗の和が最も小さい直線なのです。

図1.回帰直線

私はこの手法を知った時に、数学の美しさというか完璧さというか一貫性というか、そういうものに感動しました。

回帰直線は、最小二乗法を用いて算出することがよく行われていますが、その導出過程の考え方の煩雑さに対し、擬似逆行列では式(5)から\(A\)を算出するという非常にシンプルな考え方になっています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です