状態空間モデル


ローカルレベルモデル

    • 状態方程式:μ_t = μ_(t-1) + ω_t  ω_t~N(0, σ²_ω)
    • 観測方程式:y_t = μ_t + ν_t  ν_t~N(0, σ²_ν)


ローカル線形トレンドモデル

    • トレンド成分:δ_t = δ_(t-1) + ξ_t  ξ_t~N(0, σ²_ξ)
    • 状態方程式:μ_t = μ_(t-1) + δ_(t-1) + ω_t  ω_t~N(0, σ²_ω)
    • 観測方程式: y_t = μ_t + ν_t  ν_t~N(0, σ²_ν) 


カルマンフィルタ

    • 予測ステップ
      • μ_t = μ_(t-1)|(t-1)  μ_(t-1)|(t-1):t-1時点のフィルタ化推定量
      • P_t = P_(t-1)|(t-1) + σ²_ω  P_(t-1)|(t-1):t-1時点の「状態のフィルタ化推定量μ_(t-1)|(t-1)の推定誤差分散」
      • ^y_t = μ_t  ^y_t:t時点の観測値の予測値
      • F_t = P_t + σ²_ν    F_t:t時点の「観測値の予測誤差の分散」
    • フィルタリング
      • K_t = P_t / (P_t + σ²_ν) = P_t / F_t  K_t:カルマンゲイン
      • y_resid,t = y_t - ^y_t  y_resid,t:観測誤差
      • μ_t|t = μ_t + K_t * y_resid,t
      • P_t|t = (1 - K_t ) * P_t


散漫カルマンフィルタ

 カルマンフィルタの改良版

 状態の初期値への対応を以下のように行う

      • 状態の初期値はあきらめる
      • ただし、「状態の予測誤差の分散」の初期値を無限大にしておく

※散漫カルマンフィルタを入れることで、最初の予測値の精度が上がるが、時間経過とともにカルマンフィルタの値を同じになるので、初期値の精度気にしないなら、いらないと思われる


平滑化

 省略


状態空間モデルのプログラム例1

状態空間モデルのプログラム例2(サブクラス作成版)

機械学習Tips保管庫

データ解析、機械学習のための学習内容の保管庫。復習用。

0コメント

  • 1000 / 1000