Nothing
context("Testing consistency and timings of warm restart")
test_that("warm_restart", {
require(quadrupen)
get.coef <- function(x,y) {
lambda1 <- .25
enet.ref <- elastic.net(x,y,lambda1=lambda1, control=list(timer=TRUE))
enet.ref.bot <- elastic.net(x,y,lambda1=lambda1*2)
enet.ref.up <- elastic.net(x,y,lambda1=lambda1/2)
enet.bot <- elastic.net(x,y,lambda1=lambda1, beta0 = enet.ref.bot@coefficients, control=list(timer=TRUE))
enet.up <- elastic.net(x,y,lambda1=lambda1, beta0 = enet.ref.up@coefficients , control=list(timer=TRUE))
cat("\n\tTimings with warm-restart along the path")
cat("\n\t\tfrom stratch: ",enet.ref@monitoring$external.timer)
cat("\n\t\tstarting from sparser solution: ",enet.bot@monitoring$external.timer)
cat("\n\t\tstarting from more dense solution: ",enet.up@monitoring$external.timer)
return(list(
coef.ref=as.matrix(enet.ref@coefficients),
coef.bot=as.matrix(enet.bot@coefficients),
coef.up =as.matrix(enet.up@coefficients)))
}
## PROSTATE DATA SET
load("prostate.rda")
x <- as.matrix(x)
## Run the tests...
cat("\n * tiny-size problem...")
out <-get.coef(x,y)
expect_that(out$coef.bot,is_equivalent_to(out$coef.ref))
expect_that(out$coef.up ,is_equivalent_to(out$coef.ref))
## RANDOM DATA
seed <- sample(1:10000,1)
## cat(" #seed=",seed)
set.seed(seed)
beta <- rep(rep(c(0,1,0,-1,0), c(25,10,25,10,25)),5)
n <- 300
p <- length(beta)
mu <- 3 # intercept
sigma <- 30 # huge noise
Sigma <- matrix(0.95,p,p) # huge correlation
diag(Sigma) <- 1
x <- as.matrix(matrix(rnorm(p*n),n,p) %*% chol(Sigma))
y <- 10 + x %*% beta + rnorm(n,0,10)
## Run the tests...
cat("\n * small-size problem, with correlation...")
out <-get.coef(x,y)
expect_that(out$coef.bot,is_equivalent_to(out$coef.ref))
expect_that(out$coef.up ,is_equivalent_to(out$coef.ref))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.