アンサンブルカルマンフィルタ(Ensemble Kalman Filter;EnKF)とは、逐次型データ同化手法の一つである。シミュレーションモデル内の状態を表す確率変数について、その分布を実現値集合(アンサンブルと称す)によって保持し、観測を得るごとに、観測モデルをもとにしたカルマンフィルターによる推定により、2次モーメントまでが一致するよう、アンサンブルを修正することを繰り返す方法である。
概略
まず、時刻kにおけるシミュレーションモデル(状態方程式)は以下である。
![{\displaystyle {\boldsymbol {x}}_{k}={\boldsymbol {f}}_{k}({\boldsymbol {x}}_{k-1},{\boldsymbol {v}}_{k})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/09f2b643af7d659a62ccb8c6b7c17ea84da06877)
ここで、
は状態ベクトル、
はシステムノイズである。
また、観測モデル(観測方程式)は、以下である。
![{\displaystyle {\boldsymbol {y}}_{k}={\boldsymbol {h}}_{k}({\boldsymbol {x}}_{k},{\boldsymbol {w}}_{k})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/00f4a9f7975ef0ed32338e6e34e97219c8e15155)
ここで、
は観測ベクトル、
は観測ノイズである。
本項目では、以下の線形の観測モデルを考える。
![{\displaystyle {\boldsymbol {y}}_{k}={\boldsymbol {H}}_{k}{\boldsymbol {x}}_{k}+{\boldsymbol {w}}_{k}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/07b1535644142bcda1cbb3d4e46808337b675115)
ここでN個のアンサンブル
を考えたとき、条件付き分布pを以下のように
関数を用いて近似する。
![{\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)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/dbbefa4bdc74cf6742224bb5937305eeb12bde96)
![{\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)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a398e2f7b78aa7db6a33e5bdd7add9c5bd00f562)
アンサンブルカルマンフィルタの解析は、予測(prediction)、濾波(filtering)および平滑化(smoothing)の三つの推定問題に分類することができる。以下に三つの問題を示す。
予測
アンサンブルメンバー
をシミュレーションモデルに基づいて更新し、予測分布のアンサンブルを得る。すなわち、以下の式が得られる。
![{\displaystyle {\boldsymbol {x}}_{k\mid k-1}^{(i)}={\boldsymbol {f}}_{k}({\boldsymbol {x}}_{k-1\mid k-1}^{(i)},{\boldsymbol {v}}_{k}^{(i)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a4b98bfeab4911e297ac704894aedb01ebdc11d8)
濾波
![{\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)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/535f8bef9cf52d61c09b75dbca4fcb6bd6677f12)
![{\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}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4bacd853d1b3f2b1227e04cf53e55b3f9954d4e6)
![{\displaystyle {\hat {\boldsymbol {R}}}_{k}={\frac {1}{N-1}}\sum _{j=1}^{N}{{\boldsymbol {w}}_{k}^{(j)}{\boldsymbol {w}}_{k}^{(j)}}^{T}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c469032e515e37db24b24d7db9ea8f7891c375da)
次に、以下のカルマンゲインより、アンサンブルメンバーを得る。
![{\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}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/10d7876989357f531ffb3d1ab3869883f334c820)
![{\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)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f6cd91169694d7548f77f87ad718ab45321b3390)
平滑化
以下のアンサンブルメンバーを得る。ここで、
はカルマンゲインに相当する。
![{\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}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/58a11f7b41da913a9983c90492983b8e96c77eba)
![{\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)})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/26629c4fa78fe56be111a130257268bbbdf1dd4c)
参考文献
- 中村和幸、上野玄太、樋口知之;データ同化:その概念と計算アルゴリズム、統計数理、第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.