アンサンブル SINDy E-SINDy
알고리즘 1
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 $$
SINDy の変形として、バギング を適用してライブラリを削減していくアルゴリズムを E-SINDyE-SINDy, Ensemble-SINDy と呼ぶ。
설명

実際にノイズのあるデータに SINDy を適用すると、どのようにデータの 部分集合 を与えるかによって導出される方程式の形が大きく変わることがある。それでも、繰り返されるブートストラップの中で一貫して現れる係数や項があれば、それらこそが系をよく説明する方程式の構成要素であると考えられる。
本質的に SINDy のライブラリは「十分に大きく」与えて、その中から関連する項が スパース に見つかる スパース回帰 の枠組みである。しかしこの「十分に大きい」ライブラリの項数が増えると、単なるコストの問題を超えて フルランク を満たさなくなったりして 最小二乗法 に問題を生じさせることがある。E-SINDy はより小さなライブラリを探索していくことで、性能と安定性の両面を改善する方法と見なせる。
図に示されるように、E-SINDy にはデータ点自体に対するブートストラップとライブラリに対するブートストラップという二つの実装法がある。どちらの方式を選んでも、ライブラリのある特定の項がどれほど頻繁に現れるかを数え、許容値tolerance を満たさない項は削除して最終モデルを得るという手順になる。SINDy をどのように実装するかによっては、ライブラリに対する E-SINDy の実装のほうがより困難になることがある。
U. Fasel, J. N. Kutz, B. W. Brunton, S. L. Brunton; Ensemble-SINDy: Robust sparse model discovery in the low-data, high-noise limit, with active learning and control. Proc. A 1 April 2022; 478 (2260): 20210904. https://doi.org/10.1098/rspa.2021.0904 ↩︎
