Description Usage Arguments Details Value Author(s) References See Also Examples

The vSOBI method for the blind source separation problem. It is designed for time series with stochastic volatility. The method is a variant of SOBI, which is a method designed to separate ARMA sources, and an alternative to FixNA and FixNA2 methods.

1 2 3 4 5 6 |

`X` |
A numeric matrix or a multivariate time series object of class |

`k` |
A vector of lags. It can be any non-zero positive integer, or a vector consisting of them. Default is |

`eps` |
Convergence tolerance. |

`maxiter` |
The maximum number of iterations. |

`G` |
Function |

`...` |
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 algorithm finds an orthogonal matrix *U* by maximizing

*D(U) = sum_k(D_k(U))*

* = sum_k(sum_i(((1/(T - k))*sum_t[G(u_i' Y_t)*G(u_i' Y_(t + k))] - (1/(T - k)^2*sum_t[G(u_i' Y_t)]*sum_t[G(u_i' Y_(t + k))])^2))),*

where *i = 1, …, p*, *k = 1, …, K* and *t = 1, …, T*. For function *G(x)* the choices are *x^2* and log(cosh(*x*)).

The algorithm works iteratively starting with `diag(p)`

as an initial value for an orthogonal matrix *U = (u_1, u_2, …, u_p)'*.

Matrix *T_ik* is a partial derivative of *D_k(U)* with respect to *u_i*.
Then *T_k = (T_1k, …, T_pk)'*, where *p* is the number of columns in *Y*, and *T = sum(T_k)*.
The update for the orthogonal matrix *U.new = (TT')^(-1/2)*T* is calculated at each iteration step. The algorithm stops when

*||U.new - U.old||*

is less than `eps`

.
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 ` |
The estimated sources as time series object standardized to have mean 0 and unit variances. |

Markus Matilainen

Belouchrani, A., Abed-Meriam, K., Cardoso, J.F. and Moulines, R. (1997), *A blind Source Separation Technique Using Second-Order Statistics*, IEEE Transactions on Signal Processing, 434–444.

Matilainen, M., Miettinen, J., Nordhausen, K., Oja, H. and Taskinen, S. (2017), *On Independent Component Analysis with Stochastic Volatility Models*, Austrian Journal of Statistics, 46(3–4), 57–66.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ```
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
# create a daily time series
X <- ts(cbind(s1, s2, s3) %*% t(A), end = c(2015, 338), frequency = 365.25)
res <- vSOBI(X)
res
coef(res)
plot(res)
head(bss.components(res))
MD(res$W, A) # Minimum Distance Index, should be close to zero
``` |

tsBSS documentation built on Aug. 18, 2017, 5:04 p.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.