DGP.CP()
function generate the matrix time series described in Chang et al. (2023):$${\bf{Y}}_t = {\bf A \bf X}_t{\bf B}^{'} +
{\boldsymbol{\epsilon}}_t, $$ where \({\bf X}_t = diag(x_{t,1},\ldots,x_{t,d})\) is an \(d \times d\)
latent process, \({\bf A}\) and \({\bf B}\) are , respectively, \(p
\times d\) and \(q \times d\) unknown constant matrix, and \( {\boldsymbol{\epsilon}}_t \)
is a \(p \times q\) matrix white noise process.
DGP.CP(n, p, q, d1, d2, d)
A list containing the following components:
A \(n \times p \times q\) data array of \(\bf Y_t\).
A \(n \times p \times q\) data array of \(\bf S_t = \bf A \bf X_t \bf B'\).
A \(p \times d\) coefficient matrix.
A \(q \times d\) coefficient matrix.
A \(n \times d \times d\) data array of \(\bf X_t\).
A \(p \times d_1\) orthogonal matrix such that \(\bf A = \bf P \bf U\).
A \(q \times d_2\) orthogonal matrix such that \(\bf B = \bf Q \bf V\).
A \(d_1 \times d\) matrix such that \(\bf A = \bf P \bf U\).
A \(d_2 \times d\) matrix such that \(\bf B = \bf Q \bf V\).
A \(d_1 d_2 \times d\) matrix such that \(\bf W = (\bf v_1 \otimes \bf u_1,\ldots,\bf v_d \otimes \bf u_d)\).
A \(d_1 d_2 \times d\) matrix. An orthogonal basis of \(\bf W\).
A \(n \times d\) data matrix of \(diag(\bf X_t)\).
A \(n \times pq\) data matrix of \(vec(\bf S_t)\).
Integer. Sample size of \(\bf Y_t\), \(t=1,\ldots,n\).
Integer. Number of rows of \(\bf Y_t\).
Integer. Number of columns of \(\bf Y_t\).
Integer. Rank of \(\bf A\).
Integer. Rank of \(\bf B\).
Integer. Number of columns of \(\bf A\) and \(\bf B\).
Chang, J., He, J., Yang, L. and Yao, Q.(2023). Modelling matrix time series via a tensor CP-decomposition. Journal of the Royal Statistical Society Series B: Statistical Methodology, Vol. 85(1), pp.127--148.
CP_MTS
.
p = 10
q = 10
n = 400
d = d1 = d2 = 3
data <- DGP.CP(n,p,q,d1,d2,d)
Y = data$Y
Run the code above in your browser using DataLab