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.

1 2 3 4 5 6 |

`X` |
Numeric matrix or multivariate time series object of class |

`k` |
Vector of lags. Lag can be any non-negative integer, or a vector consisting of them. Default is |

`eps` |
Convergence tolerance. |

`maxiter` |
Maximum number of iterations. |

`method` |
Method to use for the joint diagonalization, options are |

`...` |
Other arguments passed on to chosen joint diagonalization method. |

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

*C^ij_k(Y) = B^ij_k(Y) - S_k(Y) (E^ij + E^ji) S_k(Y)' - trace(E^ij)*I,*

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

*sum_i(sum_j (sum_k (||diag(U C^ij_k(Y) U')||^2))),*

where *k = 1, …, K*.
The final unmixing matrix is then *W = U S^(-1/2)*.

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

Klaus Nordhausen

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.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ```
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
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.