Discovering governing equations from data: Sparse identification of nonlinear dynamical systems

September 11, 2015


The ability to discover physical laws and governing equations from data is one of humankind’s greatest intellectual achievements. A quantitative understanding of dynamic constraints and balances in nature has facilitated rapid development of knowledge and enabled advanced technological achievements, including aircraft, combustion engines, satellites, and electrical power. In this work, we combine sparsity-promoting techniques and machine learning with nonlinear dynamical systems to discover governing physical equations from measurement data. The only assumption about the structure of the model is that there are only a few important terms that govern the dynamics, so that the equations are sparse in the space of possible functions; this assumption holds for many physical systems. In particular, we use sparse regression to determine the fewest terms in the dynamic governing equations required to accurately represent the data. The resulting models are parsimonious, balancing model complexity with descriptive ability while avoiding overfitting. We demonstrate the algorithm on a wide range of problems, from simple canonical systems, including linear and nonlinear oscillators and the chaotic Lorenz system, to the fluid vortex shedding behind an obstacle. The fluid example illustrates the ability of this method to discover the underlying dynamics of a system that took experts in the community nearly 30 years to resolve. We also show that this method generalizes to parameterized, time-varying, or externally forced systems.

Figure 1

Schematic of our algorithm for sparse identification of nonlinear dynamics, demonstrated on the Lorenz equations. Data is collected from measurements of the system, including a time history of the states X and derivatives Ẋ . Next, a library of nonlinear functions of the states, Θ(X), is constructed. This nonlinear feature library is used to find the fewest terms needed to satisfy Ẋ = Θ(X)Ξ. The few entries in the vectors of Ξ, solved for by sparse regression, denote the relevant terms in the right-hand side of the dynamics. Parameter values are σ = 10, β = 8/3, ρ = 28, (x0, y0, z0)T = (−8, 7, 27)T . The trajectory on the Lorenz attractor is colored by the adaptive time-step required, with red requiring a smaller tilmestep.