Learn R Programming

FARS (version 0.7.1)

mldfm_subsampling: Subsampling Procedure for MLDFM Estimation

Description

Applies the MLDFM estimation to randomly drawn subsamples of the input data.

Usage

mldfm_subsampling(
  data,
  blocks = 1,
  block_ind = NULL,
  global = 1,
  local = NULL,
  middle_layer = NULL,
  method = 0,
  tol = 1e-06,
  max_iter = 1000,
  n_samples = 10,
  sample_size = 0.9,
  seed = NULL
)

Value

An object of class mldfm_subsample, which is a list containing:

  • models: A list of mldfm objects, one for each subsample.

  • n_samples: Number of subsamples generated.

  • sample_size: Proportion of the sample used for each subsample.

  • seed: Seed used for random sampling (if any).

  • call: Function call.

Arguments

data

A numeric matrix or data frame containing the time series data. Rows represent time points; columns represent observed variables.

blocks

Integer. The number of blocks into which the data is divided.

block_ind

A vector of integers indicating the end index of each block. Must be of length blocks and in increasing order. Required if blocks > 1.

global

Integer. Number of global factors extracted from the entire dataset.

local

Integer vector of length blocks. Specifies the number of local factors for each block.

middle_layer

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.

method

Integer. The method used to initialize the factors: 0 for Canonical Correlation Analysis (CCA), 1 for Principal Component Analysis (PCA).

tol

Numeric. The tolerance level for the residual sum of squares (RSS) minimization process. Used as a convergence criterion.

max_iter

Integer. The maximum number of iterations allowed for the RSS minimization process.

n_samples

Number of subsamples to generate.

sample_size

Proportion of the original sample to retain (e.g., 0.9 for 90%).

seed

Optional integer. Seed for reproducibility of the subsampling process. If NULL, random draws will differ each run.

Examples

Run this code
# \donttest{
data <- matrix(rnorm(1000), nrow = 100, ncol = 100)
block_ind <- c(50,100)  
local <- c(1, 1)   
result <- mldfm_subsampling(data, blocks = 2, block_ind = block_ind, global = 1, 
local = local, n_samples = 100, sample_size = 0.9)
# }

Run the code above in your browser using DataLab