Searches for the rotation that maximizes the estimated negentropy of the first column of the rotated data, and of the second variable fixing the first, for \(q = 3\) dimensional data. The routine uses a random start for the function optim using the simulated annealing option SANN, hence one may wish to increase the number of attempts by setting nstart to a integer larger than 1.

negent3D(y, nstart = 1, m = 100, ...)

Arguments

y

The \(N \times 3\) data matrix.

nstart

The number of times to randomly start the search routine.

m

The number of angles (between 0 and \(\pi\)) over which to search to find the second variables.

...

Further optional arguments to pass to the optim function to control the simulated annealing algorithm.

Value

A `list` with the following components:

vectors

The \(3 x 3\) orthogonal matrix G that optimizes the negentropy.

values

Estimated negentropies for the three rotated variables, from largest to smallest.

See also

Examples

if (FALSE) {
# Running this example will take approximately 30s.
# Centers and scales the variables.
y <- scale(as.matrix(iris[, 1:3]))

# Obtains Negent Vectors for 3x3 matrix
gstar <- negent3D(y, nstart = 100)$vectors
}