top of page

Reconstruction of dynamical systems

 

   In terms of dynamical systems it's possible to describe a variety of phenomena that occur in nature and human society. In many cases the differential equations describing the dynamical system can be derived from the fundamental laws of nature discovered experimentally and confirmed by subsequent numerous observations and experiments (for example - Newton's law of universal gravitation, which allows us to write down the equations of motion for planets of the Solar system and artificial satellites in the gravitational field of the planets and Sun). Another example of such approach - a derivation of Lorenz model equations based on the system of hydrodynamic equations - the Navier-Stokes equations, the Heat equation as well as the Continuity equation (here you can find the detailed derivation). 

 

   However, in the study of real-life systems it often happens that the laws governing the evolution of the system are unknown. While observing such system we can only measure one or more parameters, characterizing it (e.g., pressure or temperature), we can also construct the dependence of these parameters on time (this dependence is called a time series). It is natural for such systems to set the task of reconstruction, i.e. composing a system of differential equations, whose solution is a given time series (or the solution is close to it in some sense) - if that's possible, of course.

  In the simplest case, the system can be reconstructed from the set of time series (otherwise called a vector time series) wherein each series is a dependence of one of the dynamic variables on time (i.e. the number of rows coincides with the number of variables and is equal to the dimension of the system to be reconstructed). The system can be found in the form:

where y1..yn -  the dynamic variables, and c1 ..cm  - parameters. Values ​​of y1'..yn'  could be determined using numerical differentiation of appropriate time series, and as fj(y1..yn,c1..cm) you can take any of the functions that are suitable for the approximation, such as polynomials. The parameters c1 ..cm should be chosen such that the solution of the ODE system was as close as possible to a given set of time series.

  In more complex case, the reconstruction is performed using only one time series (for this case it is called a scalar time series). In this case, you must perform the reconstruction of the dynamic space for the first, i.e. determine the number of dynamic variables (the dimension of the space), which adequately describes the system. The dimension may be known in advance or may be determined by graphical analysis of time series data. After determining the dimension the system being reconstructed can be sought in the form:

  Subsequent derivatives are determined using a serial numerical differentiation of the original time series, and the function                   f(y1..yn,c1..cm)  parameters c1..cm  are chosen so that the y1(xi)  values ​​were closest to the values ​​of the original time series.

System reconstruction using DEREK

  DEREK is able to reconstruct the system for both of a vector and a scalar time series. To test the different methods of reconstruction it's reasonable to use the model dynamical systems. DEREK allows obtaining their solution in the form of time series, save it as a plain text file, and then applying a variety of different reconstruction methods and parameters to them. Afterwards the solution of reconstructed system can be compared with the original time series to determine their proximity.

Reconstruction based on vector time series with the Lorenz system as an example.

Let us consider the reconstruction for Lorenz system:

  For the reconstruction on the vector time series a description of the series should be given (read from a file). It is easily obtained by solving the equations of the Lorenz system using DEREK:

  During the reconstruction on the vector time series using DEREK the expressions for fj(y1..yn,c1..cm) can be set in the most general form, if only they depend linearly on the parameters (DEREK itself checks linearity). As an approximation expression for fj(y1..yn,c1..cm)  the polynomials of multiple variables y1..yn can be used. They are linearly dependent on the c1..cm parameters, for example: 

or any linear combination of suitable basis functions. Furthermore, expressions for fmay be selected from a list of predetermined standard expressions. For a vector time series obtained by solving the Lorenz system, we choose the approximating functions in the form of second-order polynomials in the variables y1..y:

Let us perform the reconstruction and compare the result with the original curve:

Reconstruction based on scalar time series for Rössler system

Let us now try to reconstruct the system by a single scalar time series, which is the second component of the Rössler system solution y2:

  For a scalar time series DEREK allows for the first to evaluate the dimension of the reconstructed space. Determination of dimension based on the application of the Takens theorem, that states (simplified) that if the dynamical system has an attracting set (attractor), its image can be obtained graphically by plot the dependence of the time series value Y(x) at arbitrary time x on the same value taken with some delay Y(x-τ) . If the delay is too small, the image of the attractor is stretched and looks like a line segment, if too large, the image will not have an evident structure. DEREK allows you to choose the delay value by analyzing the dependence of Y(x)  on Y(x)  for different τ graphically. The illustration shows the reconstructed attractor of the Rössler system for different τ  values ​​(expressed as a number of steps of  the time series argument):

  Correctly chosen delay value allows further evaluate the dimension of the reconstructed system by using the method of Grassberger and Procaccia. Grassberger-Procaccia method involves the analysis of correlation integral plots:

where

(║.║ - the norm of the vector, τ  -  the delay,  m  - the dimension of the space).

  Correlation integral represents that part of pairs of the reconstructed space points belonging to the original time series for which the distance between points in the pair does not exceed ε. It's necessary to plot the dependence of lg N(ε)  on lg(ε)  for different subsequent values ​​of dimension and choose as the desired dimension that from which the graph is experiencing SATURATION, i.e. the tilt angle of its linear part is no longer changing significantly. In the case of time series representing the second component of the Rössler system solutions, it is seen that 3 can be taken as the value of dimension.

  After determining the dimension DEREK allows you to specify the maximum general form expression for the function                        f(y1..yn,c1..cm). As an approximation expression for  f(y1..yn,c1..cm) the polynomials can be used or generalized polynomials which are linearly dependent on c1..cparameters. In addition, the corresponding function can be set in the form of a rational expression, the numerator and the denominator of which are linearly dependent on the parameters. 

   For the time series obtained by solving Rössler system we can choose an approximation by the expression in the form of a second order polynomial in the variables  y1..yn :

  DEREK now allows you to choose the optimal parameters and save the description of the reconstituted system in the usual way. After that, you can graphically analyze the degree of solution y1(x) proximity to the original time series.

Reconstruction of arbitrary dynamical systems 

 

    In order to avoid the impression that DEREK copes with well-known model systems only, we give an example of reconstruction of an arbitrary dynamical system found in the Internet (of course, randomly). In the paper "Construction of Dynamical Systems from Output Regular and Chaotic Signals" by T.S.Krasnopolskaya and E.D.Pechuk is considered a dynamic system of flat physical pendulum with limited excitation, which is described by the following system of equations:

  Here is the result of reconstruction on the THIRD component y3 of this system solution (as an approximation expression for the right side the third-order polynomial is choosen):

  Thus, DEREK can quite successfully reconstruct absolutely different systems, without requiring any special knowledge from the user. No programming, minimal number of the input parameters, the reconstruction in most general form and extremely visual! Of course, there are some drawbacks in DEREK, it is primarily a limited number of points in time series to be treated (not more than 4000) and a small number of parameters (constants) that are the subject of optimization in reconstruction (not more than 30).

  Some more reconstruction examples can be found on "More reconstruction" page.

Papers containing information on the reconstruction of dynamical systems

Here is another example of time series for reconstruction, you can even listen to it!

Riff from Aqualung - Jethro Tull
00:0000:00
bottom of page