A collection of methods for singular spectrum analysis
A collection of methods for singular spectrum analysis
Singular Spectrum Analysis (SSA, in short) is a modern non-parametric method for the analysis of time series and digital images. This package provides a set of fast and reliable implementations of various routines to perform decomposition, reconstruction and forecasting. A comprehensive description of the methods and functions from Rssa can be found in Golyandina et al (2018). The companion web-site is https://ssa-with-r-book.github.io/.
package
Details
Typically the use of the package starts with the decomposition
of the time series using ssa. After this a suitable grouping of the elementary time series is required. This can be done heuristically, for example, via looking at the plots of the decomposition (plot). Alternatively, one can examine the so-called w-correlation matrix (wcor). Automatic grouping can be performed by means of grouping.auto. In addition, Oblique SSA methods can be used to improve the series separability (iossa, fossa).
Next step includes the reconstruction of the time-series using the selected grouping (reconstruct). One ends with frequency estimation (parestimate), series forecasting (forecast, rforecast, vforecast) and (if any) gap filling (gapfill, igapfill).
References
Golyandina N., Korobeynikov A., Zhigljavsky A. (2018): Singular Spectrum Analysis with R. Use R!. Springer, Berlin, Heidelberg.
Golyandina, N., Nekrutkin, V. and Zhigljavsky, A. (2001): Analysis of Time Series Structure: SSA and related techniques.
Chapman and Hall/CRC. ISBN 1584881941f
Golyandina, N. and Stepanov, D. (2005): SSA-based approaches to analysis and forecast of multidimensional time series. In Proceedings of the 5th St.Petersburg Workshop on Simulation, June 26-July 2, 2005, St. Petersburg State University, St. Petersburg, 293--298. https://www.gistatgroup.com/gus/mssa2.pdf
Golyandina, N. and Usevich, K. (2009): 2D-extensions of singular spectrum analysis: algorithm and elements of theory. In Matrix Methods: Theory, Algorithms, Applications. World Scientific Publishing, 450-474.
Korobeynikov, A. (2010): Computation- and space-efficient implementation of SSA. Statistics and Its Interface, Vol. 3, No. 3, Pp. 257-268
Golyandina, N., Korobeynikov, A. (2012, 2014): Basic Singular Spectrum Analysis and Forecasting with R. Computational Statistics and Data Analysis, Vol. 71, Pp. 934-954. https://arxiv.org/abs/1206.6910
Golyandina, N., Zhigljavsky, A. (2013): Singular Spectrum Analysis for time series. Springer Briefs in Statistics. Springer.
Shlemov, A. and Golyandina, N. (2014): Shaped extensions of singular spectrum analysis. 21st International Symposium on Mathematical Theory of Networks and Systems, July 7-11, 2014. Groningen, The Netherlands. p.1813-1820. https://arxiv.org/abs/1507.05286
Golyandina, N., Korobeynikov, A., Shlemov, A. and Usevich, K. (2015): Multivariate and 2D Extensions of Singular Spectrum Analysis with the Rssa Package. Journal of Statistical Software, Vol. 67, Issue 2. tools:::Rd_expr_doi("10.18637/jss.v067.i02")
s <- ssa(co2)# Perform the decomposition using the default window lengthsummary(s)# Show various information about the decompositionplot(s)# Show the plot of the eigenvaluesr <- reconstruct(s, groups = list(Trend = c(1,4), Seasonality = c(2:3,5:6)))# Reconstruct into 2 seriesplot(r, add.original =TRUE)# Plot the reconstruction# Simultaneous trend extraction using MSSAs <- ssa(EuStockMarkets, kind ="mssa")r <- reconstruct(s, groups = list(Trend = c(1,2)))plot(r, plot.method ="xyplot", add.residuals =FALSE, superpose =TRUE, auto.key = list(columns =2))# Trend forecastf <- rforecast(s, groups = list(Trend = c(1,2)), len =50, only.new =FALSE)library(lattice)xyplot(ts.union(Original = EuStockMarkets,"Recurrent Forecast"= f), superpose =TRUE, auto.key = list(columns =2))