TFM_FN {RTFA} | R Documentation |
Estimation Factor Numbers via Eigenvalue-Ratio Criterion
Description
This function is to estimate factor numbers via eigenvalue-ratio criterion corresponding to initial estimation without projection, one-step projection estimation, iterative projection estimation and iterative weighted projection estimation by Huber loss.
Usage
TFM_FN(x, r = NULL, method = "PE", tol = 1e-04, maxiter = 100)
Arguments
x |
|
r |
input rank of the factor tensor. |
method |
character string, specifying the type of the factor estimation method to be used.
|
tol |
tolerance in terms of the Frobenius norm. |
maxiter |
maximum number of iterations if error stays above |
Details
See Barigozzi et al. (2022) and Barigozzi et al. (2023) for details.
Value
return a list containing the following:
path
a
K \times (\rm{niter}+1)
matrix of the estimated Tucker rank of the factor process as a path of the maximum number of iteration (\rm{niter}
) used. Thei
-th column is the estimated rank\hat r_1, \hat r_2, \cdots, \hat r_K
at(i-1)
-th iteration.factor.num
final solution of the estimated Tucker rank of the factor process
\hat r_1, \hat r_2, \cdots, \hat r_K
.
Author(s)
Matteo Barigozzi, Yong He, Lingxiao Li, Lorenzo Trapani.
References
Barigozzi M, He Y, Li L, Trapani L. Robust Estimation of Large Factor Models for Tensor-valued Time Series. <arXiv:2206.09800>
Barigozzi M, He Y, Li L, Trapani L. Statistical Inference for Large-dimensional Tensor Factor Model by Iterative Projection. <arXiv:2303.18163>
Examples
library(rTensor)
set.seed(1234)
p <- c(12,16,20) # dimensions of tensor time series
r <- c(3,4,5) # dimensions of factor series
A<-list()
Q<-list()
for(i in 1:3){
A[[i]]<-matrix(rnorm(p[i]*r[i],0,1),p[i],r[i])
Q[[i]]=eigen(A[[i]]%*%t(A[[i]]))$vectors
}
T<-100
F<-array(NA,c(T,r))
E<-array(NA,c(T,p))
S<-array(NA,c(T,p))
X<-array(NA,c(T,p))
for(t in 1:T){
F[t,,,]<-array(rnorm(prod(r),0,1),r)
E[t,,,]<-array(rnorm(prod(p),0,1),p)
S[t,,,]<-ttl(as.tensor(F[t,,,]),A,c(1,2,3))@data
X[t,,,]<-S[t,,,]+E[t,,,]
}
rank<-TFM_FN(X,r=NULL,method='PE')