tenAR.est: Estimation for Autoregressive Model of Tensor-Valued Time...

View source: R/tenAR.R

tenAR.estR Documentation

Estimation for Autoregressive Model of Tensor-Valued Time Series

Description

Estimation function for tensor autoregressive models. Methods include projection (PROJ), Least Squares (LSE), maximum likelihood estimation (MLE) and vector autoregressive model (VAR), as determined by the value of method.

Usage

tenAR.est(xx,R=1,P=1,method="LSE",init.A=NULL,init.sig=NULL,niter=150,tol=1e-6)

Arguments

xx

T \times d_1 \times \cdots \times d_K tensor-valued time series, T is the length of the series.

R

Kronecker rank for each lag, a vector for P>1, a positive integer, it assumes same number of terms in each lag.

P

Autoregressive order, a positive integer.

method

character string, specifying the type of the estimation method to be used.

"PROJ",

Projection method.

"LSE",

Least squares.

"MLE",

MLE under a separable cov(vec(E_t)).

"VAR",

VAR(P) model for the \mathrm{vec}(E_t).

init.A

initial values of coefficient matrices A_k^{(ir)} in estimation algorithms, which is a multi-layer list such that the first layer for the lag 1 \le i \le P, the second the term 1 \le r \le R, and the third the mode 1 \le k \le K. See "Details". By default, we use PROJ estimators as initial values.

init.sig

only if method=MLE, a list of initial values of \Sigma_1,\ldots,\Sigma_K. The default are identity matrices.

niter

maximum number of iterations if error stays above tol.

tol

error tolerance in terms of the Frobenius norm.

Details

Tensor autoregressive model (of autoregressive order one) has the form:

X_t = \sum_{r=1}^R X_{t-1} \times_{1} A_1^{(r)} \times_{2} \cdots \times_{K} A_K^{(r)} + E_t,

where A_k^{(r)} are d_k \times d_k coefficient matrices, k=1,\cdots,K, and E_t is a tensor white noise. R is the Kronecker rank. The model of autoregressive order P takes the form

X_t = \sum_{i=1}^{P} \sum_{r=1}^{R_i} X_{t-i} \times_{1} A_{1}^{(ir)} \times_{2} \cdots \times_{K} A_{K}^{(ir)} + E_t.

For the "MLE" method, we also assume,

\mathrm{Cov}(\mathrm{vec}(E_t))= \Sigma_K \otimes \Sigma_{K-1} \otimes \cdots \otimes \Sigma_1,

Value

return a list containing the following:

A

a list of estimated coefficient matrices A_k^{(ir)}. It is a multi-layer list, the first layer for the lag 1 \le i \le P, the second the term 1 \le r \le R, and the third the mode 1 \le k \le K. See "Details".

SIGMA

only if method=MLE, a list of estimated \Sigma_1,\ldots,\Sigma_K.

res

residuals

Sig

sample covariance matrix of the residuals vec(\hat E_t).

cov

grand covariance matrix of all estimated entries of A_k^{(ir)}

sd

standard errors of the coefficient matrices A_k^{(ir)}, returned as a list aligned with A.

niter

number of iterations.

BIC

value of extended Bayesian information criterion.

References

Rong Chen, Han Xiao, and Dan Yang. "Autoregressive models for matrix-valued time series". Journal of Econometrics, 2020.

Zebang Li, Han Xiao. "Multi-linear tensor autoregressive models". arxiv preprint arxiv:2110.00928 (2021).

Examples

set.seed(333)

# case 1: tensor-valued time series

dim <- c(2,2,2)
xx <- tenAR.sim(t=100, dim, R=2, P=1, rho=0.5, cov='iid')
est <- tenAR.est(xx, R=2, P=1, method="LSE") # two-term tenAR(1) model
A <- est$A # A is a multi-layer list

length(A) == 1 # TRUE, since the order P = 1
length(A[[1]]) == 2 # TRUE, since the number of terms R = 2
length(A[[1]][[1]]) == 3 # TRUE, since the mode K = 3

# est <- tenAR.est(xx, R=c(1,2), P=2, method="LSE") # tenAR(2) model with R1=1, R2=2

# case 2: matrix-valued time series

dim <- c(2,2)
xx <- tenAR.sim(t=100, dim, R=2, P=1, rho=0.5, cov='iid')
est <- tenAR.est(xx, R=2, P=1, method="LSE") # two-term MAR(1) model 
A <- est$A # A is a multi-layer list

length(A) == 1 # TRUE, since the order P = 1
length(A[[1]]) == 2 # TRUE, since the number of terms R = 2
length(A[[1]][[1]]) == 2 # TRUE, since the mode K = 2

tensorTS documentation built on May 31, 2023, 7 p.m.