0

平均ベクトルと共分散行列のロバスト推定量

23
0
$$$$

イントロダクション

ロバスト推定とは,外れ値に強い推定手法だった.つまり,観測データに極端なものが含まれている場合にも,その影響を抑えた平均や分散の推定が可能である.

ここからは,多変量の場合のロバスト推定を扱うことにする.

HuberのM-推定量

1979年当時,ロバスト推定の技術はあまり広く受け入れられておらず,応用も進んでいなかった.Hoggは同年の論文でこれを嘆くとともに,その原因は「ロバストの体系が多すぎる」点にあると認めている.

そこで彼は,HuberのM-推定量に焦点を絞った.

HuberのM-推定量

$\displaystyle \sum_{i=1}^{n} \psi( \frac{y_i-\widetilde{\mu} }{s} )=0 ・・・(1.114)$

ただし,ここでは$^{※}$

$\psi(z) = \begin{eqnarray} \left\{ \begin{array}{l} sin(z/2.1) for |z| \lt 2.1\pi,\\ 0 otherwise. \end{array} \right. \end{eqnarray} ・・・(1.116)$

(1.114)式を解くことで,$\widetilde{\mu}$の解を求めることが可能.

注意

※関数$\psi$は,さまざまな形が提案されている.ここでは,多変量解析の分野で知られるものの1つである(1.116)を用いる.

平均ベクトルに対する4つの多変量ロバスト推定量

次に,Gnanadesikanの1977年の論文で提案された,$\boldsymbol{\mu}$のロバスト推定量を紹介する.(いずれも,各変数に対する一変量のロバスト推定量を並べたものをベクトル化していることに注意する.)

  • $\boldsymbol{y^{*}_M}$:中央値ベクトル
  • $\boldsymbol{y^{*}_{HL}}$Hodges–Lehmann推定量ベクトル
  • $\boldsymbol{y^{*}_{T(\alpha)}}$:α-Trimmed平均値フィルタにより得られた平均ベクトル
  • $\boldsymbol{y^{*}_{SINE}}$:M-推定量ベクトル.
    ここで,$\boldsymbol{\widetilde{\mu}}=(\widetilde{\mu}_1, \widetilde{\mu}_2, \dots,\widetilde{\mu}_p)^{'}$中の各$\widetilde{\mu}_j$は以下を解いて得られる.ただし,$\psi$は(1.116)式を用いることにする.
    $ \begin{equation} \displaystyle \sum_{i=1}^{n} \psi( \frac{y_{ij}-\widetilde{\mu}_j }{s_j} )=0 ・・・(1.115) \end{equation}$

補足

Hodges–Lehmann推定量

観測値の各組の平均値を求め,それらの中央値をとったもの.

α-Trimmed平均値フィルタ

パラメータを$\alpha$とする.観測値のうち最小(最大)のものから数えて$\alpha$個をそれぞれ取り除き,残った要素を使用して平均値を求める手法.

共分散行列に対する多変量ロバスト推定量

Devlin,Gnanadesikan,Kettenring(1981)では,さまざまな分布およびそれらの混合下での,共分散行列に対する5つのロバスト推定量が提案されている.

ここでは,最も優れるとされる2つのうち一方をとりあげる.

$\widetilde{S}(MVT)$

繰り返し処理を含むが,実行は簡単である.

  1. $n$個の観測値ベクトルの二乗距離を計算する.
    ただし,$\widetilde{\boldsymbol{\mu}}$および$\widetilde{\boldsymbol{S}}$にはそれぞれ$ \boldsymbol{\overline{y}}$,$\boldsymbol{S}$を用いる.
    $  d^2_{i}=(\boldsymbol{y_i}-\widetilde{\boldsymbol{\mu}})^{'}\widetilde{\boldsymbol{S}}^{-1}(\boldsymbol{y_i}-\widetilde{\boldsymbol{\mu}}),  i=1,2,\dots,n・・・(1.117)$

  2. 求めた$d^2_{i}(1 \leq i \leq n)$のうち,その値が最大のものから指定された割合(例:10%)分の$\boldsymbol{y_{i}}$以外の観測値を用いて,通常通りに$ \boldsymbol{\overline{y}}$,$\boldsymbol{S}$を求めておく.

  3. 2で求めた$ \boldsymbol{\overline{y}}と\boldsymbol{S}$を用いて,$\widetilde{\boldsymbol{\mu}},\widetilde{\boldsymbol{S}}$を更新する.

  4. $n$個の観測値ベクトルの二乗距離(1.117)を計算する.

  5. 以下,繰り返す.

  6. $25$回の反復が行われる,または「($\widetilde{r}_{jk}$の)Fisher$z$変換$^{※} $」に$0.001$を超える変化が起きなくなった時点で,終了する.

注意:($\widetilde{r}_{jk}$の)Fisher$z$変換

$\displaystyle z_{jk}=\frac{1}{2}log(\frac{1+\widetilde{r}_{jk}}{1-\widetilde{r}_{jk}})= \tanh^{-1}\widetilde{r}_{jk}.・・・(1.118)$

ただし$\widetilde{r}_{jk}$は各ステップで,以下の式の$\widetilde{\boldsymbol{S}}$$\widetilde{\boldsymbol{R}}$に置き換えることで得られる.
$\boldsymbol{R}=\boldsymbol{D}^{-1}_s\boldsymbol{S}\boldsymbol{D}^{-1}_s・・・(1.51)$

ここで,$\boldsymbol{\widetilde{R}}$$\boldsymbol{\widetilde{D}}$$\boldsymbol{\widetilde{S}}$の対角要素の平方根からなる対角行列)を用いて,$\boldsymbol{\widetilde{R}}=\boldsymbol{D}^{-1}\boldsymbol{\widetilde{S}}\boldsymbol{D}^{-1}$で与えられる.

投稿日:20241014
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

B3

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中