fnets.factor.model {fnets}R Documentation

Factor model estimation

Description

Performs factor modelling under either restricted (static) or unrestricted (dynamic) factor models

Usage

fnets.factor.model(
  x,
  center = TRUE,
  fm.restricted = FALSE,
  q = c("ic", "er"),
  ic.op = NULL,
  kern.bw = NULL,
  common.args = list(factor.var.order = NULL, max.var.order = NULL, trunc.lags = 20,
    n.perm = 10)
)

Arguments

x

input time series each column representing a time series variable; it is coerced into a ts object

center

whether to de-mean the input x

fm.restricted

whether to estimate a restricted factor model using static PCA

q

Either a string specifying the factor number selection method when fm.restricted = TRUE; possible values are:

"ic"

information criteria-based methods of Alessi, Barigozzi & Capasso (2010) when fm.restricted = TRUE or Hallin and Liška (2007) when fm.restricted = FALSE

"er"

eigenvalue ratio of Ahn and Horenstein (2013) when fm.restricted = TRUE or Avarucci et al. (2022) when fm.restricted = FALSE

or the number of unrestricted factors, see factor.number

ic.op

choice of the information criterion penalty, see hl.factor.number or abc.factor.number for further details

kern.bw

a positive integer specifying the kernel bandwidth for dynamic PCA; by default, it is set to floor(4 *(dim(x)[2]/log(dim(x)[2]))^(1/3))). When fm.restricted = TRUE, it is used to compute the number of lags for which autocovariance matrices are estimated

common.args

a list specifying the tuning parameters required for estimating the impulse response functions and common shocks. It contains:

factor.var.order

order of the blockwise VAR representation of the common component. If factor.var.order = NULL, it is selected blockwise by Schwarz criterion

max.var.order

maximum blockwise VAR order for the Schwarz criterion

trunc.lags

truncation lag for impulse response function estimation

n.perm

number of cross-sectional permutations involved in impulse response function estimation

Details

See Barigozzi, Cho and Owens (2024+) for further details.

Value

an S3 object of class fm, which contains the following fields:

q

number of factors

spec

if fm.restricted = FALSE a list containing estimates of the spectral density matrices for x, common and idiosyncratic components

acv

a list containing estimates of the autocovariance matrices for x, common and idiosyncratic components

loadings

if fm.restricted = TRUE, factor loadings; if fm.restricted = FALSE and q >= 1, a list containing estimators of the impulse response functions (as an array of dimension (p, q, trunc.lags + 2))

factors

if fm.restricted = TRUE, factor series; else, common shocks (an array of dimension (q, n))

mean.x

if center = TRUE, returns a vector containing row-wise sample means of x; if center = FALSE, returns a vector of zeros

References

Ahn, S. C. & Horenstein, A. R. (2013) Eigenvalue ratio test for the number of factors. Econometrica, 81(3), 1203–1227.

Alessi, L., Barigozzi, M., & Capasso, M. (2010) Improved penalization for determining the number of factors in approximate factor models. Statistics & Probability Letters, 80(23-24):1806–1813.

Avarucci, M., Cavicchioli, M., Forni, M., & Zaffaroni, P. (2022) The main business cycle shock(s): Frequency-band estimation of the number of dynamic factors.

Barigozzi, M., Cho, H. & Owens, D. (2024+) FNETS: Factor-adjusted network estimation and forecasting for high-dimensional time series. Journal of Business & Economic Statistics (to appear).

Hallin, M. & Liška, R. (2007) Determining the number of factors in the general dynamic factor model. Journal of the American Statistical Association, 102(478), 603–617.

Owens, D., Cho, H. & Barigozzi, M. (2024+) fnets: An R Package for Network Estimation and Forecasting via Factor-Adjusted VAR Modelling. The R Journal (to appear).

See Also

print.fm, predict.fm

Examples


out <- fnets.factor.model(data.restricted, fm.restricted = TRUE)


[Package fnets version 0.1.6 Index]