SINDy

Sparse Identification of Nonlinear Dynamics

Autor
Afiliação

Prof. Dr. Raphael Teixeira

Universidade Federal do Pará

SINDy (Sparse Identification of Nonlinear Dynamics) é um método para descobrir, a partir de dados, as equações diferenciais que governam um sistema dinâmico, sob a hipótese de que poucos termos de uma biblioteca de funções candidatas bastam para descrever a dinâmica. Foi proposto por Brunton, Proctor e Kutz (Brunton; Proctor; Kutz, 2016), com raízes na ideia mais antiga de “destilar” leis físicas de dados experimentais por regressão simbólica (Schmidt; Lipson, 2009).

Formulação

Dado o estado medido \(X \in \mathbb{R}^{m\times n}\) (\(m\) instantes, \(n\) variáveis de estado) e sua derivada \(\dot X\) — medida diretamente ou estimada por diferenciação numérica —, constrói-se uma biblioteca de candidatos

\[ \Theta(X) = \begin{bmatrix} 1 & X & X^2 & \sin(X) & \cdots \end{bmatrix} \]

e resolve-se a regressão esparsa \(\dot X = \Theta(X)\,\Xi\), com \(\Xi\) esparsa: cada coluna de \(\Xi\) contém os coeficientes de uma equação, e um coeficiente \(\Xi_{j,i}\) não nulo indica que o \(j\)-ésimo candidato de \(\Theta\) participa da equação de \(\dot x_i\).

O Algoritmo STLSQ

O solver clássico de SINDy é a regressão por mínimos quadrados sequencialmente truncados (STLSQ):

  1. ajusta-se \(\Xi\) por mínimos quadrados comum, \(\Xi \leftarrow \Theta^\dagger \dot X\);
  2. zeram-se os coeficientes com \(|\Xi_{j,i}| < \tau\) (limiar de esparsidade);
  3. reajustam-se por mínimos quadrados apenas os coeficientes que sobraram;
  4. repetem-se os passos 2–3 até convergência — poucas iterações bastam.

O limiar \(\tau\) controla o compromisso entre esparsidade (poucos termos, mais interpretável) e ajuste aos dados, normalmente escolhido por validação cruzada ou por conhecimento físico do problema.

Por que Esparsidade?

A maioria dos sistemas físicos conhecidos — Navier–Stokes, o sistema de Lorenz, o oscilador de Duffing — é descrita por poucos termos: a esparsidade é, portanto, uma hipótese razoável, que também evita sobreajuste. Uma vantagem central de SINDy sobre modelos de caixa-preta (redes neurais, por exemplo) é que o resultado é interpretável: uma equação diferencial explícita, não uma função aproximada de milhares de parâmetros. A principal limitação é a sensibilidade ao ruído na derivada estimada \(\dot X\), que normalmente exige filtragem ou diferenciação robusta (diferenciação por variação total, por exemplo) antes da regressão.

Extensões

Diversas extensões ampliaram o alcance do método original:

  • SINDYc inclui entradas de controle \(u\) na biblioteca, \(\Theta(X,U)\), permitindo descobrir \(\dot x = \Theta(x,u)\Xi\) diretamente utilizável em MPC (Kaiser; Kutz; Brunton, 2018);
  • PDE-FIND estende a ideia para descobrir equações diferenciais parciais — Navier–Stokes, a equação de Burgers, entre outras — a partir de campos medidos no espaço e no tempo (Rudy et al., 2017);
  • Quando as variáveis “certas” não são observadas diretamente, um autoencoder pode aprender uma mudança de coordenadas cujo espaço latente já é esparso por SINDy, descobrindo simultaneamente coordenadas e equações (Champion et al., 2019);
  • Para sistemas com simetrias ou restrições físicas conhecidas — como conservação de energia —, a regressão pode ser restringida de modo a respeitá-las (Loiseau; Brunton, 2018).

Robustez a Ruído

STLSQ, na sua forma original, é sensível a ruído. Duas respostas consolidadas na literatura: SR3 (Sparse Relaxed Regularized Regression) relaxa o problema de otimização, trocando o corte abrupto do limiar por uma penalização mais suave e numericamente mais estável (Zheng et al., 2019); e Ensemble-SINDy ajusta muitos modelos SINDy sobre subamostras bootstrap dos dados e agrega os resultados, permanecendo robusto mesmo com poucos dados e ruído alto, e possibilitando estimar a incerteza dos coeficientes encontrados (Fasel et al., 2022).

Software

A biblioteca de referência para uso em projetos reais é o PySINDy, que implementa STLSQ, SR3, SINDYc, discretização de PDEs e dezenas de bibliotecas de candidatos prontas para uso (Kaptanoglu et al., 2022; Silva et al., 2020).

Aplicação a Controle

Uma vez identificado o modelo esparso \(\dot x = \Theta(x)\Xi\), ele pode ser usado diretamente como planta para projeto de controladores — MPC não linear, linearização por realimentação —, fechando o ciclo entre identificação baseada em dados e controle (Kaiser; Kutz; Brunton, 2018).

Ver também

Referências

BRUNTON, Steven L.; PROCTOR, Joshua L.; KUTZ, J. Nathan. Discovering Governing Equations from Data by Sparse Identification of Nonlinear Dynamical Systems. Proceedings of the National Academy of Sciences, v. 113, n. 15, p. 3932–3937, 2016.
CHAMPION, Kathleen et al. Data-Driven Discovery of Coordinates and Governing Equations. Proceedings of the National Academy of Sciences, v. 116, n. 45, p. 22445–22451, 2019.
FASEL, Urban et al. Ensemble-SINDy: Robust Sparse Model Discovery in the Low-Data, High-Noise Limit, with Active Learning and Control. Proceedings of the Royal Society A, v. 478, p. 20210904, 2022.
KAISER, Eurika; KUTZ, J. Nathan; BRUNTON, Steven L. Sparse Identification of Nonlinear Dynamics for Model Predictive Control in the Low-Data Limit. Proceedings of the Royal Society A, v. 474, p. 20180335, 2018.
KAPTANOGLU, Alan A. et al. PySINDy: A Comprehensive Python Package for Robust Sparse System Identification. Journal of Open Source Software, v. 7, n. 69, p. 3994, 2022.
LOISEAU, Jean-Christophe; BRUNTON, Steven L. Constrained Sparse Galerkin Regression. Journal of Fluid Mechanics, v. 838, p. 42–67, 2018.
RUDY, Samuel H. et al. Data-Driven Discovery of Partial Differential Equations. Science Advances, v. 3, n. 4, p. e1602614, 2017.
SCHMIDT, Michael; LIPSON, Hod. Distilling Free-Form Natural Laws from Experimental Data. Science, v. 324, n. 5923, p. 81–85, 2009.
SILVA, Brian M. de et al. PySINDy: A Python Package for the Sparse Identification of Nonlinear Dynamics from Data. Journal of Open Source Software, v. 5, n. 49, p. 2104, 2020.
ZHENG, Peng et al. A Unified Framework for Sparse Relaxed Regularized Regression: SR3. IEEE Access, v. 7, p. 1404–1423, 2019.