Learn R Programming

tensr, Because tensor was Already Taken.

Description

This package contains a collection of functions for statistical analysis with tensor(array)-variate data sets. 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("devtools")
devtools::install_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. [Link to LAA] [Link to arXiv]

Gerard, D., & Hoff, P. (2015). Equivariant minimax dominators of the MLE in the array normal model. Journal of Multivariate Analysis, 137, 32-49. [Link to JMVA] [Link to arXiv]

Copy Link

Version

Install

install.packages('tensr')

Monthly Downloads

182

Version

1.0.1

License

GPL-3

Maintainer

David Gerard

Last Published

August 15th, 2018

Functions in tensr (1.0.1)

get_isvd

Calculate the incredible SVD (ISVD).
sample_sig

Update for total variation parameter in equi_mcmc.
Kom

Commutation matrix.
amprod

\(k\)-mode product.
hooi

Calculate the higher-order orthogonal iteration (HOOI).
array_bic_aic

Calculate the AIC and BIC.
lrt_stat

Calculate the likelihood ratio test statistic.
hosvd

Calculate the (truncated) higher-order SVD (HOSVD).
mat

Unfold a matrix.
start_ident

Get list of identity matrices.
atrans

Tucker product.
start_resids

Sample covariance matrices for each mode.
tensr

tensr: A package for Kronecker structured covariance inference.
rsan

Standard normal array.
topK

Top K elements of a vector.
rwish

Wishart simulation.
anorm_cd

Array normal conditional distributions.
arrIndices

Array indices.
demean_tensor

Demeans array data.
fnorm

Frobenius norm of an array.
get_equi_bayes

Get the Bayes rule under multiway Stein's loss.
equi_mcmc

Gibbs sampler using an invariant prior.
lq

LQ decomposition.
lrt_null_dist_dim_same

Draw from null distribution of likelihood ratio test statistic.
rmirror_wishart

Sample from the mirror-Wishart distribution.
ldan

Log-likelihood of array normal model.
rmvnorm

Multivariate normal simulation.
collapse_mode

Collapse multiple modes into one mode.
listprod

Element-wise matrix products between two lists.
convert_cov

Convert the output from equi_mcmc to component covariance matrices.
multi_stein_loss

Calculate multiway Stein's loss from square root matrices.
multi_stein_loss_cov

Calculate multiway Stein's loss from component covariance matrices.
qr2

QR Decomposition.
random_ortho

Generate a list of orthogonal matrices drawn from Haar distribution.
tsum

Tucker sum.
zscores

Normal scores.
ihop

The incredible higher-order polar decomposition (IHOP).
kendalltau

Kendall's tau measure of association.
mhalf

The symmetric square root of a positive definite matrix.
mle_from_holq

Get MLE from output of holq.
tr

Trace of a matrix.
trim

Truncates small numbers to 0.
holq

Calculate the incredible higher-order LQ decomposition (HOLQ).
sample_right_wishart

Gibbs update of Phi_inv.
multiway_takemura

Calculate a truncated multiway Takemura estimator.
polar

The left polar decomposition.