logo

分数関数を克服するためのCINDy: SINDyPI 📂統計的分析

分数関数を克服するためのCINDy: SINDyPI

アルゴリズム 1 2

SINDyアルゴリズム: 状態空間が $\mathbb{R}^{n}$ の 力学系 が次のような 滑らかな関数 $f : \mathbb{R}^{n} \to \mathbb{R}^{n}$ によって与えられるとする。 $$ \dot{\mathbf{x}} = f \left( \mathbf{x} \right) $$ $X$ の 独立変数 にいくつかの 非線形関数を取って得られる派生変数 を作りそれらを並べた 行列 $\Theta \left( X \right) \in \mathbb{R}^{m \times p}$ と次の 行列方程式 に対して STLSQ を実行して 支配方程式governing equation を見つけるアルゴリズムを SINDySINDy と呼ぶ。 $$ \dot{X} = \Theta \left( X \right) \Xi $$

暗黙の微分方程式: 特に 常微分方程式 において,次のように暗黙的implicitに表現される微分方程式を 暗黙の常微分方程式 と呼ぶ。 $$ f \left( x , \dot{x} \right) = 0 $$

SINDyの変形として,暗黙の微分方程式を経由して有理関数を復元するアルゴリズムが 暗黙のSINDyimplicit-SINDy または SINDy-PISINDy-PI として知られている。

説明

$$ \dot{x} = {\frac{ x }{ x + a }} $$ SINDyは基本的に非線形項の 線形結合 として 支配方程式 を復元するため,上のような単純な形の有理関数さえ見つけにくいという欠点がある。単に $1/x$ が掛かっている程度はライブラリを増やして克服できるが,$a$ を特定するには無限に多くの項が候補として入らなければならないため現実的に不可能である。

ここでのアイデアはまさに暗黙の微分方程式で表現することだ。両辺に $x + a$ を掛けてみると,有理関数を含む微分方程式は次のように表現できる。 $$ \begin{align*} & (x + a) \dot{x} = x \ \\ \implies & a \dot{x} = x - x \dot{x} \ \\ \implies & \dot{x} = {\frac{ 1 }{ a }} x - {\frac{ 1 }{ a }} x \dot{x} \end{align*} $$ 結果としてこれらのアルゴリズムは次のような形の方程式を目標とする。 $$ \dot{\mathbf{x}} = {\frac{ f_{N} \left( \mathbf{x} \right) }{ f_{D} \left( \mathbf{x} \right) }} $$

ある意味では数値解析的に見れば広く知られたソルバーが使えず,暗黙の微分方程式を解くためのソルバーにコストが転嫁されたとも言えるが,そもそも有理関数を復元できなかった問題から方程式を導けるというだけでも大きな進展と言えるだろう。

暗黙のSINDy

alt text

暗黙のSINDyは元のライブラリに $\dot{x}$ を一度掛けてライブラリに追加する形で実装される。上図のようにヌルスペースでアプローチしても構わないが,単に左辺に $\dot{x}$ だけがある行列を渡して STLSQ を実行してもよい。

SINDy-PI

alt text

著者らの主張によれば SINDy-PI は暗黙のSINDyに比べてノイズに強く成功確率も高いという。上図のように式を立てて $\Xi$ を探すと自明解である単位行列が存在するので,それを除外するために $\diag \Xi$ が零ベクトルであるという制約が付いた最適化問題に置き換えるという手法だ。

ある意味で暗黙のSINDyよりはるかに一般的とも言えるが,$p \times p$ 大きさの $\Xi$ を見つけなければならないというのは問題によってはやや過剰かもしれない。個人的経験では $\dot{x_{2}} g(x)$ のようなライブラリが $x_{1}$ を予測するためにも入ってくるタイプの問題を見た。


  1. Mangan, N. M., Brunton, S. L., Proctor, J. L., & Kutz, J. N. (2017). Inferring biological networks by sparse identification of nonlinear dynamics. IEEE Transactions on Molecular, Biological, and Multi-Scale Communications, 2(1), 52-63. https://doi.org/10.1109/TMBMC.2016.2633265 ↩︎

  2. Kaheman, K., Kutz, J. N., & Brunton, S. L. (2020). SINDy-PI: a robust algorithm for parallel implicit sparse identification of nonlinear dynamics. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 476(2242). https://doi.org/10.1098/rspa.2020.0279 ↩︎