Tensor Regression with Envelope Structure

Provides three estimators for tensor response regression (TRR) and tensor predictor regression (TPR) models with tensor envelope structure. The three types of estimation approaches are generic and can be applied to any envelope estimation problems. The full Grassmannian (FG) optimization is often associated with likelihood-based estimation but requires heavy computation and good initialization; the one-directional optimization approaches (1D and ECD algorithms) are faster, stable and does not require carefully chosen initial values; the SIMPLS-type is motivated by the partial least squares regression and is computationally the least expensive. For details of TRR, see Li L, Zhang X (2017) . For details of TPR, see Zhang X, Li L (2017) . For details of 1D algorithm, see Cook RD, Zhang X (2016) . For details of ECD algorithm, see Cook RD, Zhang X (2018) . For more details of the package, see Zeng J, Wang W, Zhang X (2021) .


TRES

cran webpage

The package TRES implements the least squares and envelope estimation under the framework of tensor regression models. The general model-free envelope models can also be flexibly handled by the package via three types of envelope estimation algorithms:

  • Full Grassmannian (FG) algorithm.
  • 1D algorithm.
  • Envelope coordinate descent (ECD) algorithm
  • Partial least squares (PLS) type algorithm.

Installation

You can install the released version of TRES from CRAN with:

# Install the latest released version from CRAN
install.packages("TRES")

# Or the development version from GitHub:
remotes::install_github("leozeng15/TRES")

Example 1: Tensor response regression analysis

This is a basic example providing you a guidance on how to use the primary function TRR.fit and several S3 methods in Tensor Response Regression (TRR) model. The ordinary least square method and 1D envelope method are implemented. See Li and Zhang (2017) for more background.

library(TRES)
## Load data "bat"
data("bat")
x <- bat$x
y <- bat$y

## Fitting with OLS and 1D envelope method.
fit_ols <- TRR.fit(x, y, method="standard")
fit_1D <- TRR.fit(x, y, u = c(14,14), method="1D") # pass envelope rank (14,14)

## Print cofficient
coef(fit_1D)

## Print the summary
summary(fit_1D)

## Extract the mean squared error, p-value and standard error from summary
summary(fit_1D)$mse
summary(fit_1D)$p_val
summary(fit_1D)$se

## Make the prediction on the original dataset
predict(fit_1D, x)

## Draw the plots of two-way coefficient tensor (i.e., matrix) and p-value tensor.
plot(fit_ols)
plot(fit_1D)

The coefficients plots from OLS and 1D methods are aligned in the first row below, and the p-value plots from the two methods are aligned in the second row below.


Example 2: Model-free envelope estimation

This example shows how to use the function MenU_sim to simulate the matrices M and U with envelope structure, and how to use different core functions to implement different envelope estimation algorithms. See Cook and Zhang (2016) for more details.

## Generate matrices M and U
p <- 50
u <- 5
n <- 200
data <- MenvU_sim(p, u, jitter = 1e-5, wishart = TRUE, n = n)
Gamma <- data$Gamma
M <- data$M
U <- data$U

## Use different envelope algorithms
G <- vector("list", 6)
G[[1]] <- simplsMU(M, U, u)
G[[2]] <- ECD(M, U, u)
G[[3]] <- manifold1D(M, U, u)
G[[4]] <- OptM1D(M, U, u)
G[[5]] <- manifoldFG(M, U, u)
G[[6]] <- OptMFG(M, U, u)

References

1D algorithm: Cook, R.D. and Zhang, X., 2016. Algorithms for envelope estimation. Journal of Computational and Graphical Statistics, 25(1), pp.284-300.

TRR: Li, L. and Zhang, X., 2017. Parsimonious tensor response regression. Journal of the American Statistical Association, 112(519), pp.1131-1146.

TPR: Zhang, X. and Li, L., 2017. Tensor envelope partial least-squares regression. Technometrics, 59(4), pp.426-436.

ECD algorithm: Cook, R.D. and Zhang, X., 2018. Fast envelope algorithms. Statistica Sinica, 28(3), pp.1179-1197.

Journal of Statistical Software paper

Zeng J., Wang W., Zhang X. (2021) TRES: An R Package for Tensor Regression and Envelope Algorithms. Journal of Statistical Software, 99(12), 1-31. doi:10.18637/jss.v099.i12

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("TRES")

1.1.5 by Jing Zeng, 5 years ago


https://github.com/leozeng15/TRES


Report a bug at https://github.com/leozeng15/TRES/issues


Browse source code at https://github.com/cran/TRES


Authors: Wenjing Wang [aut] , Jing Zeng [aut, cre] , Xin Zhang [aut]


Documentation:   PDF Manual  


GPL-3 license


Imports MASS, methods, pracma, rTensor, stats

Depends on ManifoldOptim

Suggests testthat


Imported by TensorClustering.


See at CRAN