DGP.CP {HDTSA}R Documentation

Data generate process of matrix CP-factor model

Description

DGP.CP() function generate the matrix time series described in Chang et al. (2023):

Yt=AXtB+ϵt,{\bf{Y}}_t = {\bf A \bf X}_t{\bf B}^{'} + {\boldsymbol{\epsilon}}_t,

where Xt=diag(xt,1,,xt,d){\bf X}_t = diag(x_{t,1},\ldots,x_{t,d}) is an d×dd \times d latent process, A{\bf A} and B{\bf B} are , respectively, p×dp \times d and q×dq \times d unknown constant matrix, and ϵt {\boldsymbol{\epsilon}}_t is a p×qp \times q matrix white noise process.

Usage

DGP.CP(n, p, q, d1, d2, d)

Arguments

n

Integer. Sample size of Yt\bf Y_t, t=1,,nt=1,\ldots,n.

p

Integer. Number of rows of Yt\bf Y_t.

q

Integer. Number of columns of Yt\bf Y_t.

d1

Integer. Rank of A\bf A.

d2

Integer. Rank of B\bf B.

d

Integer. Number of columns of A\bf A and B\bf B.

Value

A list containing the following components:

Y

A n×p×qn \times p \times q data array of Yt\bf Y_t.

S

A n×p×qn \times p \times q data array of St=AXtB\bf S_t = \bf A \bf X_t \bf B'.

A

A p×dp \times d coefficient matrix.

B

A q×dq \times d coefficient matrix.

X

A n×d×dn \times d \times d data array of Xt\bf X_t.

P

A p×d1p \times d_1 orthogonal matrix such that A=PU\bf A = \bf P \bf U.

Q

A q×d2q \times d_2 orthogonal matrix such that B=QV\bf B = \bf Q \bf V.

U

A d1×dd_1 \times d matrix such that A=PU\bf A = \bf P \bf U.

V

A d2×dd_2 \times d matrix such that B=QV\bf B = \bf Q \bf V.

W

A d1d2×dd_1 d_2 \times d matrix such that W=(v1u1,,vdud)\bf W = (\bf v_1 \otimes \bf u_1,\ldots,\bf v_d \otimes \bf u_d).

Ws

A d1d2×dd_1 d_2 \times d matrix. An orthogonal basis of W\bf W.

Xmat

A n×dn \times d data matrix of diag(Xt)diag(\bf X_t).

Smat

A n×pqn \times pq data matrix of vec(St)vec(\bf S_t).

References

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.

See Also

CP_MTS.

Examples

p = 10
q = 10
n = 400
d = d1 = d2 = 3
data <- DGP.CP(n,p,q,d,d1,d2)
Y = data$Y

[Package HDTSA version 1.0.3 Index]