camel.tiger(data, lambda = NULL, nlambda = NULL, lambda.min.ratio = NULL, method = "slasso", sym = "or", shrink=NULL, prec = 1e-4, mu = 0.01, max.ite = 1e4, standardize = FALSE, correlation = FALSE, perturb = TRUE, verbose = TRUE)
"clime"
: (1) data
is an n
by d
data matrix (2) a d
by d
sample covariance matrix. The program automatically identifies the input matrix by checking the symmetry. (n
is the sample size and d
is the dimension). For "slasso"
, covariance input is not supported.lambda = NULL
and have the program compute its own lambda
sequence based on nlambda
and lambda.min.ratio
. Users can also specify a sequence to override this. Default value is from $lambda.max$ to lambda.min.ratio*lambda.max
. For TIGER, the default value of $lambda.max$ is $\pi\sqrt{\log(d)/n}$. For CLIME , the default value of $lambda.max$ is the minimum regularization parameter, which yields an all-zero off-diagonal estiamtes.lambda
. Default value is 10.lambda
, as a fraction of the uppperbound (MAX
) of the regularization parameter. The program can automatically generate lambda
as a sequence of length = nlambda
starting from MAX
to lambda.min.ratio*MAX
in log scale. The default value is 0.25
for TIGER and 0.5
for CLIME.method = "slasso"
, CLIME is applied if method="clime"
. Default value is "slasso"
.sym = "and"
, the edge between node i
and node j
is selected ONLY when both node i
and node j
are selected as neighbors for each other. If sym = "or"
, the edge is selected when either node i
or node j
is selected as the neighbor for each other. The default value is "or"
.method = "clime"
and the default value is 0 if method="slasso"
or method = "aclime"
.standardize = TRUE
. The default value is FALSE
.Sigma
for method = "clime"
if correlation = TRUE
. The default value is FALSE
.Sigma
is added by a positive value to guarantee that Sigma
is positive definite if perturb = TRUE
. User can specify a numeric value for perturbe
. The default value is TRUE.verbose = FALSE
. The default value is TRUE
."tiger"
is returned:
n
by d
data matrix or d
by d
sample covariance matrix from the input.
lambda
used in the program.
lambda
.
d
by d
precision matrices corresponding to regularization parameters.
sym
from the input.
method
from the input.
d
by d
adjacency matrices of estimated graphs as a graph path corresponding to lambda
.
method = "clime"
, it is a list of two matrices where ite[[1]] is the number of external iterations and ite[[2]] is the number of internal iterations with the entry of (i,j) as the number of iteration of i-th column and j-th lambda. If method="slasso"
, it is a matrix of iteration with the entry of (i,j) as the number of iteration of i-th column and j-th lambda.
d
by nlambda
matrix. Each row contains the number of nonzero coefficients along the lasso solution path.
standardize
from the input.correlation
from the input.perturb
from the input.verbose
from the input.camel-package
, camel.tiger.generator
, camel.tiger.select
, camel.plot
, camel.tiger.roc
, plot.tiger
, plot.select
, plot.roc
, plot.sim
, print.tiger
, print.select
, print.roc
and print.sim
.
## generating data
n = 100
d = 100
D = camel.tiger.generator(n=n,d=d,graph="hub",g=10)
plot(D)
## sparse precision matrix estimation with method "clime"
out1 = camel.tiger(D$data, method = "clime")
plot(out1)
camel.plot(out1$path[[7]])
## sparse precision matrix estimation with method "slasso"
out2 = camel.tiger(D$data, method = "slasso")
plot(out2)
camel.plot(out2$path[[4]])
Run the code above in your browser using DataLab