アンサンブルカルマンフィルタ

アンサンブルカルマンフィルタ(Ensemble Kalman Filter;EnKF)とは、逐次型データ同化手法の一つである。シミュレーションモデル内の状態を表す確率変数について、その分布を実現値集合(アンサンブルと称す)によって保持し、観測を得るごとに、観測モデルをもとにしたカルマンフィルターによる推定により、2次モーメントまでが一致するよう、アンサンブルを修正することを繰り返す方法である。


概略

まず、時刻kにおけるシミュレーションモデル(状態方程式)は以下である。

x k = f k ( x k 1 , v k ) {\displaystyle {\boldsymbol {x}}_{k}={\boldsymbol {f}}_{k}({\boldsymbol {x}}_{k-1},{\boldsymbol {v}}_{k})}

ここで、 x k {\displaystyle {\boldsymbol {x}}_{k}} は状態ベクトル、 v k {\displaystyle {\boldsymbol {v}}_{k}} はシステムノイズである。

また、観測モデル(観測方程式)は、以下である。

y k = h k ( x k , w k ) {\displaystyle {\boldsymbol {y}}_{k}={\boldsymbol {h}}_{k}({\boldsymbol {x}}_{k},{\boldsymbol {w}}_{k})}

ここで、 y k {\displaystyle {\boldsymbol {y}}_{k}} は観測ベクトル、 w k {\displaystyle {\boldsymbol {w}}_{k}} は観測ノイズである。

本項目では、以下の線形の観測モデルを考える。

y k = H k x k + w k {\displaystyle {\boldsymbol {y}}_{k}={\boldsymbol {H}}_{k}{\boldsymbol {x}}_{k}+{\boldsymbol {w}}_{k}}

ここでN個のアンサンブル { x k 1 k 1 } i = 1 N {\displaystyle \{{\boldsymbol {x}}_{k-1\mid k-1}\}_{i=1}^{N}} を考えたとき、条件付き分布pを以下のように δ {\displaystyle \delta } 関数を用いて近似する。

  p ( x k y 1 : k 1 ) 1 N i = 1 N δ ( x k x k k 1 ( i ) ) {\displaystyle \ p({\boldsymbol {x}}_{k}\mid {\boldsymbol {y}}_{1:k-1})\cong {\frac {1}{N}}\sum _{i=1}^{N}\delta ({\boldsymbol {x}}_{k}-{\boldsymbol {x}}_{k\mid k-1}^{(i)})}
  p ( x k y 1 : k ) 1 N i = 1 N δ ( x k x k k ( i ) ) {\displaystyle \ p({\boldsymbol {x}}_{k}\mid {\boldsymbol {y}}_{1:k})\cong {\frac {1}{N}}\sum _{i=1}^{N}\delta ({\boldsymbol {x}}_{k}-{\boldsymbol {x}}_{k\mid k}^{(i)})}

アンサンブルカルマンフィルタの解析は、予測(prediction)、濾波(filtering)および平滑化(smoothing)の三つの推定問題に分類することができる。以下に三つの問題を示す。

予測

アンサンブルメンバー x k 1 k 1 ( i ) {\displaystyle {\boldsymbol {x}}_{k-1\mid k-1}^{(i)}} をシミュレーションモデルに基づいて更新し、予測分布のアンサンブルを得る。すなわち、以下の式が得られる。

x k k 1 ( i ) = f k ( x k 1 k 1 ( i ) , v k ( i ) ) {\displaystyle {\boldsymbol {x}}_{k\mid k-1}^{(i)}={\boldsymbol {f}}_{k}({\boldsymbol {x}}_{k-1\mid k-1}^{(i)},{\boldsymbol {v}}_{k}^{(i)})}

濾波

x k k 1 ( i ) = x k k 1 ( i ) 1 N j = 1 N x k k 1 ( j ) {\displaystyle {\boldsymbol {x'}}_{k\mid k-1}^{(i)}={\boldsymbol {x}}_{k\mid k-1}^{(i)}-{\frac {1}{N}}\sum _{j=1}^{N}{\boldsymbol {x}}_{k\mid k-1}^{(j)}}
V ^ k k 1 = 1 N 1 j = 1 N x k k 1 ( j ) x k k 1 ( j ) T {\displaystyle {\hat {\boldsymbol {V}}}_{k\mid k-1}={\frac {1}{N-1}}\sum _{j=1}^{N}{{\boldsymbol {x'}}_{k\mid k-1}^{(j)}{\boldsymbol {x'}}_{k\mid k-1}^{(j)}}^{T}}
R ^ k = 1 N 1 j = 1 N w k ( j ) w k ( j ) T {\displaystyle {\hat {\boldsymbol {R}}}_{k}={\frac {1}{N-1}}\sum _{j=1}^{N}{{\boldsymbol {w}}_{k}^{(j)}{\boldsymbol {w}}_{k}^{(j)}}^{T}}

次に、以下のカルマンゲインより、アンサンブルメンバーを得る。

K ^ k = V ^ k k 1 H k T ( H k V ^ k k 1 H k T + R ^ k ) 1 {\displaystyle {\hat {\boldsymbol {K}}}_{k}={\hat {\boldsymbol {V}}}_{k\mid k-1}{\boldsymbol {H}}_{k}^{T}({\boldsymbol {H}}_{k}{\hat {\boldsymbol {V}}}_{k\mid k-1}{\boldsymbol {H}}_{k}^{T}+{\hat {\boldsymbol {R}}}_{k})^{-1}}
x k k ( i ) = x k k 1 ( i ) + K ^ k ( y k + w k ( i ) H k x k k 1 ( i ) ) {\displaystyle {\boldsymbol {x}}_{k\mid k}^{(i)}={\boldsymbol {x}}_{k\mid k-1}^{(i)}+{\hat {\boldsymbol {K}}}_{k}({\boldsymbol {y}}_{k}+{\boldsymbol {w}}_{k}^{(i)}-{\boldsymbol {H}}_{k}{\boldsymbol {x}}_{k\mid k-1}^{(i)})}

平滑化

以下のアンサンブルメンバーを得る。ここで、 J ^ k k {\displaystyle {\hat {\boldsymbol {J}}}_{k'\mid k}} はカルマンゲインに相当する。

J ^ k k = 1 N 1 ( i = 1 N ( x k k 1 ( i ) x ^ k k 1 ) ( x k k 1 ( i ) x ^ k k 1 ) T ) H k T ( H k V ^ k k 1 H k T + R ^ k ) 1 {\displaystyle {\hat {\boldsymbol {J}}}_{k'\mid k}={\frac {1}{N-1}}(\sum _{i=1}^{N}({\boldsymbol {x}}_{k'\mid k-1}^{(i)}-{\hat {\boldsymbol {x}}}_{k'\mid k-1})({\boldsymbol {x}}_{k'\mid k-1}^{(i)}-{\hat {\boldsymbol {x}}}_{k'\mid k-1})^{T}){\boldsymbol {H}}_{k}^{T}({\boldsymbol {H}}_{k}{\hat {\boldsymbol {V}}}_{k\mid k-1}{\boldsymbol {H}}_{k}^{T}+{\hat {\boldsymbol {R}}}_{k})^{-1}}
x k k ( i ) = x k k 1 ( i ) + J ^ k k ( y k + w k ( i ) H k x k k 1 ( i ) ) {\displaystyle {\boldsymbol {x}}_{k'\mid k}^{(i)}={\boldsymbol {x}}_{k'\mid k-1}^{(i)}+{\hat {\boldsymbol {J}}}_{k'\mid k}({\boldsymbol {y}}_{k}+{\boldsymbol {w}}_{k}^{(i)}-{\boldsymbol {H}}_{k}{\boldsymbol {x}}_{k\mid k-1}^{(i)})}

参考文献

  • 中村和幸、上野玄太、樋口知之;データ同化:その概念と計算アルゴリズム、統計数理、第53巻、第2号、pp.211-229、2005.
  • 三好建正;アンサンブル・カルマンフィルタ‐データ同化とアンサンブル予報の接点‐、天気、Vol.52、No.2、pp.93-104、2005.
  • Evansen, G.: The ensemble Kalman filter : theoretical formulation and practical implementation, Ocean Dynamics, 53, pp.343-367, 2003.
  • Hamill, T.M.: Ensemble-based atmospheric data assimilation, A tutorial, NOAA-CIRES Climate Diagnostics Center, pp.1-46, 2003.