tPP: Projection pursuit for Tensor-Valued Observations

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

View source: R/tPP.R

Description

Applies mode-wise projection pursuit to tensorial data with respect to the chosen measure of interestingness.

Usage

1
  tPP(x, nl = "pow3", eps = 1e-6, maxiter = 100)

Arguments

x

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

nl

The chosen measure of interestingness/objective function. Current choices include pow3 (default) and skew, see the details below

eps

The convergence tolerance of the iterative algortihm.

maxiter

The maximum number of iterations.

Details

The observed tensors (arrays) X of size p_1 x p_2 x ... x p_r measured on N units are standardized from each mode and then projected mode-wise onto the directions that maximize the L_2-norm of the vector of the values E[G(u_k^T X X^T u_k)] - E[G(c^2)], where G is the chosen objective function and c^2 obeys the chi-squared distribution with q degress of freedom. Currently the function allows the choices G(x) = x^2 (pow3) and G(x) = x √{x} (skew), which correspond roughly to the maximization of kurtosis and skewness, respectively. The algorithm is the multilinear extension of FastICA, where the names of the objective functions also come from.

Value

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

S

Array of the same size as x containing the estimated components.

W

List containing all the unmixing matrices.

iter

The numbers of iteration used per mode.

Xmu

The data location.

datatype

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

Author(s)

Joni Virta

References

Nordhausen, K. and Virta, J. (2018), Tensorial projection pursuit, Manuscript in preparation.

Hyvarinen, A. (1999) Fast and robust fixed-point algorithms for independent component analysis, IEEE transactions on Neural Networks 10.3: 626-634.

See Also

fICA, NGPP

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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)

tpp <- tPP(X)

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

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