square {TRES}R Documentation

Square simulated data

Description

Synthetic data generated from tensor predictor regression (TPR) model. Each response observation is univariate, and each predictor observation is a matrix.

Usage

data("square")

Format

A list consisting of four components:

x

A 32 \times 32 \times 200 tensor, each matrix x@data[,,i] represents a predictor observation.

y

A 1 \times 200 matrix, each entry represents a response observation.

coefficients

A 32\times 32 \times 1 tensor with a square pattern.

Gamma

A list consisting of two 32 \times 2 envelope basis.

Details

The dataset is generated from the tensor predictor regression (TPR) model:

Y_i = B_{(m+1)}vec(X_i) + \epsilon_i, \quad i = 1,\ldots, n,

where n=200 and the regression coefficient B \in R^{32\times 32} is a given image with rank 2, which has a square pattern. All the elements of the coefficient matrix B are either 0.1 or 1. To make the model conform to the envelope structure, we construct the envelope basis \Gamma_k and the covariance matrices \Sigma_k, k=1,2, of predictor X as following. With the singular value decomposition of B, namely B = \Gamma_1 \Lambda \Gamma_2^T, we choose the envelope basis as \Gamma_k \in R^{32 \times 2}, k=1,2. Then the envelope dimensions are u_1 = u_2 = 2. We set matrices \Omega_k = I_2 and \Omega_{0k} = 0.01 I_{30}, k=1,2. Then we generate the covariance matrices \Sigma_k = \Gamma_k \Omega_k \Gamma_k^T + \Gamma_{0k}\Omega_{0k}\Gamma_{0k}^T, followed by normalization with their Frobenius norms. The predictor X_i is then generated from two-way tensor (matrix) normal distribution TN(0; \Sigma_1, \Sigma_2). And the error term \epsilon_i is generated from standard normal distribution.

References

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

Examples

## Fit square dataset with the tensor predictor regression model
data("square")
x <- square$x
y <- square$y
# Model fitting with ordinary least square.
fit_std <- TPR.fit(x, y, method="standard")
# Draw the coefficient plot.
plot(fit_std)


[Package TRES version 1.1.5 Index]