# Linear autocorrelation structure

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

`acf_timescale`

`acf_timescale`

**Naming info**: The name `CO_f1ecac`

derives from an earlier version of *hctsa* (the current version of *hctsa* names this feature as `first1e_acf_tau`

). The catch22 short name is `acf_timescale`

.

### What it does

The `acf_timescale`

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_timescale`

captures 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.

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

`acf_timescale = 1`

.

For processes with a greater level of autocorrelation, the autocorrelation function decays more slowly, and we can obtain a larger value of this feature. Take this series simulated from a Chirikov map, which has

`acf_timescale = 6`

:

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

`acf_timescale = 17`

Financial series (and many non-stationary stochastic processes) are highly autocorrelated, like this series for which

`acf_timescale = 176`

`acf_first_min`

`acf_first_min`

**Naming info**: This feature has the short name `acf_first_min`

in *catch22* (long name: `CO_FirstMin_ac`

) and matches the feature called `firstMin_acf`

in *hctsa*.

Similar to the 1/*e* crossing feature above, `acf_first_min`

computes the first minimum of the autocorrelation function. It exhibits similar behavior.

`periodicity`

`periodicity`

**Naming info: **This feature has long name `PD_PeriodicityWang_th0.01`

.

This 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).

It is based on a method by Wang et al. (2007) (described in their paper: *"Structure-based Statistical Features and Multivariate Time Series Clustering" *Link*).*

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

And lower values to this fast (on the timescale of $\Delta t$) map (the Gingerbread map) (feature value = 4):

`low_freq_power`

`low_freq_power`

**Naming info**: This feature has long name (matching the *hctsa* name): `SP_Summaries_welch_rect_area_5_1`

This 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)`

].

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).

Here's an example of a slow-varying stocahstic process with a very high value for this feature, `low_freq_power = 0.987`

, reflecting 98.7% of power is this low-frequency band (relevant portion of the power spectrum shaded red below):

This Lozi map has a low value of `low_freq_power = 0.03`

(3% of power is in the red low-frequency band):

`centroid_freq`

`centroid_freq`

**Naming info**: This feature is the *hctsa* feature called `SP_Summaries_welch_rect_centroid`

.

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

It gives high values to time series that have their power in high frequencies, like this audio of an animal sound (centroid point shown with a red circle), `centroid_freq = 2.82`

:

And it gives low values to slower-varying time series like this snippet of an electrocardiogram recording from a patient with congestive heart failure. `centroid_freq = 0.15`

:

Last updated