Fitting polynomials for computing time derivatives

As soon as derivatives estimated from experimental data are involved, comes the question whether the contaminating noise is a problem to safely compute derivatives from such data. The answer depends on the way derivatives are estimated. Using Euler scheme or finite difference scheme leads to a negative answer, mainly because the noise contamination is very quickly amplified from one derivative to the other. Using Legendre polynomials as discussed in [1] provides slightly better results but, we observed a significant improvement in the use of derivative coordinates when locally fitted polynomials were analytically derived. Such a technique presents the great advantage to spread the noise contribution in a homogeneous way in all the coordinates. Moreover, successive derivatives share a coherence that other methods do not provide. For instance, in the case of Legendre polynomials, each derivative is estimated independently, a property not recommended for global modelling.

Algorithm for computing time derivatives

The algorithm

The central idea of our technique to compute derivatives is to
use local interpolating polynomials to compute the derivatives instead
of computing the derivatives directly from the data. To compute the
derivatives throughout the whole time series, a moving window method
is employed. The procedure can be summarized as follows:

Choose a window of lenght in the beginning of the time series, that is, ;

Find an interpolating polynomial of degree that passes through all the points of ;

Compute the derivatives at the center of the window by analytically derivating the polynomial at this point;

Move the window one sample forward in time and repeat all the steps until all the time series have been processed.

There is a low-pass filter in a frequency domain (function smooth).
The filtering parameter (vois) is expressed in terms of number of data points. It should be taken as small as possible.

This method was never published before this recent paper about
Frequently Asked Questions about global modelling [2].

An example

The space reconstructed spanned by the successive time derivatives computed from the anode current recorded in the copper electrodissolution experiments is here shown. It was produced with the Fortran code you can download from this page with the parameters left in the code. In fact the model we got from this experiments was obtained with derivative using Legendre polynomials [3].
This is only later that Loïs Le Sceller developed this procedure to compute derivatives [4]. Then, this was applied to a velocity component of the flow in a mixing tank [5], a Belousov-Zhabotinsky reaction
[6] and the Lynx population [7].