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-world 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.
翻译:由数据驱动的自动模型,即直接从数据中发现系统治理方程式的过程,正在科学界越来越多地使用。PySINDy是一个Python软件包,它为数据驱动模型的发现提供工具,对数据驱动模型的发现采用稀少的非线性动态识别(SINDy)方法。在对PySINDy的这次重大更新中,我们采用了一些先进的特征,以便能够从噪音和有限的数据中发现更普遍的差别方程式。候选术语库扩展用于确定激活系统、部分差异方程式和隐含差异方程式。还实施了包括SINDy和聚合技术整体形式的硬方程式配方程式,以改进真实世界数据的性能。最后,我们提供了一系列新的优化算法,包括若干稀有的回归技术和算法,以强制和促进不平等的限制和稳定。这些更新使文献中未报告的完全新的SINDI模型发现能力得以实现,例如有限的PDE识别和与不同微回归优化器结合。