fnets {fnets} | R Documentation |
Factor-adjusted network estimation
Description
Under a factor-adjusted vector autoregressive (VAR) model, the function estimates the spectral density and autocovariance matrices of the factor-driven common component and the idiosyncratic VAR process, the impulse response functions and common shocks for the common component, and VAR parameters, innovation covariance matrix and long-run partial correlations for the idiosyncratic component.
Usage
fnets(
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),
var.order = 1,
var.method = c("lasso", "ds"),
var.args = list(n.iter = NULL, n.cores = 1),
do.threshold = FALSE,
do.lrpc = TRUE,
lrpc.adaptive = FALSE,
tuning.args = list(tuning = c("cv", "bic"), n.folds = 1, penalty = NULL, path.length =
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 |
fm.restricted |
whether to estimate a restricted factor model using static PCA |
q |
Either the number of factors or a string specifying the factor number selection method; possible values are:
see factor.number. |
ic.op |
choice of the information criterion penalty, see factor.number for further details |
kern.bw |
a positive integer specifying the kernel bandwidth for dynamic PCA; by default, it is set to |
common.args |
a list specifying the tuning parameters required for estimating the impulse response functions and common shocks. It contains:
|
var.order |
order of the idiosyncratic VAR process; if a vector of integers is supplied, the order is chosen via |
var.method |
a string specifying the method to be adopted for idiosyncratic VAR process estimation; possible values are:
|
var.args |
a list specifying the tuning parameters required for estimating the idiosyncratic VAR process. It contains:
|
do.threshold |
whether to perform adaptive thresholding of all parameter estimators with threshold |
do.lrpc |
whether to estimate the long-run partial correlation |
lrpc.adaptive |
whether to use the adaptive estimation procedure |
tuning.args |
a list specifying arguments for selecting the tuning parameters involved in VAR parameter and (long-run) partial correlation matrix estimation. It contains:
by default
|
Details
See Barigozzi, Cho and Owens (2024+) for further details. List arguments do not need to be specified with all list components; any missing entries will be filled in with the default argument.
Value
an S3 object of class fnets
, which contains the following fields:
q |
number of factors |
spec |
if |
acv |
a list containing estimates of the autocovariance matrices for |
loadings |
if |
factors |
if |
idio.var |
a list containing the following fields:
|
lrpc |
see the output of par.lrpc |
mean.x |
if |
var.method |
input parameter |
do.lrpc |
input parameter |
kern.bw |
input parameter |
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
predict.fnets, plot.fnets, print.fnets
Examples
out <- fnets(data.unrestricted,
do.threshold = TRUE,
var.args = list(n.cores = 2)
)
pre <- predict(out, common.method = "unrestricted")
plot(out, type = "granger", display = "network")
plot(out, type = "lrpc", display = "heatmap")