next up previous
Next: まとめ Up: 最小2乗法 Previous: 簡単な例題

一般の場合

続いて, 最小2乗法の一般論を述べる。 最小2乗法で取り扱う問題は, スカラー$ y$および $ n$次のベクトル $ \xi=(\xi_1,\ldots,\xi_n)^T$から

$\displaystyle y=\alpha^T \xi+\beta$ (38)

を満たすようなスカラー$ \beta$および$ n$次のベクトル $ \alpha=(\alpha_1,\ldots,\alpha_n)^T$を求めることである。 ただし, $ x$$ y$は対になって観測される量とする。

ここで, 以下の議論を簡単にするために,

$\displaystyle x=(\xi_1,\ldots,\xi_n,1)^T$ (39)
$\displaystyle a=(\alpha_1,\ldots,\alpha_n,\beta)^T$ (40)

とおく。 すると, (38)はより簡単に

$\displaystyle y=a^T x$ (41)

と書き直される。

以下では, $ x$$ y$の組み合わせが複数回観測されている ものとし, $ i$番目の$ x$の観測値を$ x(i)$, $ i$番目の$ y$の観測値を$ y(i)$と書く。 $ N$個の観測値 $ x(1),\ldots,x(N)$ $ y(1),\ldots,y(N)$が与えられて いるとき, ここから$ a$を決定することが問題である。 では, どのようにして$ a$を決定するのが良いだろうか?

$ a$の推定値を $ \widehat{a}$とする。 このとき, 推定値 $ \widehat{a}$の良さは観測値$ y(i)$とその 推定値 $ \widehat{a}^Tx(i)$との誤差で決まる。 そこで, すべての観測値に関するこれらの誤差の2乗和を最小にする ことを考える。 すると, われわれの解くべき問題は,

$\displaystyle L_c=\sum_{i=1}^{N} \left (y(i)-\widehat{a}^Tx(i) \right )^2$ (42)

を最小にするようなベクトル $ \widehat{a}$求めることに帰着される。

ベクトル $ \widehat{a}$の第$ i$成分を $ \widehat{a}_i$, 対応するベクトル$ x$の第$ i$番目の観測値の第$ k$成分を$ x_k(i)$と書くことにする $ (i=1,\ldots,N)$$ L$ $ \widehat{a}_k$に関する2次形式であって, さらに $ \widehat{a}_k \rightarrow \pm \infty$とすると $ L_c \rightarrow +\infty$となるから, (42)が最小となる点は, 各$ k$について$ L_c$ $ \widehat{a}_k$の関数として 極小となる点の共通部分, すなわち

$\displaystyle \frac{\partial L_c}{\partial \widehat{a}_k}$ $\displaystyle =$ $\displaystyle -2 \sum_{i=1}^{N} \left (y(i)-\widehat{a}^Tx(i) \right ) x_k(i)$  
  $\displaystyle =$ $\displaystyle -2 \sum_{i=1}^{N} y(i)x_k(i)$ (43)
    $\displaystyle +2 \sum_{i=1}^{N}\widehat{a}^Tx(i)x_k(i)$  

がすべての$ k$について零となる点である。

(43)が零となるということは

$\displaystyle \sum_{i=1}^{N} y(i)x_k(i) =\sum_{i=1}^{N}\widehat{a}^T x(i)x_k(i)$ (44)

が成り立つということである。 (44)で $ k$$ 1$から$ n+1$まで変えたものを連立させ, 記法の簡単のために

$\displaystyle \eta= \begin{pmatrix}y(N),\ldots, y(1) \end{pmatrix}^T$ (45)
$\displaystyle X= \begin{pmatrix}x(N),\ldots,x(1) \end{pmatrix}$ (46)

とおくことにすると,

$\displaystyle \eta^T X^T = \widehat{a}^T X X^T$ (47)

なる式が得られる。 (47)のことを正規方程式という。 正規方程式(47)を $ \widehat{a}$について解くことにより パラメータ$ a$の推定値が得られる。

正規方程式(47)を解いて得られたパラメータ推定値 $ \widehat{a}$は, 各$ x(i)$には誤差がなく, すべての$ y(i)$が同一の正規分布にしたがっていて, かつ$ i \neq j$に対し$ y(i)$$ y(j)$が確率的に独立であるとき, $ a$の最尤推定値となることが証明される。

続いて, 正規方程式を解く方法について考えてみよう。

行列$ X X^T$が正則であれば, (47)の両辺に$ X X^T$の逆行列をかけることにより, $ a$の推定値

$\displaystyle \widehat{a}^T=\eta^T X^T\left ( X X^T \right )^{-1}$ (48)

が得られる。 ただし, (48)のように 逆行列を使って $ \widehat{a}$を計算することは, 数値的には非常に望ましくない。 この理由は, データの数や推定すべきパラメータ数が大きいときには 行列$ X X^T$が正則でない行列に近くなることが多く コンピュータの数値計算の誤差のために計算結果が 信頼できないものとなってしまう可能性が高いことと, 逆行列の計算はコンピュータに高い負荷をかけることである。 コンピュータで(48)を解くときには, LU分解と呼ばれる方法を使うことがふつうである。

行列$ X X^T$が正則でないときには, (47)は解を複数持つ。 すなわち, $ X X^T$が正則でないということは, $ a$を完全に決定するためにはデータの数が足らない (あるいはデータの品質が悪い)ということを意味する。 このような場合はデータを追加して計算をやり直すこ とが望ましい。 ただし, このままでも, $ a$が一意的に決まらないだけで(47)に 解がないわけではないから, (47)を満たす複数の $ \widehat{a}$の中から適当なものを選んで推定値として 採用することはできる。


next up previous
Next: まとめ Up: 最小2乗法 Previous: 簡単な例題
Shigeru HANBA
平成16年8月16日