msstc {ASSA} R Documentation

## Multivariate Singular Spectrum Trendlines for Compositional Data

### Description

Computes trendlines on the unit simplex for multivariate time series data using multivariate singular spectrum analysis.

### Usage

```msstc(y, l = 'automatic', m = 'automatic', vertical = TRUE)
```

### Arguments

 `y` mtsframe object containing data. `l` window length; the string `"automatic"` sets the default option `l = ceiling((y\$n + 1) / y\$D)` for `vertical` and `ceiling(y\$D * (y\$n + 1) / (y\$D + 1))` in the case of horizontal binding. `m` vector with the number of leading eigentriples on each dimension. An automatic criterion based on the cumulative periodogram of the residuals is provided by default by using the string `"automatic"`, see details. `vertical` logical; if `TRUE` the trajectory matrices are stacked vertically, otherwise the bind is horizontal.

### Details

The trendline produced using this routine is based on the methods proposed in de Carvalho and Martos (2018). A quick summary of the method is as follows. Multivariate singular spectrum analysis is used to decompose time series data (`y`) into principal components, and a cumulative periodogram-based criterion automatically learns about what elementary reconstructed components (`erc`) contribute to the signal; see de Carvalho and Martos (2018) for details. The trendline results from adding elementary reconstructed components selected by the cumulative periodogram, and after projecting into the unit simplex. The `plot` method depicts the trendlines, and the `print` method reports the trendlines along with the components selected by the cumulative periodogram-based criterion.

### Value

 `trendline` mtsframe object with trendline estimation from targeted grouping based on a cumulative periodogram criterion (or according to the number of components specified in vector `m`). `l` window length. `m` vector with number of components selected on each dimension. `vertical` flag indicating if the trajectory matrices where stacked vertically. `residuals` mtsframe object with the residuals from targeted grouping based on a cumulative periodogram criterion (or according to the number of components specified in vector `m`). `svd` the Singular Value Decomposition of the trajectory matrix. `erc` list with elementary reconstructed components. `observations` mtsframe object with the observations `y`.

### Author(s)

Gabriel Martos and Miguel de Carvalho

### References

de Carvalho, M. and Martos, G. (2020). Brexit: Tracking and disentangling the sentiment towards leaving the EU. International Journal of Forecasting, 36, 1128–1137.

See `msst` for a similar routine yielding trendlines for multivariate time series, but which does not project the pointwise estimates to the unit simplex.

### Examples

```## BREXIT DATA EXAMPLE
## (de Carvalho and Martos, 2018; Fig. 1)
data(brexit)
attach(brexit)
y <- mtsframe(date, brexit[, 1:3] / 100)
fit <- msstc(y)
# Estimations on the simplex
rowSums(fit\$trendlines\$Y)

# Forecast also in the simplex
rowSums(predict(fit, p = 5)\$forecast)

## Window length and components automatically selected
fit\$l; fit\$m

## Plot trendlines (de Carvalho and Martos, 2018; Fig. 1)
plot(fit, options = list(type = "trendlines"), xlab="time",
col=c("blue", "red", "black"), lwd = 2, lty = c(1, 2, 3))

## Plot cumulative periodograms (with 95% confidence bands)
par(mfrow = c(1, 3))
plot(fit, options = list(type = "cpgrams") )

## Scree-plot (with 95% confidence bands)
par(mfrow = c(1, 1))
plot(fit, options = list(type = "screeplot", ncomp.scree = 1:10),
type = "b", pch = 20, lwd = 2, main='Scree plot')

## Plot elementary reconstructed components
## (de Carvalho and Martos, 2020; Fig. 5)
plot(fit, options = list(type = "components", ncomp = 1:2))
```

[Package ASSA version 2.0 Index]