pyhctsa.operations.correlation.tc3

pyhctsa.operations.correlation.tc3(y, tau='ac1e')

Normalized nonlinear autocorrelation function, tc3.

Computes the tc3 function, a normalized nonlinear autocorrelation, at a given time-delay, tau. Statistic is for two time-delays, normalized in terms of a single time delay. Used as a test statistic for higher order correlational moments in surrogate data analysis.

Method as implemented in the TSTOOL package for nonlinear time-series analysis (C. Merkwirth, U. Parlitz, I. Wedekind, D. Engster and W. Lauterborn; GNU GPL), here re-implemented through hctsa’s CO_TC3.

Parameters:
y : array-like

Input time series.

tau : int or str, optional

Time lag. Can be:

  • int: Use the specified lag.

  • ’ac1e’: Use the floor of the first 1/e crossing of the autocorrelation function (the largest lag at which it is still at least 1/e).

  • ’ac’: Use the first zero-crossing of the autocorrelation function (kept for backward compatibility; for a series whose autocorrelation never crosses zero, or only at a very long lag, the lag is meaninglessly long, which is why ‘ac1e’ is the default).

  • ’mi’: Use the smaller of the first minimum of the (Kraskov) automutual information and the ‘ac1e’ delay (see get_tau()).

Default is ‘ac1e’. If the delay cannot be set from the series the output is NaN.

Returns:

A dictionary containing:

  • ’raw’: The raw tc3 expression

  • ’abs’: The magnitude of the raw expression

  • ’num’: The numerator

  • ’absnum’: The magnitude of the numerator

  • ’denom’: The denominator

Return type:

dict