Description Usage Arguments Details Value Author(s) References See Also Examples
Computes the tensorial JADE in an independent component model.
1 | tJADE(x, maxiter = 100, eps = 1e-06)
|
x |
Numeric array of an order at least two. It is assumed that the last dimension corresponds to the sampling units. |
maxiter |
Maximum number of iterations. Passed on to |
eps |
Convergence tolerance. Passed on to |
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.
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 in a more efficient way than tFOBI
.
If x
is a matrix, that is, r = 1, the method reduces to JADE and the function calls JADE
.
For a generalization for tensor-valued time series see tgJADE
.
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. |
datatype |
Character string with value "iid". Relevant for |
Joni Virta
Virta J., Li B., Nordhausen K., Oja H. (2018): JADE for tensor-valued observations, Journal of Computational and Graphical Statistics, Volume 27, p. 628 - 637, doi: 10.1080/10618600.2017.1407324
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 30 31 32 33 34 35 36 37 38 39 40 | 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)
tjade <- tJADE(X)
MD(tjade$W[[1]], A1)
MD(tjade$W[[2]], A2)
tMD(tjade$W, list(A1, A2))
## Not run:
# Digit data example
# Running will take a few minutes
data(zip.train)
x <- zip.train
rows <- which(x[, 1] == 0 | x[, 1] == 1)
x0 <- x[rows, 2:257]
y0 <- x[rows, 1] + 1
x0 <- t(x0)
dim(x0) <- c(16, 16, 2199)
tjade <- tJADE(x0)
plot(tjade, col=y0)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.