Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データ同化入門

Avatar for hayata-yamamoto hayata-yamamoto
July 23, 2025
27

 データ同化入門

この資料はAIによって作成されています

Avatar for hayata-yamamoto

hayata-yamamoto

July 23, 2025
Tweet

More Decks by hayata-yamamoto

Transcript

  1. 目次 1 データ同化の概要 2 データ同化の基本概念とベイズ推定 3 カルマンフィルタの理論とアルゴリズム 4 粒子フィルタの理論とアルゴリズム 5

    データ同化と機械学習の融合 6 ニューラルネットワーク応用 7 Python による実装例 8 天気予報への応用 9 ロボティクス / 経済モデリングへの応用 10 まとめと今後の展望    機械学習分野におけるデータ同化入門 2 / 10
  2. データ同化とは データ同化( Data Assimilation )は、数値シミュレーシ ョンモデルと観測データを統計的手法で融合し、予測精度を 向上させる計算技術です。 本質的な目的:モデルの予測と観測の双方に含まれる誤差を 考慮し、それらを同化(=融合)して系の「真の状態」を推 定すること

    現代では流体解析、ロボット工学、経済モデリングなど様々な分野 で広く活用されています。 時間 モデル予測 観測データ 同化結果 図 1: データ同化の概念図。モデル予測(青)と観測データ(緑)それぞれに誤差があ り、真の状態(白丸)はその中間に位置する。 データ同化では両者の情報を統計的に 「融合」し、より真値に近い推定値(オレンジ)を求めて時間発展させる。 元々は気象学・海洋学分野で発展した技術 「先人たちが作り上げてきたモデル」を「新たな観測データに 馴染ませる」技術 形式的な定義:ベイズ統計学の枠組みでモデルと観測を統合 機械学習分野におけるデータ同化入門 3 / 10
  3. データ同化の基本概念とベイズ推定 データ同化はベイズ推定に立脚し、状態を逐次的に更新する 枠組みです。 ベイズ推定の本質 : 「事前分布 + 観測データ = 事後分布」

    モデルの予測(事前分布)を観測データを用いて更新し、より確から しい状態推定(事後分布)を得る ベイズの定理: p(x|y) = p(y|x)p(x) ∫p(y|x)p(x)dx p(x): 事前分布、 p(y|x): 尤度、 p(x|y): 事後分布 状態変数 x 確率密度 事前分布 p(x) 尤度 p(y|x) 事後分布 p(x|y) 真の状態 事前分布 尤度 事後分布  データ同化のベイズ逐次更新: 事前分布 モデル予測 + 観測データ 尤度 → 事後分布 状態推定 この過程を時間とともに繰り返し、連続的に最適な状態推定を行う データ同化 = 時間発展する系の状態をベイズ推定で逐次的に 更新 観測前の確率分布(先験情報)と観測情報をバランスよく結合 誤差を確率分布で表現し、統計的に最適な状態推定を実現 機械学習分野におけるデータ同化入門 4 / 10
  4. カルマンフィルタの理論とアルゴリズム カルマンフィルタは線形ガウス系における状態推定問題の最 適解を与えるアルゴリズムです。 基本アルゴリズム 予測ステップ( Time Update ) : 状態予測

    : x = Fx 共分散予測 : P = FP F + Q 更新ステップ( Measurement Update ) : カルマンゲイン : K = P H (HP H + R) 状態更新 : x = x + K (y - Hx ) 共分散更新 : P = (I - K H)P 拡張版アルゴリズム: 予測ステップ x_{t|t-1} = Fx_{t-1|t-1} P_{t|t-1} = FPF^T + Q 更新ステップ K_t = P_{t|t-1}H^T(HP_{t|t-1}H^T + R)^{-1} x_{t|t} = x_{t|t-1} + K_t(y_t - Hx_{t|t-1}) 観測 y_t 次の時間ステップへ カルマンフィルタの特徴 線形ガウス系での最適( MMSE )推定を提供 予測と更新の 2 段階で逐次的に状態を更新 計算効率が良く、リアルタイム処理に適している 多次元の状態・観測にも対応できる柔軟性 非線形系向けに様々な拡張版が存在( EKF 、 UKF 、 EnKF 等) 「カルマンフィルタは、実際には必要な予測を行い、現実に必要なデータを使 って、その予測を修正するという簡単なことを行っている。 」 - ルドルフ・ E ・カルマン t|t-1 t-1|t-1 t|t-1 t-1|t-1 T t t|t-1 T t|t-1 T -1 t|t t|t-1 t t t|t-1 t|t t t|t-1 拡張カルマンフィルタ( EKF ) : 非線形システムをテイラー展 開で線形化し、ヤコビアン行列を用いて近似 無香料カルマンフィルタ( UKF ) : シグマポイントを用いて非 線形変換を近似 アンサンブルカルマンフィルタ( EnKF ) : モンテカルロ法でア ンサンブル集合を用いて共分散を表現 機械学習分野におけるデータ同化入門 5 / 10
  5. 粒子フィルタの理論とアルゴリズム 粒子フィルタは、非線形・非ガウス系に対応できるベイズフ ィルタで、状態の確率分布を粒子(サンプル)集合で近似し ます。 モンテカルロ法で確率分布を表現し、任意の形状の分布に対応 可能 代表的な式: 重み更新 : w

    ∝ w · p(y |x ) 事後分布の近似 : p(x |y ) ≈ Σ w δ(x -x ) 初期粒子 状態空間上に N 個の粒子を配置 予測ステップ システムモデルで 粒子を時間発展 重み更新 観測データから 各粒子の尤度計算 リサンプリング 重みに応じて 粒子を再配置 状態推定 粒子の重み付き平均 E[x] = Σwⁱxⁱ 予測分布 事後分布 粒子フィルタの特徴 : 非線形システムへの対応力に優れる 複雑な分布形状も扱える柔軟性 粒子数増加でより精度向上(計算コストと精度のトレードオフ) 粒子の多様性維持が重要な課題(退化問題) 粒子による分布表現 : 状態空間上の複数点(粒子)と重みで確 率分布を近似 重み更新 : 観測データを元に尤度 p(y|x ) で各粒子の重みを更 新 (i) リサンプリング : 重みに基づいて粒子を再配置、退化問題を解 消 t (i) t-1 (i) t t (i) t 1:t i=1 N t (i) t t (i) 機械学習分野におけるデータ同化入門 6 / 10
  6. データ同化と機械学習の融合 データ同化と機械学習はベイズ推定と確率分布の操作という 共通基盤を持ち、互いに補完する関係にあります。 融合の主要アプローチ • 物理モデル + データ駆動モデルのハイブリッド化 • パラメータ同定・状態推定に

    ML 技術を活用 両者の相補的関係 データ同化から機械学習へ 不確かさの体系的扱い 物理的整合性の保証 機械学習からデータ同化へ 複雑な非線形関係の表現力 大規模データからのパターン抽出 データ同化 機械学習 融合領域 Neural Data Assimilation AI エミュレータ 物理インフォームド NN 強化学習 + データ同化 ベイズ推定 カルマンフィルタ 粒子フィルタ 物理モデル 深層学習 教師あり学習 強化学習 転移学習 データ同化と機械学習の融合により、物理法則を考慮しながら複雑なパターンを捉え る新たなアプローチが生まれています。 互いの強みを活かした手法は、より精度の高 い予測と理解につながります。 状態空間モデルの拡張:深層学習による非線形変換 観測オペレータの改善:複雑な観測過程を NN で模倣 予測誤差の不確かさ定量化に ML を活用 機械学習分野におけるデータ同化入門 7 / 10
  7. ニューラルネットワークとの連携手法 データ同化と機械学習を組み合わせることで、物理モデルと統計的 推定の長所を最大限に活かすことができます。 Neural Data Assimilation 状態分布パラメータ(平均 μ と共分散 P

    )をニューラルネットワーク で直接モデリングし、ベイズ推定演算をネットワークに組み込む手法 NDA/NIDA 法では、カルマンフィルタの代わりに NN が更新規則を学習 AI エミュレータとの連携 複雑な物理シミュレーションをディープラーニングで高速に模倣し、 計算時間を大幅に短縮 例:宇宙天気予報プロジェクトでは計算を 100 万倍高速化( REPPU モデルの AI 化) 物理インフォームド NN (PINN) 物理方程式の残差をニューラルネットワークの損失関数に組み込む手 法 物理法則と整合性のある予測を実現。 4D-Var と NN 訓練に数学的共通性あり 他の発展的手法:強化学習 + データ同化、グラフニューラルネットワーク応用など 従来のデータ同化 物理モデル 観測データ カルマンフィルタ計算 Neural Data Assimilation 物理モデル 観測データ ニューラルネットワーク (μ, P 推定 ) AI エミュレータ概念図 物理モデル 数時間 計算時間大 → AI 数ミリ秒 高速推論 データ同化 +AI = 最適な予測・推定の実現 機械学習分野におけるデータ同化入門 8 / 10
  8. Python によるカルマンフィルタ実装例 状態ベクトル [ 位置 x, 速度 v] のカルマンフィルタ実装例 状態空間モデル:

    F = 1 dt 0 1 H = [1, 0] ( 観測は位置のみ ) # Kalman Filter 実装(Python/NumPy ) import numpy as np # 初期化 x_est = np.array([0, 0]) # 初期状態 [ 位置, 速度] P_est = np.eye(2) # 初期共分散行列 # システムモデル定義 F = np.array([[1, 1], [0, 1]]) # 状態遷移行列 H = np.array([[1, 0]]) # 観測行列 Q = np.eye(2) * 0.01 # システムノイズ共分散 R = np.array([[0.1]]) # 観測ノイズ共分散 # カルマンフィルタアルゴリズム for t in range(len(z)): # z は観測値系列 # 予測ステップ x_pred = F.dot(x_est) P_pred = F.dot(P_est).dot(F.T) + Q # 更新ステップ y = z[t] - H.dot(x_pred) # 残差 S = H.dot(P_pred).dot(H.T) + R # 残差共分散 K = P_pred.dot(H.T).dot(np.linalg.inv(S)) # カルマンゲイン x_est = x_pred + K.dot(y) # 状態更新 P_est = (np.eye(2) - K.dot(H)).dot(P_pred) # 共分散更新 カルマンゲイン K の役割:予測値とノイズある観測値の最適バ ランスを取る • K↓: モデル信頼 ↑ / 観測信頼 ↓ • K↑: モデル信頼 ↓ / 観測信頼 ↑ 時間ステップ 位置 真の位置 ノイズのある観測値 カルマンフィルタ推定値 図 : カルマンフィルタによる位置推定。観測ノイズ(オレンジ点)にもかかわらず、 カルマンフィルタ(赤線)は真の位置(黄線)を精度よく追跡できている。 機械学習分野におけるデータ同化入門 9 / 10
  9. 応用事例とまとめ 主要応用分野  天気予報 • 3D-Var/4D-Var 手法による初期値 同化 • EnKF

    でアンサンブル予報の高精 度化 • 観測データの品質管理と統合  ロボティクス • SLAM ( 同時位置推定と地図作成 ) • 自己位置推定・物体追跡 • センサーフュージョン  経済モデリング • マクロ経済時系列成分推定 • 潜在成長率・景気循環抽出 • 政策評価のための状態空間モデル  その他分野 • 宇宙天気予報( AI エミュレータ) • 海洋学(波浪・潮流予測) • 社会経済分析 今後の展望  データ同化と深層学習の融合強化(物理法則の制約付き DL )  エッジデバイスでのリアルタイム同化処理実現  計算効率向上による AI エミュレータの普及  物理モデル・統計モデルの最適バランスの自動化 データ同化・機械学習の融合と応用展開 データ同化 + 機械学習 天気予報 ロボティクス 経済モデリング 宇宙天気 海洋学 未来の応用 データ同化・機械学習のインパクト 物理モデル・データ駆動アプローチの相乗効果により、 複雑系の予測・制御・理解に革新をもたらす 機械学習分野におけるデータ同化入門 10 / 10