Factors | R Documentation |
Factors()
deals with factor modeling for high-dimensional
time series proposed in Lam and Yao (2012):
{\bf y}_t = {\bf Ax}_t +
{\boldsymbol{\epsilon}}_t,
where {\bf x}_t
is an r \times 1
latent process with (unknown) r \leq p
, {\bf A}
is a p
\times r
unknown constant matrix, and {\boldsymbol{\epsilon}}_t \sim
\mathrm{WN}({\boldsymbol{\mu}}_{\epsilon}, {\bf \Sigma}_{\epsilon})
is a
vector white noise process. The number of factors r
and the factor
loadings {\bf A}
can be estimated in terms of an eigenanalysis for a
nonnegative definite matrix, and is therefore applicable when the dimension
of {\bf y}_t
is on the order of a few thousands. This function aims to
estimate the number of factors r
and the factor loading matrix
{\bf A}
.
Factors(Y, lag.k = 5, twostep = FALSE)
Y |
|
lag.k |
Time lag
where |
twostep |
Logical. If |
An object of class "factors" is a list containing the following components:
factor_num |
The estimated number of factors
|
loading.mat |
The estimated |
lag.k |
the time lag used in function. |
method |
a character string indicating what method was performed. |
Lam, C. & Yao, Q. (2012). Factor modelling for high-dimensional time series: Inference for the number of factors, The Annals of Statistics, Vol. 40, pp. 694–726.
## Generate x_t
p <- 400
n <- 400
r <- 3
X <- mat.or.vec(n, r)
A <- matrix(runif(p*r, -1, 1), ncol=r)
x1 <- arima.sim(model=list(ar=c(0.6)), n=n)
x2 <- arima.sim(model=list(ar=c(-0.5)), n=n)
x3 <- arima.sim(model=list(ar=c(0.3)), n=n)
eps <- matrix(rnorm(n*p), p, n)
X <- t(cbind(x1, x2, x3))
Y <- A %*% X + eps
Y <- t(Y)
fac <- Factors(Y,lag.k=2)
r_hat <- fac$factor_num
loading_Mat <- fac$loading.mat
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.