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=alpha_PCA(X, k1, k2, alpha = 0)
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
Run the code above in your browser using DataLab