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

Estimates the non-stationary sources of a tensor-valued time series using separation information contained in several time intervals.

1 |

`x` |
Numeric array of an order at least two. It is assumed that the last dimension corresponds to the sampling units. |

`K` |
The number of equisized intervals into which the time range is divided. If the parameter |

`n.cuts` |
Either a interval cutoffs (the cutoffs are used to define the two intervals that are open below and closed above, e.g. |

`eps` |
Convergence tolerance for |

`maxiter` |
Maximum number of iterations for |

`...` |
Further arguments to be passed to or from methods. |

Assume that the observed tensor-valued time series comes from a tensorial BSS model where the sources have constant means over time but the component variances change in time. Then TNSS-JD first standardizes the series from all modes and then estimates the non-stationary sources by dividing the time scale into `K`

intervals and jointly diagonalizing the covariance matrices of the `K`

intervals within each mode.

A list with class 'tbss', inheriting from class 'bss', containing the following components:

`S` |
Array of the same size as x containing the independent components. |

`W` |
List containing all the unmixing matrices. |

`K` |
The number of intervals. |

`n.cuts` |
The interval cutoffs. |

`Xmu` |
The data location. |

`datatype` |
Character string with value "ts". Relevant for |

Joni Virta

Virta J., Nordhausen K. (2017): Blind source separation for nonstationary tensor-valued time series, 2017 IEEE 27th International Workshop on Machine Learning for Signal Processing (MLSP), doi: 10.1109/MLSP.2017.8168122

`NSS.SD`

, `NSS.JD`

, `NSS.TD.JD`

, `tNSS.SD`

, `tNSS.TD.JD`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ```
# Create innovation series with block-wise changing variances
n1 <- 200
n2 <- 500
n3 <- 300
n <- n1 + n2 + n3
innov1 <- c(rnorm(n1, 0, 1), rnorm(n2, 0, 3), rnorm(n3, 0, 5))
innov2 <- c(rnorm(n1, 0, 1), rnorm(n2, 0, 5), rnorm(n3, 0, 3))
innov3 <- c(rnorm(n1, 0, 5), rnorm(n2, 0, 3), rnorm(n3, 0, 1))
innov4 <- c(rnorm(n1, 0, 5), rnorm(n2, 0, 1), rnorm(n3, 0, 3))
# Generate the observations
vecx <- cbind(as.vector(arima.sim(n = n, list(ar = 0.8), innov = innov1)),
as.vector(arima.sim(n = n, list(ar = c(0.5, 0.1)), innov = innov2)),
as.vector(arima.sim(n = n, list(ma = -0.7), innov = innov3)),
as.vector(arima.sim(n = n, list(ar = 0.5, ma = -0.5), innov = innov4)))
# Vector to tensor
tenx <- t(vecx)
dim(tenx) <- c(2, 2, n)
# Run TNSS-JD
res <- tNSS.JD(tenx, K = 6)
res$W
res <- tNSS.JD(tenx, K = 12)
res$W
``` |

```
Loading required package: JADE
[[1]]
[,1] [,2]
[1,] 0.20178466 0.06602775
[2,] -0.05084734 0.25384083
[[2]]
[,1] [,2]
[1,] 0.194640208 -0.002917588
[2,] 0.001661475 0.298292825
[[1]]
[,1] [,2]
[1,] 0.19993871 0.07462224
[2,] -0.05768027 0.25144851
[[2]]
[,1] [,2]
[1,] 0.19464319 -0.002309639
[2,] 0.00126478 0.298298152
```

tensorBSS documentation built on March 18, 2018, 2:12 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.