Singular Spectrum Analysis - Beginners guide

Step-by-step tutorial of singular spectrum analysis (SSA)
3.7K Downloads
Updated 2 Feb 2018

View License

This Matlab tutorial demonstrates step by step the single-channel version of a singular spectrum analysis (SSA), a nonparametric spectral estimation method for time series. The guide explains the following steps of an SSA analysis
- creation of the trajectory matrix
- calculation of the covariance matrix
- eigendecomposition of the covariance matrix
- resulting eigenvalues, eigenvectors
- calculation of the principal components
- reconstruction of the time series.
The tutorial also explains the difference between the Toeplitz approach of Vautard and Ghil (1989) and the trajectory approach of Broomhead and King (1986). Note that only the latter approach ensures a positive semi-definite covariance matrix with non-negative eigenvalues. For a review of SSA see Ghil et al. (2002) and Groth and Ghil (2015).
References

Broomhead, D. S., and G. P. King, 1986: Extracting qualitative dynamics from experimental data, Physica D, Elsevier Science Publishers B. V., 20, 217-236.

Ghil, M., M. R. Allen, M. D. Dettinger, K. Ide, D. Kondrashov, M. E. Mann, A. W. Robertson, A. Saunders, Y. Tian, F. Varadi, and P. Yiou, 2002: Advanced spectral methods for climatic time series, Reviews of Geophysics, 40, 1-41

Groth, A., and M. Ghil, 2015: Monte Carlo Singular Spectrum Analysis (SSA) revisited: Detecting oscillator clusters in multivariate datasets, Journal of Climate, 28, 7873-7893.

Vautard, R., and M. Ghil, 1989: Singular spectrum analysis in nonlinear dynamics, with applications to paleoclimatic time series, Physica D, 35, 395-424.

Cite As

Andreas Groth (2025). Singular Spectrum Analysis - Beginners guide (https://www.mathworks.com/matlabcentral/fileexchange/58967-singular-spectrum-analysis-beginners-guide), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
7.0.0.0

Documentation added