R: NSS.TD.JD Method for Nonstationary Blind Source Separation

NSS.TD.JD {JADE} | R Documentation

## NSS.TD.JD Method for Nonstationary Blind Source Separation

### Description

The NSS.TD.JD method for nonstationary blind source separation. The method first whitens the complete data and then divides it into K time intervals. It is then assumed that within each interval the time series is approximately second order stationary and within each interval L autocovariance are computed. The underlying sources are then found by jointly diagonalizing the K*L autocovariance matrices using `frjd`.

### Usage

    NSS.TD.JD(X, ...)

    ## Default S3 method:
    NSS.TD.JD(X, K=12, Tau=0:11, n.cuts=NULL, eps = 1e-06, maxiter = 100, ...)
    ## S3 method for class 'ts'
    NSS.TD.JD(X, ...)

### Arguments

`X` | a numeric matrix or a multivariate time series object of class `ts`. Missing values are not allowed.
`K` | number of intervals to be used.
`Tau` | Lags for the autovariance matrices to be computed within each interval.
`n.cuts` | if NULL, then the time series is divided into K equally long intervals. To specify intervals n.cuts should be given in the form c(1,n.cut.1,...,n.cut.k, nrow(X)) to specify where to split the time series.
`eps` | maximum number of iterations for `frjd`.
`maxiter` | convergence tolerance for `frjd`.
`...` | further arguments to be passed to or from methods.

### Details

The model assumes that the mean of the p-variate time series is constant but the variances change over time.

### Value

A list with class 'bss' containing the following components:

`W` | estimated unmixing matrix.
`k` | the lags used for the autocovariance matrix used in each interval.
`n.cut` | specifying the intervals where data is split
`K` | the number of intervals used
`S` | estimated sources as time series objected standardized to have mean 0 and that the sources 1.

### Author(s)

Klaus Nordhausen

### References

Choi S. and Cichocki A. (2000), Blind separation of nonstationary sources in noisy mixtures, Electronics Letters, 36, 848–849.

Choi S. and Cichocki A. (2000), Blind separation of nonstationary and temporally correlated sources from noisy mixtures, Proceedings of the 2000 IEEE Signal Processing Society Workshop Neural Networks for Signal Processing X, 1, 405–414.

Nordhausen K. (2014), On robustifying some second order blind source separation methods for nonstationary time series, Statistical Papers, 55, 141–156.

Miettinen, J., Nordhausen, K. and Taskinen, S. (2017), Blind Source Separation Based on Joint Diagonalization in R: The Packages JADE and BSSasymp, Journal of Statistical Software, 76, 1–31, <doi:10.18637/jss.v076.i02>.

### See Also

`ts, NSS.JD, NSS.JD, SOBI`

### Examples

    n <- 1000
    s1 <- rnorm(n)
    s2 <- 2*sin(pi/200*1:n)* rnorm(n)
    s3 <- c(rnorm(n/2), rnorm(100,0,2), rnorm(n/2-100,0,1.5))
    S <- cbind(s1,s2,s3)
    plot.ts(S)
    A<-matrix(rnorm(9),3,3)
    X<- S%*%t(A)

    NSS3 <- NSS.TD.JD(X)
    NSS3
    MD(coef(NSS3),A)
    plot(NSS3)
    cor(NSS3$S,S)

    NSS3b <- NSS.TD.JD(X, Tau=c(0,3,7,12), K=6)
    MD(coef(NSS3b),A)

    NSS3c <- NSS.TD.JD(X, n.cuts=c(1,300,500,600,1000))
    MD(coef(NSS3c),A)

[Package JADE version 2.0-0 Index]