# varband: Compute the varband estimate for a fixed tuning parameter... In hugogogo/varband: Variable Banding of Large Precision Matrices

## Description

Solves the main optimization problem in Yu & Bien (2017):

min_L -2 sum_{r=1}^p L_{rr} + tr(SLL^T) + lam * sum_{r=2}^p P_r(L_{r.})

where

P_r(L_r.) = sum_{l=2}^{r-1} (sum_m=1^l w^2_lm L^2_rm)^{1/2}

or

P_r(L_{r.}) = ∑_{\ell = 1}^{r-1} |L_{r\ell}|

## Usage

 1 varband(S, lambda, init, K = -1L, w = FALSE, lasso = FALSE) 

## Arguments

 S The sample covariance matrix lambda Non-negative tuning parameter. Controls sparsity level. init Initial estimate of L. Default is a closed-form diagonal estimate of L. K Integer between 0 and p - 1 (default), indicating the maximum bandwidth in the resulting estimate. A small value of K will result in a sparse estimate and small computing time. w Logical. Should we use weighted version of the penalty or not? If TRUE, we use general weight. If FALSE, use unweighted penalty. Default is FALSE. lasso Logical. Should we use l1 penalty instead of hierarchical group lasso penalty? Note that by using l1 penalty, we lose the banded structure in the resulting estimate. Default is FALSE.

## Details

The function decomposes into p independent row problems, each of which is solved by an ADMM algorithm. see paper for more explanation.

## Value

Returns the variable banding estimate of L, at most K banded, where L^TL = Omega.

varband_path varband_cv

## Examples

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 set.seed(123) n <- 50 true <- varband_gen(p = 50, block = 5) x <- sample_gen(L = true, n = n) S <- crossprod(scale(x, center = TRUE, scale = FALSE)) / n init <- diag(1/sqrt(diag(S))) # unweighted estimate L_unweighted <- varband(S, lambda = 0.1, init, w = FALSE) # at most 10-banded unweighted estimate L_unweighted_K10 <- varband(S, lambda = 0.1, init, w = FALSE, K = 10) # weighted estimate L_weighted <- varband(S, lambda = 0.1, init, w = TRUE) # lasso estimate L_lasso <- varband(S, lambda = 0.1, init, w = TRUE, lasso = TRUE) 

hugogogo/varband documentation built on May 17, 2019, 9:12 p.m.