pyhctsa.operations.nonlinearity.ssa

pyhctsa.operations.nonlinearity.ssa(y, L=None)

Singular Spectrum Analysis of a time series.

Constructs the trajectory (Hankel) matrix of the time series using a window length L (i.e., a time-delay embedding with delay tau = 1), and performs an uncentered singular value decomposition of the result.

Unlike embed_pca (which centers the embedded data before decomposing it, and allows a general embedding delay), this implements classic “Basic SSA”: a fixed delay of 1, no centering (so that a genuine trend is not removed before decomposition), and diagonal averaging (“Hankelization”) of the leading elementary matrices back into component time series. Statistics are computed on the singular-value pairing structure, and on the reconstructed leading trend/oscillatory components themselves, rather than on the raw eigenvalue spectrum (which embed_pca already covers).

References

Parameters:
y : array-like

The input time series.

L : int, optional

The window length (default: floor(N/4)). Must satisfy 4 <= L <= floor(N/2).

Returns:

Statistics on the singular-value pairing/decay structure (gap1-gap5, sepIdx), and on the reconstructed leading block of components as a whole (trend strength trend_r2/trend_rho, dominant period of its most tightly-paired internal mode pairperiod, and w-correlation-based separability from the residual wcorr_leadresid). Individual eigentriples within a near-degenerate pair are not uniquely determined by the SVD, so all outputs are computed from basis-independent quantities: singular-value gaps, or sums of whole blocks of components rather than single components.

Return type:

dict