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 |
|
R |
Kronecker rank for each lag, a vector for |
P |
Autoregressive order, a positive integer. |
method |
character string, specifying the type of the estimation method to be used.
|
init.A |
initial values of coefficient matrices |
init.sig |
only if |
niter |
maximum number of iterations if error stays above |
tol |
error tolerance in terms of the Frobenius norm. |
Details
Tensor autoregressive model (of autoregressive order one) has the form:
where are
coefficient matrices,
, and
is a tensor white noise.
is the Kronecker rank.
The model of autoregressive order
takes the form
For the "MLE" method, we also assume,
Value
return a list containing the following:
A
a list of estimated coefficient matrices
. It is a multi-layer list, the first layer for the lag
, the second the term
, and the third the mode
. See "Details".
SIGMA
only if
method=MLE
, a list of estimated.
res
residuals
Sig
sample covariance matrix of the residuals vec(
).
cov
grand covariance matrix of all estimated entries of
sd
standard errors of the coefficient matrices
, 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