Learn R Programming

hierband (version 1.0)

hierband.path: Solves main optimization problem over a grid of lambda values

Description

See hierband for the problem this is solving. If lamlist not provided, then grid will be constructed starting at lambda_max, the smallest value of lam for which the solution (with delta=NULL) is diagonal.

Usage

hierband.path(Sighat, nlam = 20, flmin = 0.01, lamlist = NULL, w = NULL, delta = NULL, maxiter = 100, tol = 1e-07)

Arguments

Sighat
The sample covariance matrix
nlam
Number of lambda values to include in grid.
flmin
Ratio between the smallest lambda and largest lambda in grid. (Default: 0.01) Decreasing this gives less sparse solutions.
lamlist
A grid of lambda values to use. If this is non-NULL, then nlam and flmin are ignored.
w
(p-1)-by-(p-1) lower-triangular matrix (above diagonal ignored). w[l,] gives the l weights for g_l. Defaults to w[l,m]=sqrt(2 * l)/(l - m + 1) for m <= l<="" code="">
delta
Lower bound on eigenvalues. If this is NULL (which is default), then no eigenvalue constraint is included.
maxiter
Number of iterations of blockwise coordinate descent to perform.
tol
Only used when delta is non-NULL. When no eigenvalue changes by more than tol in BCD, convergence is assumed.

Value

Returns a sequence of convex banded estimates of the covariance matrix.
P:
A nrow(Sighat)-by-nrow(Sighat)-by-nlam array where P[, , i] gives the ith estimate of the covariance matrix.
lamlist:
Grid of lambda values used.
w:
Value of w used.
delta:
Value of delta used.

See Also

hierband hierband.cv

Examples

Run this code
set.seed(123)
p <- 100
n <- 50
K <- 10
true <- ma(p, K)
x <- matrix(rnorm(n*p), n, p) %*% true$A
Sighat <- cov(x)
path <- hierband.path(Sighat)
cv <- hierband.cv(path, x)
fit <- hierband(Sighat, lam=cv$lam.best)

Run the code above in your browser using DataLab