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 )
data
: A n by p dataset matrixlambda.1
: tuning parameter for sparse component for the first stepmu.1
: tuning parameter for low rank component for the first steplambda.1.seq
: a sequence of lambda to the left segment for cross-validation, it's not mandatory to providemu.1.seq
: a sequence of mu to the left segment, low rank component tuning parameterlambda.2
: tuning parameter for sparse for the second stepmu.2
: tuning parameter for low rank for the second steplambda.3
: tuning parameter for estimating sparse componentsmu.3
: tuning parameter for estimating low rank componentsalpha_L
: a positive numeric value, indicating the restricted space of low rank component, default is 0.25omega
: tuning parameter for information criterion, the larger of omega, the fewer final selected change pointsh
: window size of the first rolling window stepstep.size
: rolling steptol
: tolerance for the convergence in the second screening step, indicates when to stopniter
: the number of iterations required for FISTA algorithmbacktracking
: A boolean argument to indicate use backtrack to FISTA modelskip
: The number of observations need to skip near the boundariescv
: A boolean argument, indicates whether the user will apply cross validation to select tuning parameter, default is FALSEnfold
: An positive integer, the number of folds for cross validationverbose
: If is TRUE, then it will print all information about current step.A list object including
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")
Useful links