simu_lstsp function

Function to deploy simulation with LSTSP algorithm

Function to deploy simulation with LSTSP algorithm

A function to generate simulation with LSTSP algorithm

simu_lstsp( nreps, simu_method = c("LS"), nob, k, lags = 1, lags_vector = NULL, brk, sigma, skip = 50, group_mats = NULL, group_type = c("columnwise", "rowwise"), group_index = NULL, sparse_mats = NULL, sp_density = NULL, signals = NULL, rank = NULL, info_ratio = NULL, sp_pattern = c("off-diagonal", "diagoanl", "random"), singular_vals = NULL, spectral_radius = 0.9, alpha_L = 0.25, lambda.1 = NULL, mu.1 = NULL, lambda.1.seq = NULL, mu.1.seq = NULL, lambda.2, mu.2, lambda.3, mu.3, omega = NULL, h = NULL, step.size = NULL, tol = 1e-04, niter = 100, backtracking = TRUE, rolling.skip = 5, cv = FALSE, nfold = NULL, verbose = FALSE )

Arguments

  • nreps: A positive integer, indicating the number of simulation replications
  • simu_method: the structure of time series: only available for "LS"
  • nob: sample size
  • k: dimension of transition matrix
  • lags: lags of VAR time series. Default is 1.
  • lags_vector: a vector of lags of VAR time series for each segment
  • brk: a vector of break points with (nob+1) as the last element
  • sigma: the variance matrix for error term
  • skip: an argument to control the leading data points to obtain a stationary time series
  • group_mats: transition matrix for group sparse case
  • group_type: type for group lasso: "columnwise", "rowwise". Default is "columnwise".
  • group_index: group index for group lasso.
  • sparse_mats: transition matrix for sparse case
  • sp_density: if we choose random pattern, we should provide the sparsity density for each segment
  • signals: manually setting signal for each segment (including sign)
  • rank: if we choose method is low rank plus sparse, we need to provide the ranks for each segment
  • info_ratio: the information ratio leverages the signal strength from low rank and sparse components
  • sp_pattern: a choice of the pattern of sparse component: diagonal, 1-off diagonal, random, custom
  • singular_vals: singular values for the low rank components
  • spectral_radius: to ensure the time series is piecewise stationary.
  • alpha_L: a positive numeric value, indicating the restricted space of low rank component, default is 0.25
  • lambda.1: tuning parameter for sparse component for the first step
  • mu.1: tuning parameter for low rank component for the first step
  • lambda.1.seq: a sequence of lambda to the left segment for cross-validation, it's not mandatory to provide
  • mu.1.seq: a sequence of mu to the left segment, low rank component tuning parameter
  • lambda.2: tuning parameter for sparse for the second step
  • mu.2: tuning parameter for low rank for the second step
  • lambda.3: tuning parameter for estimating sparse components
  • mu.3: tuning parameter for estimating low rank components
  • omega: tuning parameter for information criterion, the larger of omega, the fewer final selected change points
  • h: window size of the first rolling window step
  • step.size: rolling step
  • tol: tolerance for the convergence in the second screening step, indicates when to stop
  • niter: the number of iterations required for FISTA algorithm
  • backtracking: A boolean argument to indicate use backtrack to FISTA model
  • rolling.skip: The number of observations need to skip near the boundaries
  • cv: A boolean argument, indicates whether the user will apply cross validation to select tuning parameter, default is FALSE
  • nfold: An positive integer, the number of folds for cross validation
  • verbose: If is TRUE, then it will print all information about current step.

Returns

A S3 object of class VARDetect.simu.result, containing the following entries:

  • sizes: A 2-d numeric vector, indicating the size of time series data
  • true_lag: True time lags for the process, here is fixed to be 1.
  • true_lagvector: A vector recording the time lags for different segments, not available under this model setting, here is fixed to be NULL
  • true_cp: True change points for simulation, a numeric vector
  • true_sparse: A list of numeric matrices, indicating the true sparse components for all segments
  • true_lowrank: A list of numeric matrices, indicating the true low rank components for all segments
  • est_cps: A list of estimated change points, including all replications
  • est_lag: A numeric value, estimated time lags, which is user specified
  • est_lagvector: A vector for estimated time lags, not available for this model, set as NULL.
  • est_sparse_mats: A list of estimated sparse components for all replications
  • est_lowrank_mats: A list of estimated low rank components for all replications
  • est_phi_mats: A list of estimated model parameters, transition matrices for VAR model
  • running_times: A numeric vector, containing all running times

Examples

nob <- 100 p <- 15 brk <- c(50, nob+1) rank <- c(1, 3) signals <- c(-0.7, 0.8) singular_vals <- c(1, 0.75, 0.5) info_ratio <- rep(0.35, 2) lambda1 = lambda2 = lambda3 <- c(2.5, 2.5) mu1 = mu2 = mu3 <- c(15, 15) try_simu <- simu_lstsp(nreps = 3, simu_method = "LS", nob = nob, k = p, brk = brk, sigma = diag(p), signals = signals, rank = rank, singular_vals = singular_vals, info_ratio = info_ratio, sp_pattern = "off-diagonal", spectral_radius = 0.9, lambda.1 = lambda1, mu.1 = mu1, lambda.2 = lambda2, mu.2 = mu2, lambda.3 = lambda3, mu.3 = mu3, step.size = 5, niter = 20, rolling.skip = 5, cv = FALSE, verbose = TRUE) summary(try_simu, critical = 5)
  • Maintainer: Yue Bai
  • License: GPL-2
  • Last published: 2024-06-15

Useful links