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 et al. 2016), com raízes na ideia mais antiga de “destilar” leis físicas de dados experimentais por regressão simbólica (Schmidt e 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 et al. 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 e 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 (Silva et al. 2020; Kaptanoglu et al. 2022).

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 et al. 2018).

Ver também

Referências

Brunton, Steven L., Joshua L. Proctor, e J. Nathan Kutz. 2016. “Discovering Governing Equations from Data by Sparse Identification of Nonlinear Dynamical Systems”. Proceedings of the National Academy of Sciences 113 (15): 3932–37. https://doi.org/10.1073/pnas.1517384113.
Champion, Kathleen, Bethany Lusch, J. Nathan Kutz, e Steven L. Brunton. 2019. “Data-Driven Discovery of Coordinates and Governing Equations”. Proceedings of the National Academy of Sciences 116 (45): 22445–51. https://doi.org/10.1073/pnas.1906995116.
Fasel, Urban, J. Nathan Kutz, Bingni W. Brunton, e Steven L. Brunton. 2022. “Ensemble-SINDy: Robust Sparse Model Discovery in the Low-Data, High-Noise Limit, with Active Learning and Control”. Proceedings of the Royal Society A 478: 20210904. https://doi.org/10.1098/rspa.2021.0904.
Kaiser, Eurika, J. Nathan Kutz, e Steven L. Brunton. 2018. “Sparse Identification of Nonlinear Dynamics for Model Predictive Control in the Low-Data Limit”. Proceedings of the Royal Society A 474: 20180335. https://doi.org/10.1098/rspa.2018.0335.
Kaptanoglu, Alan A., Brian M. de Silva, Urban Fasel, et al. 2022. PySINDy: A Comprehensive Python Package for Robust Sparse System Identification”. Journal of Open Source Software 7 (69): 3994. https://doi.org/10.21105/joss.03994.
Loiseau, Jean-Christophe, e Steven L. Brunton. 2018. “Constrained Sparse Galerkin Regression”. Journal of Fluid Mechanics 838: 42–67. https://doi.org/10.1017/jfm.2017.823.
Rudy, Samuel H., Steven L. Brunton, Joshua L. Proctor, e J. Nathan Kutz. 2017. “Data-Driven Discovery of Partial Differential Equations”. Science Advances 3 (4): e1602614. https://doi.org/10.1126/sciadv.1602614.
Schmidt, Michael, e Hod Lipson. 2009. “Distilling Free-Form Natural Laws from Experimental Data”. Science 324 (5923): 81–85. https://doi.org/10.1126/science.1165893.
Silva, Brian M. de, Kathleen Champion, Markus Quade, Jean-Christophe Loiseau, J. Nathan Kutz, e Steven L. Brunton. 2020. PySINDy: A Python Package for the Sparse Identification of Nonlinear Dynamics from Data”. Journal of Open Source Software 5 (49): 2104. https://doi.org/10.21105/joss.02104.
Zheng, Peng, Travis Askham, Steven L. Brunton, J. Nathan Kutz, e Aleksandr Y. Aravkin. 2019. “A Unified Framework for Sparse Relaxed Regularized Regression: SR3. IEEE Access 7: 1404–23. https://doi.org/10.1109/ACCESS.2018.2886528.