Sparse identification of non-linear dynamics

From testwiki
Jump to navigation Jump to search

Template:Short description Template:Orphan

Sparse identification of nonlinear dynamics (SINDy) is a data-driven algorithm for obtaining dynamical systems from data.[1] Given a series of snapshots of a dynamical system and its corresponding time derivatives, SINDy performs a sparsity-promoting regression (such as LASSO and spare Bayesian inference[2]) on a library of nonlinear candidate functions of the snapshots against the derivatives to find the governing equations. This procedure relies on the assumption that most physical systems only have a few dominant terms which dictate the dynamics, given an appropriately selected coordinate system and quality training data.[3] It has been applied to identify the dynamics of fluids, based on proper orthogonal decomposition, as well as other complex dynamical systems, such as biological networks.[4]

Mathematical Overview

First, consider a dynamical system of the form

xΛ™=ddtx(t)=f(x(t)),

where x(t)ℝn is a state vector (snapshot) of the system at time t and the function f(x(t)) defines the equations of motion and constraints of the system. The time derivative may be either prescribed or numerically approximated from the snapshots.

With x and xΛ™ sampled at m equidistant points in time (t1,t2,,tm), these can be arranged into matrices of the form

𝐗=[𝐱𝐓(𝐭𝟏)𝐱𝐓(𝐭𝟐)𝐱𝐓(𝐭𝐦)]=[𝐱𝟏(𝐭𝟏)𝐱𝟐(𝐭𝟏)𝐱𝐧(𝐭𝟏)𝐱𝟏(𝐭𝟐)𝐱𝟐(𝐭𝟐)𝐱𝐧(𝐭𝟐)𝐱𝟏(𝐭𝐦)𝐱𝟐(𝐭𝐦)𝐱𝐧(𝐭𝐦)],

and similarly for XΛ™.

Next, a library Θ(X) of nonlinear candidate functions of the columns of X is constructed, which may be constant, polynomial, or more exotic functions (like trigonometric and rational terms, and so on):

   Θ(𝐗)=[||||||πŸπ—π—πŸπ—πŸ‘sin(𝐗)cos(𝐗)||||||]

The number of possible model structures from this library is combinatorically high. f(x(t)) is then substituted by Θ(X) and a vector of coefficients Ξ=[ξ𝟏ξ𝟐ξ𝐧] determining the active terms in f(x(t)):

𝐗˙=Θ(𝐗)Ξ

Because only a few terms are expected to be active at each point in time, an assumption is made that f(x(t)) admits a sparse representation in Θ(X). This then becomes an optimization problem in finding a sparse Ξ which optimally embeds XΛ™. In other words, a parsimonious model is obtained by performing least squares regression on the system Template:EquationRef with sparsity-promoting (L1) regularization

ξ𝐀=argminξ'𝐀||𝐗˙kΘ(𝐗)ξ'𝐀||𝟐+λ||ξ'𝐀||𝟏,

where λ is a regularization parameter. Finally, the sparse set of ξ𝐀 can be used to reconstruct the dynamical system:

xΛ™k=Θ(𝐱)ξ𝐀

References