catch22: CAnonical Time-series CHaracteristics
catch22 GitHub
  • Welcome to catch22
    • Citing catch22
    • Publications using catch22
  • LANGUAGE-SPECIFIC DOCS
    • Python
    • MATLAB
    • R
    • Julia
    • C-compiled
  • INFORMATION ABOUT CATCH22
    • Feature Descriptions
      • Feature Overview Table
      • Distribution shape
      • Extreme event timing
      • Linear autocorrelation structure
      • Nonlinear autocorrelation
      • Symbolic
      • Incremental differences
      • Simple forecasting
      • Self-affine scaling
      • Other
    • API Reference
      • Python API
      • Julia API
      • R API
      • MATLAB API
    • Contributing to catch22
      • Contributor Code of Conduct
    • Related Packages
    • License
Powered by GitBook
On this page
  • 1. acf_timescale
  • What it does
  • What it measures
  • 2. acf_first_min
  • What it does
  • 3. periodicity
  • What it does
  • 4. low_freq_power
  • What it does
  • What it measures
  • 5. centroid_freq
  • What it does
  • What it measures
  • 6. ami_timescale
  • What it does
  1. INFORMATION ABOUT CATCH22
  2. Feature Descriptions

Linear autocorrelation structure

Features quantifying linear autocorrelation structure (from the autocorrelation function or power spectrum).

PreviousExtreme event timingNextNonlinear autocorrelation

Last updated 11 months ago

catch22 contains 6 features which each capture some aspect of the linear autocorrelation structure of a time series. Select one of the cards below to discover more information:


1. acf_timescale

What it does

The feature in catch22 computes the first 1/e crossing of the autocorrelation function of the time series. In hctsa, this can be computed as CO_FirstCrossing(x_z,'ac',1/exp(1),'discrete').

This feature measures the first time lag at which the autocorrelation function drops below 1/e (= 0.3679).

What it measures

acf_timescalecaptures the approximate scale of autocorrelation in a time series. This can be thought of as the number of steps into the future at which a value of the time series at the current point and that future point remain substantially (>1/e) correlated. For a continuous-time system, this statistic is high when the sampling rate is high relative to the timescale of the dynamics.

To give an intuition, below we plot some examples of the outputs of this feature for different scenarios:

For uncorrelated noise, like the shown below, the autocorrelation function drops to ~0 immediately, and we obtain the minimum value of this statistic:

Feature output: acf_timescale = 1.000

Feature output: acf_timescale = 6.000

Feature output: acf_timescale = 17.000

Feature output: acf_timescale = 176.000


2. acf_first_min

What it does

Similar to the 1/e crossing feature above, computes the first minimum of the autocorrelation function. It exhibits similar behaviour.


3. periodicity

What it does

The feature returns the first peak in the autocorrelation function satisfying a set of conditions (after detrending the time series using a three-knot cubic regression spline).

To give some intuition about the typical behaviour of the periodicity time series feature, consider these examples below:

Feature output:periodicity = 62.000

Feature output:periodicity = 4.000


4. low_freq_power

What it does

The feature computes the relative power in the lowest 20% of frequencies (relative to the sampling rate of the data) [the output area_5_1 from the hctsa code SP_Summaries(x_z,'welch','rect',[],false)].

What it measures

It gives high values to time series with lots of power in low frequencies, and low values to time series that have most of their power in higher frequencies.

The area under the power spectrum is estimated in linear space, where the power spectral density is estimated using Welch's method (with a rectangular window).

Feature output: low_freq_power = 0.987

Feature output: low_freq_power = 0.028



5. centroid_freq

What it does

Like the previous feature, is also extracted from the power spectrum (estimated using a Welch's method with a rectangular window). But this time, it returns the frequency, fff, at which the amount of power in frequencies low and higher than fff is the same: the "centroid".

What it measures

It gives high values to time series that have their power in high frequencies.

Here's an example of audio of an animal sound (centroid point shown with a red circle) that has its power in high frequencies. It gives a high value for this statistical measure:

Feature output: centroid_freq = 2.823

Feature output: centroid_freq = 0.147


6. ami_timescale

What it does

outputs a measure of the timescale of (potentially nonlinear) autocorrelation in the time series, as the minimum of the automutual information function. This is a common way of selecting the timescale, for a time-delay embedding.

Automutual information is estimated here using a Gaussian assumption on the data (and is thus a nonlinear transformation of the linear autocorrelation function). The hctsa version maxes out at 40, meaning that if there has been no local minimum after 40 lags, this feature outputs the value 40.

High values reflect highly autocorrelated, long-memory processes (on the timescale of the sampling period), and low values reflect low-memory or noise processes.

For processes with a greater level of autocorrelation, the autocorrelation function decays more slowly, and we can obtain a larger value of this feature. For example, consider this time series simulated from a which gives moderate outputs for this feature:

We obtain even larger values for even more slowly varying time series, like this , measured at a very high sampling rate:

Financial series (and many non-stationary stochastic processes) are highly autocorrelated, like for which we obtain very large values for acf_timescale:

It is based on a method by Wang et al. (2007) (described in their paper: "" ).

Broadly, it gives high values to slowly-varying time series like this slow (on the timescale of Δt\Delta tΔt) :

For this fast varying (on the timescale of Δt\Delta tΔt) map, the , the feature assigns low values

Here's an example of a with a very high value for this feature, reflecting 98.7% of power is this low-frequency band (relevant portion of the power spectrum shaded red below):

This has a low value for this statistic (3% of power is in the red low-frequency band):

Low values are assigned to slower-varying time series like this snippet of an from a patient with congestive heart failure:

Chirikov map
driven van der Pol oscillator
this series
Structure-based Statistical Features and Multivariate Time Series Clustering
Duffing-van der Pol oscillator
Gingerbread map
slow-varying stochastic process
Lozi map
electrocardiogram recording

Poisson-distributed series

ami_timescale
acf_timescale
acf_first_min
periodicity
low_freq_power
centroid_freq
Page cover image