The gJADE method for blind source separation problem. It is designed for time series with stochastic volatility.
The method is a generalization of JADE, which is a method for blind source separation problem using only marginal information.
Usage
gJADE(X, ...)
## Default S3 method:
gJADE(X, k = 0:12, eps = 1e-06, maxiter = 100, method = "frjd", ...)
## S3 method for class 'ts'
gJADE(X, ...)
Arguments
X
Numeric matrix or multivariate time series object of class ts. Missing values are not allowed.
k
Vector of lags. Lag can be any non-negative integer, or a vector consisting of them. Default is 0:12. If k = 0, this method reduces to JADE.
eps
Convergence tolerance.
maxiter
Maximum number of iterations.
method
Method to use for the joint diagonalization, options are rjd and frjd. Default is frjd.
...
Other arguments passed on to chosen joint diagonalization method.
Details
Assume that Y has p columns and it is whitened, i.e. Y = S^(-1/2)*(X - (1/T)*sum_t(X_(ti))), where S is a sample covariance matrix of X. The matrix C^ij_k(Y) is of the form
for i, j = 1, …, p, where S_k(Y) is a lagged sample covariance matrix of Y, E^ij is a matrix where element (i,j) equals to 1 and all other elements are 0, I is an identity matrix of order p and B^ij_k(Y) is as in gFOBI.
The algorithm finds an orthogonal matrix U by maximizing
where k = 1, …, K.
The final unmixing matrix is then W = U S^(-1/2).
Value
A list with class 'bss' containing the following components:
W
The estimated unmixing matrix.
k
The vector of the used lags.
S
Estimated sources as time series object standardized to have mean 0 and unit variances.
Author(s)
Klaus Nordhausen
References
Cardoso, J.-F., Souloumiac, A., (1993). Blind beamforming for non-Gaussian signals, in: IEE-Proceedings-F, volume 140, pp. 362–370.
Matilainen, M., Nordhausen, K. and Oja, H. (2015), New independent component analysis tools for time series, Statistics & Probability Letters, 105,
80–87.
See Also
frjd, JADE, gFOBI
Examples
library(stochvol)
n <- 10000
A <- matrix(rnorm(9), 3, 3)
# simulate SV models
s1 <- svsim(n, mu = -10, phi = 0.8, sigma = 0.1)$y
s2 <- svsim(n, mu = -10, phi = 0.9, sigma = 0.2)$y
s3 <- svsim(n, mu = -10, phi = 0.95, sigma = 0.4)$y
X <- cbind(s1, s2, s3) %*% t(A)
res <- gJADE(X)
res
coef(res)
plot(res)
head(bss.components(res))
MD(res$W, A) # Minimum Distance Index, should be close to zero