PE | R Documentation |
This function is to fit the matrix factor model via the PE method by projecting the observation matrix onto the row or column factor space.
PE(X, m1, m2)
X |
Input an array with |
m1 |
A positive integer indicating the row factor numbers. |
m2 |
A positive integer indicating the column factor numbers. |
For the matrix factor models, Yu et al. (2022) propose a projection estimation method to estimate the model parameters. In details, for observations \bold{X}_t, t=1,2,\cdots,T
, the data matrix is projected to a lower dimensional space by setting
\bold{Y}_t = \frac{1}{p_2} \bold{X}_t \bold{C}.
Given \bold{Y}_t
, define
\bold{M}_1 = \frac{1}{Tp_1} \sum_{t=1}^T \bold{Y}_t \bold{Y}_t^\top,
and then the row factor loading matrix \bold{R}
can be estimated by \sqrt{p_1}
times the leading k_1
eigenvectors of \bold{M}_1
. However, the projection matrix \bold{C}
is unavailable in practice. A natural solution is to replace it with a consistent initial estimator. The column factor loading matrix \bold{C}
can be similarly estimated by projecting \bold{X}_t
onto the space of \bold{C}
with \bold{R}
. See Yu et al. (2022) for the detailed algorithm.
The return value is a list. In this list, it contains the following:
F |
The estimated factor matrix of dimension |
R |
The estimated row loading matrix of dimension |
C |
The estimated column loading matrix of dimension |
Yong He, Changwei Zhao, Ran Zhao.
Yu, L., He, Y., Kong, X., & Zhang, X. (2022). Projected estimation for large-dimensional matrix factor models. Journal of Econometrics, 229(1), 201-217.
set.seed(11111)
T=20;p1=20;p2=20;k1=3;k2=3
R=matrix(runif(p1*k1,min=-1,max=1),p1,k1)
C=matrix(runif(p2*k2,min=-1,max=1),p2,k2)
X=array(0,c(T,p1,p2))
Y=X;E=Y
F=array(0,c(T,k1,k2))
for(t in 1:T){
F[t,,]=matrix(rnorm(k1*k2),k1,k2)
E[t,,]=matrix(rnorm(p1*p2),p1,p2)
Y[t,,]=R%*%F[t,,]%*%t(C)
}
X=Y+E
#Estimate the factor matrices and loadings
fit=PE(X, k1, k2)
Rhat=fit$R
Chat=fit$C
Fhat=fit$F
#Estimate the common component
CC=array(0,c(T,p1,p2))
for (t in 1:T){
CC[t,,]=Rhat%*%Fhat[t,,]%*%t(Chat)
}
CC
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.