Estimates a Multi-Level Dynamic Factor Modelfrom time series data. Supports both Single-bBlock (DFM) and hierarchical Multi-Block (MLDFM) structures with customizable factor extraction settings.
mldfm(
data,
blocks = 1,
block_ind = NULL,
global = 1,
local = NULL,
middle_layer = NULL,
method = 0,
tol = 1e-06,
max_iter = 1000,
verbose = TRUE
)An object of class mldfm, which is a list containing:
Matrix of estimated factors.
Matrix of factor loadings.
Matrix of residuals.
Matrix of fitted values.
Initialization method used (CCA or PCA).
Number of iterations before convergence.
List of estimated factors for each node.
Function call.
A numeric matrix or data frame containing the time series data. Rows represent time points; columns represent observed variables.
Integer. Number of blocks into which the data is divided.
Integer vector. End column indices for each block. Must be of length blocks and in increasing order.
Integer. Number of global factors extracted from the entire dataset.
Integer vector of length blocks. Specifies the number of local factors for each block.
Named list. Each name is a string specifying a group of blocks (e.g., "1-3" or "2-3"), and each value is the number of factors to extract.
Integer. Method used to initialize the factors: 0 for Canonical Correlation Analysis (CCA), 1 for Principal Component Analysis (PCA).
Numeric. The tolerance level for the residual sum of squares (RSS) minimization process. Used as a convergence criterion.
Integer. The maximum number of iterations allowed for the RSS minimization process.
Logical. If TRUE (default), print a summary of the mldfm.
mldfm_result <- mldfm(data = matrix(rnorm(100 * 5), 100, 5), blocks = 1, global = 2)
Run the code above in your browser using DataLab