Description Details References See Also Examples

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

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`

).

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.
https://www.jstatsoft.org/article/view/v067i02

`ssa-input`

,
`ssa`

, `decompose`

,
`reconstruct`

,
`wcor`

, `plot`

,
`parestimate`

,
`rforecast`

,
`vforecast`

,
`forecast`

,
`iossa`

,
`fossa`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
s <- ssa(co2) # Perform the decomposition using the default window length
summary(s) # Show various information about the decomposition
plot(s) # Show the plot of the eigenvalues
r <- reconstruct(s, groups = list(Trend = c(1, 4),
Seasonality = c(2:3, 5:6))) # Reconstruct into 2 series
plot(r, add.original = TRUE) # Plot the reconstruction
# Simultaneous trend extraction using MSSA
s <- 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 forecast
f <- 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))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.