NESToolbox – toolbox for the analysis of non-equidistantly sampled time series

Version 1.01, last mod. 18-Mar-2014
(for MATLAB^{®} and Octave)
Python port available!

General Notes

The NESToolbox is a collection of algorithms to perform similarity
estimation for irregularly sampled time series as they arise for example
in the geosciences. It is implemented as a toolbox for the widely used
software MATLAB and the freely available
open-source software OCTAVE.

Installation

To install the toolbox, call the downloaded script install.m from the
Matlab or Octave commandline. The toolbox will be installed in the user's
toolbox folder. In Matlab this is usually a folder called matlab in the
users home directory). In Octave, the standard folder in the home directory
is called octave. Check the script test_nest.m for usage examples and tests.

The installation of the Python portation is simple: just copy the
nest.py in your working directory.

Requirements

The toolbox was tested using Matlab R2011b and R2012b with and without the
optimization toolbox present. If the Optimization toolbox is not available,
the parameter estimation in the function tauest_ls.m cannot be performed
using nonlinear least squares. The function ar1sur.m therefore computes the
lag-1 autocorrelation using the Gaussian-kernel based estimator instead.
This is also the case in Octave 3.2.4, where the toolbox also requires the
additional, freely available, package octave-signal.

The Python port needs the following Python packages:

Scipy with Scipy.Weave

Numpy

Matplotlib (optional)

Usage

At the center of the toolbox are the functions for linear and nonlinear
similarity estimation for irregular time series, which are based on
Gaussian-kernel weight functions. Cross-correlation estimation, as it is
used in most standard time series analysis, cannot be performed for
irregular time series directly, as the vector index cannot be used as a
substitute for time differences. The conventional approach, interpolation
of the time series to regular grid followed by the use of standard
estimators, has bias side effects [1]. The function similarity.m makes
alternative approaches such as the Gaussian-kernel-based cross correlation
[1], the nonlinear Gaussian-kernel-based mutual information [2] or the
Event Synchronization function [3] available under a single, unified
syntax. Additional functions allow for the estimation of uncorrelated time
series surrogates to test the significance of similarity estimates as well
as nonlinear trends, power spectra and weighted scatterplots. The usage of
these functions is illustrated in the script test_nest.m, and a list of the
available functions can be found in Contents.m.

Sliding window Gaussian-kernel correlation of coupled AR1 timeseries
generated using the function simgram. The coupling delay was changed
from 5 to 0 after 5000 years.

Example

We take two time series from stochastic processes X and Y, {tx,x} and
{ty,y}, which are defined as follows:

% Sampling times
tx = (1:1001)'; ty = (1:1001)';
% Original signals
x = randn(1001,1);
x(2:end) = 0.5*x(1:end-1)+randn(1000,1);
y = randn(1001,1);
y(2:end) = 0.7*x(1:end-1)+randn(1000,1);

We have, however, in reality, observed only 50% of the points in y, yielding a time series {ty_{miss},y_{miss}}:

Rehfeld, K., Marwan, N., Heitzig, J., Kurths, J.:
Comparison of correlation analysis techniques for irregularly
sampled time series, Nonlin. Proc. Geophys., 18(3), 389-404, 2011.

Rehfeld, K., Marwan, N., Breitenbach, S., Kurths, J.:
Comparison of correlation analysis techniques for irregularly
sampled time series, Climate Dynamics, Late
Holocene Asian Monsoon Dynamics from small but complex paleoclimate
networks, 41(1), 3-19 2013.

Rehfeld, K., Kurths, J.:
Similarity measures for irregular and age uncertain time series,
Clim. Past., 10, 107-122, 2014.

Kira Rehfeld,
Bedartha Goswami
with ideas and contributions
from Norbert Marwan and ideas from Jobst Heitzig, Bedartha Goswami,
and Sebastian Breitenbach.