Sparse identification of non-linear dynamics
Sparse identification of nonlinear dynamics (SINDy) is a data-driven algorithm for obtaining dynamical systems from data. Given a series of snapshots of a dynamical system and its corresponding time derivatives, SINDy performs a sparsity-promoting regression (such as LASSO) 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. 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. Mathematical Overview 
First, consider a dynamical system of the form

where  is a state vector (snapshot) of the system at time  and the function  defines the equations of motion and constraints of the system. The time derivative may be either prescribed or numerically approximated from the snapshots. With  and  sampled at  equidistant points in time (), these can be arranged into matrices of the form

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

The number of possible model structures from this library is combinatorically high. is then substituted by  and a vector of coefficients  determining the active terms in :

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

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

References 

Algorithms