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

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

## 概略

まず、時刻*k*におけるシミュレーションモデル（状態方程式）は以下である。
:\boldsymbol{x}_{k} = \boldsymbol{f}_{k} ( \boldsymbol{x}_{k-1} , \boldsymbol{v}_{k} ) 
ここで、\boldsymbol{x}_{k}は状態ベクトル、\boldsymbol{v}_{k}はシステムノイズである。

また、観測モデル（観測方程式）は、以下である。
:\boldsymbol{y}_{k} = \boldsymbol{h}_{k} ( \boldsymbol{x}_{k} , \boldsymbol{w}_{k} ) 
ここで、\boldsymbol{y}_{k}は観測ベクトル、\boldsymbol{w}_{k}は観測ノイズである。

本項目では、以下の線形の観測モデルを考える。
:\boldsymbol{y}_{k} = \boldsymbol{H}_{k} \boldsymbol{x}_{k} + \boldsymbol{w}_{k} 
ここで*N*個のアンサンブル\{ \boldsymbol{x}_{k-1\mid k-1} \}_{i=1}^N を考えたとき、条件付き分布*p*を以下のように\delta関数を用いて近似する。

:\ 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(\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）の三つの推定問題に分類することができる。以下に三つの問題を示す。

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

## 濾波
:\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)}  
:\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
:\hat {\boldsymbol{R}}_{k} = \frac{1}{N-1} \sum_{j=1}^N {\boldsymbol{w}_{k}^{(j)} \boldsymbol{w}_{k}^{(j)} }^T

次に、以下のカルマンゲインより、アンサンブルメンバーを得る。
:\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}

:\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)} )

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

:\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}

:\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.