状態空間モデル#

概要#

時点\(t\)の観測値\(Y_t\)の系列と、潜在変数である状態\(S_t\)の系列を考える。

  • 状態は状態方程式 \(S_t = f(S_{t-1}, u_t)\) で1期前の状態とノイズ\(u_t\)から決まる(\(f\)は任意の関数)

  • 観測値は観測方程式 \(Y_t = g(S_t, v_t)\) で状態とノイズ\(v_t\)で決まる(\(g\)は任意の関数)

状態空間モデルは状態方程式と観測方程式で構成される

\[\begin{split} \begin{cases} S_t = f(S_{t-1}, u_t)\\ Y_t = g(S_t, v_t) \end{cases} \end{split}\]

関数\(f,g\)が非線形だったりノイズ\(u_t,v_t\)が非ガウス分布の状態空間モデルは 一般化状態空間モデル と呼ばれる。

  • 線形ガウス状態空間モデル(動的線形モデル dynamic linear models: DLM) は 計算量が低く、statsmodelsなどのパッケージで容易に計算できる。

  • 一般化状態空間モデルはカルマンフィルタなど「〇〇フィルタ」系の手法やMCMCなどで計算することになり学習には多くの時間を要する

状態について#

例えばダイエットしてる人が日々の「体重」\(Y_t\)を測って推移を追っているとする。
体重には体重計の測定誤差\(v_t\)が関わる。
また「実際の脂肪の量」という状態\(S_t\)もある。こちらは基本的に目には見えない状態

(参考:Stanで体重の推移をみつめてみた(状態空間モデル) – Kosugitti’s BLOG

線形ガウス状態空間モデル#

\[\begin{split} \begin{cases} s_t = T_t s_{t-1} + R_t u_t, \quad &u_t \sim N(0, Q_t)\\ y_t = Z_t s_t + v_t, \quad &v_t \sim N(0, H_t) \end{cases} \end{split}\]
例:自己回帰モデル

1次の自己回帰モデル

\[ y_t=\mathrm{c}+\phi_1 y_{t-1}+w_t, \quad w_t \sim \mathrm{~N}\left(0, \sigma_w^2\right) \]

を状態方程式・観測方程式で表すと

\[\begin{split} \begin{aligned} & s_t=\mathrm{c}+\phi_1 s_{t-1}+w_t, \quad w_t \sim \mathrm{~N}\left(0, \sigma_w^2\right) \\ & y_t=s_t \end{aligned} \end{split}\]
例:ローカルレベルモデル

ローカルレベルは過程誤差(状態方程式の誤差)と観測誤差をもつシンプルな状態空間モデル

\[\begin{split} \begin{aligned} \mu_t & =\mu_{t-1} + w_t, & w_t \sim N(0, \sigma_w^2) \\ y_t & =\mu_t+v_t, & v_t \sim N(0, \sigma_v^2) \end{aligned} \end{split}\]

状態はホワイトノイズの累積和でありランダム・ウォーク過程。ここに観測誤差を入れているので、別名 ランダムウォーク・プラス・ノイズモデル とも呼ばれる。

statsmodels#

Time Series Analysis by State Space Methods statespace - statsmodels

statsmodels.tsa.statespace モジュールにSARIMAXなどが入っている

ディープラーニングベースの状態空間モデル(Deep SSMs)#

[2404.09516] State Space Model for New-Generation Network Alternative to Transformers: A Survey

State Space Models#

SSMsのうち、DeepSSMsの論文で見かける式

1次元のinput signal \(x(t)\) を N次元のlatent space \(h(t)\)にしたあとに1次元のoutput signal \(y(y)\)に射影する。

\[\begin{split} h'(t) = A h(t) + B x(t)\\ y(t) =C h(t) + D x(t) \end{split}\]

ここで\(A,B,C,D\)はパラメータであり勾配降下法で学習される。\(D=0\)とおいて\(y(t) =C h(t)\)とするモデルもある。

構造化状態空間モデル(S4)#

[2111.00396] Efficiently Modeling Long Sequences with Structured State Spaces

Structured State Space sequence model で S4と呼ばれる

S4は状態空間モデル(SSMs)をRNNとCNNの組み合わせとして扱う

S4の解説

Manbda(S6)#