tensr, Because tensor was Already Taken
Description
This package contains a collection of functions for statistical analysis with tensor(array)-variate data sets.
Let $X$ be a multidimensional array (also called a tensor) of $K$ dimensions. This package provides a series of functions to perform statistical inference when $\text{vec}(X) \sim N(0,\Sigma)$, where $\Sigma$ is assumed to be Kronecker structured. That is, $\Sigma$ is the Kronecker product of $K$ covariance matrices, each of which has the interpretation of being the covariance of $X$ along its $k$th mode, or dimension.
Pay particular attention to the zero mean assumption. That is, you need
to de-mean your data prior to applying these functions. If you have more
than one sample, $X_i$ for $i = 1,\ldots,n$, then you can concatenate
these tensors along a $(K+1)$th mode to form a new tensor $Y$ and apply
the demean_tensor()
function to $Y$ which will return a tensor that
satisfies the mean-zero assumption.
Details of the methods may be found in Gerard & Hoff (2015) and Gerard &
Hoff (2016). In particular, tensr
has the following features:
- Basic functions for handling arrays, such as vectorization, matrix unfolding, and multilinear multiplication.
- Functions for calculating (Tucker) tensor decompositions, such as the incredible higher-order LQ decomposition (incredible HOLQ), the incredible singular value decomposition (ISVD), the incredible higher-order polar decomposition (IHOP), the higher-order singular value decomposition (HOSVD), and the low multilinear rank approximation using the higher-order orthogonal iteration (HOOI).
- Perform likelihood inference in mean-zero Kronecker structured
covariance models, such as
- Derive the maximum likelihood estimates of the covariance matrices under the array normal model,
- Run a likelihood ratio test in separable covariance models, and
- Calculate AIC’s and BIC’s for separable covariance models.
- Run a Gibbs sampler to draw from the posterior distribution of the Kronecker structured covariance matrix in the array normal model. This posterior is with respect to a (non-informative) prior induced by the right Haar measure over a product group of lower triangular matrices acting on the space of Kronecker structured covariance matrices. For any invariant loss function, any Bayes rule with respect to this prior will be the uniformly minimum risk equivariant estimator (UMREE) with respect to that loss.
- Calculate the UMREE under a multiway generalization of Stein’s loss. This estimator dominates the maximum likelihood estimator uniformly over the entire parameter space of Kronecker structured covariance matrices.
- Calculate a (randomized) orthogonally invariant estimator of the Kronecker structured covariance matrix. This estimator dominates the UMREE under the product group of lower triangular matrices.
This package is also published on CRAN.
Vignettes are available on Equivariant Inference and Likelihood Inference.
Installation
To install from CRAN, run in R
:
install.packages("tensr")
To install the latest version from Github, run in R
:
## install.packages("pak")
pak::pak("github::dcgerard/tensr")
References
Gerard, D., & Hoff, P. (2016). A higher-order LQ decomposition for separable covariance models. Linear Algebra and its Applications, 505, 57-84. doi: 10.1016/j.laa.2016.04.033
Gerard, D., & Hoff, P. (2015). Equivariant minimax dominators of the MLE in the array normal model. Journal of Multivariate Analysis, 137, 32-49. doi: 10.1016/j.jmva.2015.01.020