mModeCovariance: The m-Mode Covariance Matrix

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

View source: R/mModeCovariance.R

Description

Estimates the m-mode covariance matrix from an array of array-valued observations.

Usage

1
mModeCovariance(x, m, center = TRUE, normalize = TRUE)

Arguments

x

Array of order higher than two with the last dimension corresponding to the sampling units.

m

The mode with respect to which the covariance matrix is to be computed.

center

Logical, indicating whether the observations should be centered prior to computing the covariance matrix. Default is TRUE.

normalize

Logical, indicating whether the resulting matrix is divided by p_1 ... p_{m-1} p_{m+1} ... p_r or not. Default is TRUE.

Details

The m-mode covariance matrix provides a higher order analogy for the ordinary covariance matrix of a random vector and is computed for a random tensor X of size p_1 x p_2 x ... x p_r as Cov_m(X) = E(X(m) X(m)^T)/(p_1 ... p_(m-1) p_(m+1) ... p_r), where X(m) is the centered m-flattening of X. The algorithm computes the estimate of this based on the sample x.

Value

The m-mode covariance matrix of x having the size p_m x p_m.

Author(s)

Joni Virta

References

Virta, J., Li, B., Nordhausen, K. and Oja, H., (2017), Independent component analysis for tensor-valued data, Journal of Multivariate Analysis, doi: 10.1016/j.jmva.2017.09.008

See Also

mModeAutoCovariance

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## Generate sample data.
n <- 100
x <- t(cbind(rnorm(n, mean = 0),
             rnorm(n, mean = 1),
             rnorm(n, mean = 2),
             rnorm(n, mean = 3),
             rnorm(n, mean = 4),
             rnorm(n, mean = 5)))
             
dim(x) <- c(3, 2, n)

# The m-mode covariance matrices of the first and second modes
mModeCovariance(x, 1)
mModeCovariance(x, 2)

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