pyhctsa.operations.correlation.glscf

pyhctsa.operations.correlation.glscf(y, alpha, beta, tau='tau')

Compute the generalized linear self-correlation function (GLSCF) of a time series.

Implements the GLSCF introduced by Queirós and Moyano (2007) to analyze correlations in the magnitude of time-series values at different scales. The GLSCF generalizes the traditional autocorrelation by applying distinct exponents to earlier and later time points.

The GLSCF is defined as

\[\mathrm{GLSCF}(\tau; \alpha, \beta) = \frac{ \mathbb{E}\left[ |x(t)|^{\alpha} |x(t+\tau)|^{\beta} \right] - \mathbb{E}\left[ |x(t)|^{\alpha} \right] \mathbb{E}\left[ |x(t+\tau)|^{\beta} \right] }{ \sigma\left(|x(t)|^{\alpha}\right) \sigma\left(|x(t+\tau)|^{\beta}\right) },\]

where \(\mathbb{E}[\cdot]\) denotes expectation and \(\sigma(\cdot)\) denotes the standard deviation.

References

Parameters:
y : array-like

Input time series.

alpha : float

Exponent applied to the earlier time point \(x(t)\). Must be non-zero.

beta : float

Exponent applied to the later time point \(x(t+\tau)\). Must be non-zero.

tau : int or {"tau"}, optional

Time delay (lag) between points.

  • If an int, computes GLSCF at that lag.

  • If "tau", uses the first zero-crossing of the

autocorrelation function.

Default is "tau".

Returns:

The GLSCF value at the specified lag \(\tau\).

Return type:

float