PySINDy: A comprehensive Python package for robust sparse system identification
Journal of Open Source Software
Abstract
Automated data-driven modeling, the process of directly discovering the governing equations of a system from data, is increasingly being used across the scientific community. PySINDy is a Python package that provides tools for applying the sparse identification of nonlinear dynamics (SINDy) approach to data-driven model discovery. In this major update to PySINDy, we implement several advanced features that enable the discovery of more general differential equations from noisy and limited data. The library of candidate terms is extended for the identification of actuated systems, partial differential equations (PDEs), and implicit differential equations. Robust formulations, including the integral form of SINDy, and ensembling techniques, are also implemented to improve performance for real-word data. Finally, we provide a range of new optimization algorithms, including several sparse regression techniques and algorithms to enforce and promote inequality constraints and stability. Together, these updates enable entirely new SINDy model discovery capabilities that have not been reported in the literature, such as constrained PDE identification and ensembling with different sparse regression optimizers.
Links
Published paper
Citation
@article{a._kaptanoglu2022,
author = {A. Kaptanoglu, Alan and M. de Silva, Brian and Fasel, Urban
and Kaheman, Kadierdan and J. Goldschmidt, Andy and Callaham, Jared
and B. Delahunt, Charles and G. Nicolaou, Zachary and Champion,
Kathleen and Loiseau, Jean-Christophe and Nathan Kutz, J. and L.
Brunton, Steven},
title = {PySINDy: {A} Comprehensive {Python} Package for Robust Sparse
System Identification},
journal = {Journal of Open Source Software},
volume = {7},
number = {69},
pages = {3994},
date = {2022-01-29},
url = {https://joss.theoj.org/papers/10.21105/joss.03994},
doi = {10.21105/joss.03994},
langid = {en}
}