misst {ASSA}R Documentation

Multivariate Interval Singular Spectrum Trendlines

Description

Computes a trendline for multivariate interval data using singular spectrum analysis.

Usage

misst(y, l= 'automatic' , m = 'automatic', vertical = TRUE)

Arguments

y

object of class mitsframe (multivariate interval time series data).

l

window length; the string "automatic" sets the default option
l = ceiling(y$n + 1) / (y$D+1) for vertical and ceiling(D * (y$n + 1) / (y$D + 1)).

m

number of leading eigentriples. An automatic criterion based on the cumulative periodogram of the residuals is provided by default by using the string "automatic".

vertical

logical; if TRUE the trajectory matrices are stacked vertically, otherwise the bind is horizontal.

Details

Multivariate singular spectrum analysis is used to decompose interval 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 of the residuals. 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

mitsframe object with interval 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

mitsframe object with the interval 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

mitsframe object with the raw data y.

References

de Carvalho, M. and Martos, G. (2020). Modeling Interval Trendlines: Symbolic Singular Spectrum Analysis for Interval Time Series. Submitted (available on arXiv).

See Also

See msst for a similar routine yielding trendlines for standard multivariate time series of data.

Examples

muX.a = function(t){ 8 + t + sin(pi*t) }    ;    muX.b = function(t){ muX.a(t) + 2 } 
muY.a = function(t){sqrt(t) + cos(pi*t/2) }    ;  muY.b = function(t){ 2*muY.a(t) + 2 }
N = 100; t=seq(0.1,2*pi,length = N);
set.seed(1)
e.x = rnorm(100); e.y = rnorm(100);
a.X = muX.a(t) + e.x; b.X = a.X + 2
a.Y = muY.a(t) + e.y        ; b.Y = 2*a.Y + 2

A <- cbind(a.X, a.Y); B <- cbind(b.X, b.Y)
y <- mitsframe(dates=t, A=A, B = B)

fit <- misst(y)
fit$l; 
fit$m; 
fit$vertical

# Estimated trendlines:
head(fit$trendlines$A,5) 
head(fit$trendlines$B,5) 

## Estimated interval trendlines
plot(fit)

## Scree-plot
plot(fit, options = list(type = "screeplots"))

## Per
plot(fit, options = list(type = "cpgrams"))

## ERC
plot(fit, options=list(type='components',ncomp=1:3))



##################################
### Forecasting with misst     ###
##################################
pred = predict(fit, p = 5)
pred$forecasts # Forecast organized in an array.
# End

[Package ASSA version 2.0 Index]