IEEE Access (Jan 2024)
Learning Nonlinear Dynamics Using Kalman Smoothing
Abstract
Identifying Ordinary Differential Equations (ODEs) from measurement data requires both fitting the dynamics and assimilating, either implicitly or explicitly, the measurement data. The Sparse Identification of Nonlinear Dynamics (SINDy) method does so in two steps: a derivative estimation and smoothing step and a sparse regression step on a library of ODE terms. Previously, the derivative step in SINDy and its python package, pysindy, used finite difference, L1 total variation minimization, or local filters like Savitzky-Golay. We have incorporated Kalman smoothing, along with hyperparameter optimization, into the existing pysindy architecture, allowing for rapid adoption of the method. Kalman smoothing is a classical framework for assimilating the measurement data with known noise statistics. As a first SINDy step, it denoises the data by applying a prior belief that the system is an instance of integrated Brownian motion. We conduct numerical experiments on eight dynamical systems show Kalman smoothing to be the best SINDy differentiation/smoothing option in the presence of noise on four of those systems, and tied for three of them. It has particular advantage at preserving problem structure in simulation. The addition of hyperparameter optimization further makes it the most amenable method for generic data. In doing so, it is the first SINDy method for noisy data that requires only a single hyperparameter, and it gives viable results in half of the systems we test.
Keywords