ASSA | R Documentation |
ASSA (Analytic Stationary Subspace Analysis) method for identifying non-stationary components of mean and variance.
ASSA(X, ...) ## Default S3 method: ASSA(X, K, n.cuts = NULL, ...) ## S3 method for class 'ts' ASSA(X, ...)
X |
A numeric matrix or a multivariate time series object of class |
K |
Number of intervals the time series is split into. |
n.cuts |
A K+1 vector of values that correspond to the breaks which are used for splitting the data. Default is intervals of equal length. |
... |
Further arguments to be passed to or from methods. |
Assume that a p-variate Y with T observations is whitened, i.e. Y = S^(-1/2)*(X_t - (1/T)*sum_t(X_t)), for t = 1, …, T, where S is the sample covariance matrix of X.
The values of Y are then split into K disjoint intervals T_i. Algorithm first calculates matrix
M = (1/T)*sum[m_ti m_Ti' + (1/2)*S_Ti S_Ti'] - I/2,
where i = 1, …, K, K is the number of breakpoints, I is an identity matrix, and m_Ti is the average of values of Y and S_Ti is the sample variance of values of Y which belong to a disjoint interval T_i.
The algorithm finds an orthogonal matrix U via eigendecomposition
M = UDU^T.
The final unmixing matrix is then W = U S^(-1/2). The first k rows of U are the eigenvectors corresponding to the non-zero eigenvalues and the rest correspond to the zero eigenvalues. In the same way, the first k rows of W project the observed time series to the subspace of non-stationary components, and the last p-k rows to the subspace of stationary components.
A list of class 'ssabss', inheriting from class 'bss', containing the following components:
W |
The estimated unmixing matrix. |
S |
The estimated sources as time series object standardized to have mean 0 and unit variances. |
M |
Used separation matrix. |
K |
Number of intervals the time series is split into. |
D |
Eigenvalues of M. |
MU |
The mean vector of |
n.cut |
Used K+1 vector of values that correspond to the breaks which are used for splitting the data. |
method |
Name of the method ("ASSA"), to be used in e.g. screeplot. |
Markus Matilainen, Klaus Nordhausen
Hara S., Kawahara Y., Washio T. and von Bünau P. (2010). Stationary Subspace Analysis as a Generalized Eigenvalue Problem, Neural Information Processing. Theory and Algorithms, Part I, pp. 422-429.
JADE
n <- 5000 A <- rorth(4) z1 <- arima.sim(n, model = list(ar = 0.7)) + rep(c(-1.52, 1.38), c(floor(n*0.5), n - floor(n*0.5))) z2 <- rtvvar(n, alpha = 0.1, beta = 1) z3 <- arima.sim(n, model = list(ma = c(0.72, 0.24))) z4 <- arima.sim(n, model = list(ar = c(0.34, 0.27, 0.18))) Z <- cbind(z1, z2, z3, z4) X <- as.ts(tcrossprod(Z, A)) # An mts object res <- ASSA(X, K = 6) screeplot(res, type = "lines") # Two non-zero eigenvalues # Plotting the components as an mts object plot(res) # The first two are nonstationary
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.