The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Benchmarks

Matt Galloway

This is a short effort to give users an idea of how long the functions take to process. The benchmark examples below are illustrative; exact timings vary by platform and R version.

We will be estimating a tri-diagonal precision matrix with dimension \(p = 100\):


\vspace{0.5cm}

library(CVglasso)

# generate data from tri-diagonal (sparse) matrix compute covariance matrix
# (can confirm inverse is tri-diagonal)
S = matrix(0, nrow = 100, ncol = 100)

for (i in 1:100) {
    for (j in 1:100) {
        S[i, j] = 0.7^(abs(i - j))
    }
}

# generate 1000 x 100 matrix with rows drawn from iid N_p(0, S)
set.seed(123)
Z = matrix(rnorm(1000 * 100), nrow = 1000, ncol = 100)
out = eigen(S, symmetric = TRUE)
S.sqrt = out$vectors %*% diag(out$values^0.5) %*% t(out$vectors)
X = Z %*% S.sqrt

# calculate sample covariance matrix
sample = (nrow(X) - 1)/nrow(X) * cov(X)


\vspace{0.5cm}

The code chunks below show how to run local benchmarks. To keep CRAN vignette builds fast and deterministic, these chunks are not evaluated during rendering.


\vspace{0.5cm}

# benchmark CVglasso - defaults
library(microbenchmark)
microbenchmark(CVglasso(S = sample, lam = 0.1, trace = "none"))


\vspace{0.5cm}


\vspace{0.5cm}

# benchmark CVglasso - tolerance 1e-6
microbenchmark(CVglasso(S = sample, lam = 0.1, tol = 1e-06, trace = "none"))


\vspace{0.5cm}


\vspace{0.5cm}

# benchmark CVglasso CV - default parameter grid
microbenchmark(CVglasso(X, trace = "none"), times = 5)


\vspace{0.5cm}


\vspace{0.5cm}

# benchmark CVglasso parallel CV
microbenchmark(CVglasso(X, cores = 2, trace = "none"), times = 5)


\vspace{0.5cm}

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.