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