Ensemble Kalman Filter を利用した
カオス力学系の推定
2
力学系ってなあに?
いろいろなものの動きは微分方程式で記述されている
例 : 運動方程式
時間に関する微分方程式で記述されている現象を数学的に解析しよう!
力学系 (Dynamical System)
微分方程式と初期値が分かっていれば , 未来の動きが分かる!
3
カオス力学系ってなあに?
しかし ...
初期値のほんの僅かな誤差で未来が大きく変わってしまうことがある!
カオス力学系
有名な例え話:バタフライ・エフェクト
ブラジルでの蝶の羽ばたきがテキサスでトルネードを引き起こす可能性がある
初期値をできるだけ正確に見つけたい
力学系 (Dynamical System)
微分方程式と初期値が分かっていれば , 未来の動きが分かる!
4
カオス力学系の例は?
● 気象
● 衛星の軌道
● 生命現象
● 電力ネットワーク
● 経済
●
etc...
カオス的な振る舞いをするものはたくさんある!
例: Lorenz 方程式
世の中カオスだらけ!
5
Kalman Filter ってなあに?
ノイズの乗った観測データから , 現在の状態をリアルタイム推定するアルゴリズム
例 : 加えた入力と計測した速度から位置を推定する
推定対象のダイナミクス
推定アルゴリズム
予測ステップ 更新ステップ
繰り返す
:推定値 :予測値 :推定誤差の共分散行列
6
何が難しいの?
1. 普通の Kalman Filter は線形システムにしか適用できない
● 線形システムではそもそもカオス的な振る舞いは見えない
● カオス的振る舞いは非線形システム特有の現象
2. 1 つの初期値から決定論的に推定を行うので , カオス的振る舞いに弱い
● カオス力学系では , 少しの誤差が”圧倒的成長”を遂げて大きな誤差になる
7
Ensemble Kalman Filter とは?
非線形離散時間システムを推定したい
個の状態ベクトルを集めたアンサンブルを考える
個々の状態ベクトルをシステムのダイナミクスに基づいて動かす
初期値はランダムに与えておく
このアンサンブルの平均を用いて予測値とし , 観測更新を行うことで修正して推定値とする
つまり , モンテカルロ的な近似を行っている
8
EnKF のアルゴリズム
初期状態ベクトルを並べたアンサンブル行列
予測ステップ
更新ステップ
1. 予測平均値との誤差アンサンブル行列を作る
2. 予測出力も誤差アンサンブル行列を同様に作る
3. 共分散行列を求める
4. カルマンゲインの計算
5. カルマンゲインを用いて修正
6. 推定値をアンサンブル平均とする
1. 各状態ベクトルを用いて予測
以下 , 更新と予測を繰り返す
9
シミュレーションモデル
Lorenz 方程式
カオス理論の始まりとなった方程式
4 次の Runge-Kutta 法により差分化
10
シミュレーション結果
アンサンブル数
真値の初期値
アンサンブルの
初期平均値
推定結果 ( 軌道 )
推定結果 ( 時間応答 )
11
まとめ
普通の Kalman Filter では , 非線形系であるカオス力学系をうまく推定することができない
→ Ensemble Kalman Filter と呼ばれる非線形 Kalman Filter を紹介
Ensemble Kalman Filter では , 多数の状態ベクトルを作りモンテカルロ的な近似で推定を行う
→ シミュレーションによって有効性を示した
Ensemble Kalman Filter の利点
● 非線形系に適用できる
● 逆行列計算のコストが小さい
● アンサンブル数も比較的少なめでいい
Ensemble Kalman Filter の欠点
● 推定精度は Particle Filter には劣る
● 推定対象の次元が小さい場合は ,
計算コストが他に比較して大きくなる

Ensemble Kalman Filterを用いたカオス力学系の推定