lstsp function

Main function for the low rank plus sparse structure VAR model

Main function for the low rank plus sparse structure VAR model

Main function for the low-rank plus sparse structure VAR model

lstsp( data, lambda.1 = NULL, mu.1 = NULL, lambda.1.seq = NULL, mu.1.seq = NULL, lambda.2 = NULL, mu.2 = NULL, lambda.3 = NULL, mu.3 = NULL, alpha_L = 0.25, omega = NULL, h = NULL, step.size = NULL, tol = 1e-04, niter = 100, backtracking = TRUE, skip = 5, cv = FALSE, nfold = NULL, verbose = FALSE )

Arguments

  • data: A n by p dataset matrix
  • 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
  • alpha_L: a positive numeric value, indicating the restricted space of low rank component, default is 0.25
  • 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
  • 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 list object including

  • data: the original dataset
  • q: the time lag for the time series, in this case, it is 1
  • cp: Final estimated change points
  • sparse_mats: Final estimated sparse components
  • lowrank_mats: Final estimated low rank components
  • est_phi: Final estimated model parameter, equals to sum of low rank and sparse components
  • time: Running time for the LSTSP algorithm

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) try <- simu_var(method = "LS", nob = nob, k = p, lags = 1, brk = brk, sigma = as.matrix(diag(p)), signals = signals, rank = rank, singular_vals = singular_vals, info_ratio = info_ratio, sp_pattern = "off-diagonal", spectral_radius = 0.9) data <- try$series lambda1 = lambda2 = lambda3 <- c(2.5, 2.5) mu1 = mu2 = mu3 <- c(15, 15) fit <- lstsp(data, lambda.1 = lambda1, mu.1 = mu1, lambda.2 = lambda2, mu.2 = mu2, lambda.3 = lambda3, mu.3 = mu3, alpha_L = 0.25, step.size = 5, niter = 20, skip = 5, cv = FALSE, verbose = FALSE) summary(fit) plot(fit, data, display = "cp") plot(fit, data, display = "param")
  • Maintainer: Yue Bai
  • License: GPL-2
  • Last published: 2024-06-15

Useful links