tenAR.est {tensorTS}R 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×d1××dKT \times d_1 \times \cdots \times d_K tensor-valued time series, TT is the length of the series.

R

Kronecker rank for each lag, a vector for P>1P>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(EtE_t)).

"VAR",

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

init.A

initial values of coefficient matrices Ak(ir)A_k^{(ir)} in estimation algorithms, which is a multi-layer list such that the first layer for the lag 1iP1 \le i \le P, the second the term 1rR1 \le r \le R, and the third the mode 1kK1 \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 Σ1,,ΣK\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:

Xt=r=1RXt1×1A1(r)×2×KAK(r)+Et,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 Ak(r)A_k^{(r)} are dk×dkd_k \times d_k coefficient matrices, k=1,,Kk=1,\cdots,K, and EtE_t is a tensor white noise. RR is the Kronecker rank. The model of autoregressive order PP takes the form

Xt=i=1Pr=1RiXti×1A1(ir)×2×KAK(ir)+Et.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,

Cov(vec(Et))=ΣKΣK1Σ1,\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 Ak(ir)A_k^{(ir)}. It is a multi-layer list, the first layer for the lag 1iP1 \le i \le P, the second the term 1rR1 \le r \le R, and the third the mode 1kK1 \le k \le K. See "Details".

SIGMA

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

res

residuals

Sig

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

cov

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

sd

standard errors of the coefficient matrices Ak(ir)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

[Package tensorTS version 1.0.2 Index]