k_tJADE: k-tJADE for Tensor-Valued Observations

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

View source: R/k_tJADE.R

Description

Computes the faster “k”-version of tensorial JADE in an independent component model.

Usage

1
k_tJADE(x, k = NULL, maxiter = 100, eps = 1e-06)

Arguments

x

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

k

A vector with one less element than dimensions in x. The elements of k give upper bounds for cumulant matrix indices we diagonalize in each mode. Lower values mean faster computation times. The default value NULL puts k equal to 1 in each mode (the fastest choice).

maxiter

Maximum number of iterations. Passed on to rjd.

eps

Convergence tolerance. Passed on to rjd.

Details

It is assumed that S is a tensor (array) of size p_1 x p_2 x ... x p_r with mutually independent elements and measured on N units. The tensor independent component model further assumes that the tensors S are mixed from each mode m by the mixing matrix A_m, m= 1, ..., r, yielding the observed data X. In R the sample of X is saved as an array of dimensions p_1, p_2, ..., p_r, N.

k_tJADE recovers then based on x the underlying independent components S by estimating the r unmixing matrices W_1, ..., W_r using fourth joint moments at the same time in a more efficient way than tFOBI but also in fewer numbers than tJADE. k_tJADE diagonalizes in each mode only those cumulant matrices C^ij for which |i - j| < k_m.

If x is a matrix, that is, r = 1, the method reduces to JADE and the function calls k_JADE.

Value

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

Xmu

The data location.

k

The used vector of k-values.

datatype

Character string with value "iid". Relevant for plot.tbss.

Author(s)

Joni Virta

References

Miettinen, J., Nordhausen, K., Oja, H. and Taskinen, S. (2013), Fast Equivariant JADE, In the Proceedings of 38th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2013), 6153–6157, doi: 10.1109/ICASSP.2013.6638847

Virta J., Li B., Nordhausen K., Oja H. (2018): JADE for tensor-valued observations, Journal of Computational and Graphical Statistics, 27, 628-637, doi: 10.1080/10618600.2017.1407324

Virta J., Lietzen N., Ilmonen P., Nordhausen K. (2021): Fast tensorial JADE, Scandinavian Journal of Statistics, 48, 164-187, doi: 10.1111/sjos.12445

See Also

k_JADE, tJADE, JADE

Examples

 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
27
28
29
n <- 1000
S <- t(cbind(rexp(n)-1,
             rnorm(n),
             runif(n, -sqrt(3), sqrt(3)),
             rt(n,5)*sqrt(0.6),
             (rchisq(n,1)-1)/sqrt(2),
             (rchisq(n,2)-2)/sqrt(4)))
             
dim(S) <- c(3, 2, n)

A1 <- matrix(rnorm(9), 3, 3)
A2 <- matrix(rnorm(4), 2, 2)

X <- tensorTransform(S, A1, 1)
X <- tensorTransform(X, A2, 2)


k_tjade <- k_tJADE(X)

MD(k_tjade$W[[1]], A1)
MD(k_tjade$W[[2]], A2) 
tMD(k_tjade$W, list(A1, A2))


k_tjade <- k_tJADE(X, k = c(2, 1))

MD(k_tjade$W[[1]], A1)
MD(k_tjade$W[[2]], A2) 
tMD(k_tjade$W, list(A1, A2))

tensorBSS documentation built on June 2, 2021, 9:08 a.m.