理科系の勉強日記

Linux/Ubuntu/Mac/Emacs/Computer vision/Robotics

統計的手法

最小二乗法

n個の観測値の組{\mathbf{x}_i, y_i }が与えられているとき,2つの変量間の関係を説明するモデルとして


{ y = f( \mathbf{x}, \mathbf{\theta} )   + \epsilon   }
を考える.ここで,{\mathbf{\theta}}はモデルのパラメータである.

平均2乗誤差(Least Mean Squared Error)を最小とするようなパラメータを求める推定方法は,最小2乗法と呼ばれている.つまり,


{LMS = \frac{1}{n}  \sum_{i=1}^n \epsilon^2 = \frac{1}{n}  \sum_{i=1}^n |y - f( \mathbf{x}, \mathbf{\theta} )|^2  }
である.

M-estimator

当てはめるモデルと観測値との誤差が平均で0の正規分布に従う場合,最小2乗法で推定したモデルは最適となる.しかし,観測値に外れ値(例外値)が含まれている場合,推定結果に大きな影響を与えてしまう.

そこでロバストな推定方法を用いることで,外れ値を多く含む観測値に対しても比較的良い推定結果を得ることができる.代表的な手法としてM-estimatorとLeas Median of Squaresなどがある.

最小2乗法で用いられる最小2乗基準


{LMS = min \sum_i \epsilon_i^2 }
の代わりに,少しだけ変形した評価基準を用いる.この手法をM-estimatorという.この場合,すべてのデータに対して均等に重みをつけているため,推定結果が外れ値に大きな影響を受けてしまう.例外値に小さな重みを与えるような評価基準として

{M = min \sum_i \rho(x) }
を扱う.{\rho(x)}は,0を唯一の最小値とする偶関数である.

{\rho(x)  = x^2  } とした場合が最小2乗法である.つまり,M-estimatorは最小2乗法の拡張と言える.

{ \Psi(x) = \frac{ {\mathrm d} \rho(x)}  { {\mathrm d} x  }   }はinfluence functionと呼ばれ,観測値がモデルから離れた場合の重みを表す.図1にその一例を示す.{\rho}関数のとりかたによっては,観測値がモデルからある程度離れるとその影響はほぼ0となることがわかる.


図1: (左上) {\rho(x) = x^2}, (右上){\Psi(x) = 2x },(左下) {\rho(x) = \frac{x^x}{ \sigma + x^2}}, (右下) {\Psi(x) = \frac{2x\sigma}{(\sigma + x^2)^2}}

M-estimatorによる推定のためのアルゴリズムはMを最小化する最適化問題として定式化することができ,重み付き最小2乗問題となる.ただし,このアルゴリズムは,{\rho}関数によっては必ずしも最適解に収束するとは限らないため,良い初期値から出発する必要がある.