状態空間モデル#
概要#
時点\(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\)は任意の関数)
状態空間モデルは状態方程式と観測方程式で構成される
関数\(f,g\)が非線形だったりノイズ\(u_t,v_t\)が非ガウス分布の状態空間モデルは 一般化状態空間モデル と呼ばれる。
線形ガウス状態空間モデル(動的線形モデル dynamic linear models: DLM) は 計算量が低く、statsmodelsなどのパッケージで容易に計算できる。
一般化状態空間モデルはカルマンフィルタなど「〇〇フィルタ」系の手法やMCMCなどで計算することになり学習には多くの時間を要する
状態について#
例えばダイエットしてる人が日々の「体重」\(Y_t\)を測って推移を追っているとする。
体重には体重計の測定誤差\(v_t\)が関わる。
また「実際の脂肪の量」という状態\(S_t\)もある。こちらは基本的に目には見えない状態
線形ガウス状態空間モデル#
1次の自己回帰モデル
を状態方程式・観測方程式で表すと
ローカルレベルは過程誤差(状態方程式の誤差)と観測誤差をもつシンプルな状態空間モデル
状態はホワイトノイズの累積和でありランダム・ウォーク過程。ここに観測誤差を入れているので、別名 ランダムウォーク・プラス・ノイズモデル とも呼ばれる。
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)\)に射影する。
ここで\(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の丁寧な解説資料。おすすめ✨。jaxのコードつき。
状態空間モデルNN①Efficiently Modeling Long Sequences with Structured State Spaces - YouTube
日本語の動画