Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
library(SLOPE)
x <- heart$x
y <- heart$y
fit <- SLOPE(x, y, family = "binomial", lambda = "bh")
## ----fig.cap = "Regularization path for a binomial regression model fit to the heart data set.", fig.width = 6, fig.height = 5----
plot(fit)
## -----------------------------------------------------------------------------
set.seed(924)
x <- bodyfat$x
y <- bodyfat$y
tune <- trainSLOPE(
x,
y,
q = c(0.1, 0.2),
number = 5,
repeats = 2
)
## ----fig.cap = "Model tuning results from Gaussian SLOPE on the bodyfat dataset.", fig.width = 5.5, fig.height = 3----
plot(tune, measure = "mae") # plot mean absolute error
## -----------------------------------------------------------------------------
tune
## ----fig.cap = "Control of false discovery rate using SLOPE.", fig.width = 4----
# proportion of real signals
q <- seq(0.05, 0.5, length.out = 20)
fdr <- double(length(q))
set.seed(1)
for (i in seq_along(q)) {
n <- 1000
p <- n / 2
alpha <- 1
problem <- SLOPE:::randomProblem(n, p, q = q[i], alpha = alpha)
x <- problem$x
y <- problem$y
signals <- problem$nonzero
fit <- SLOPE(x,
y,
lambda = "gaussian",
q = 0.1,
alpha = alpha / sqrt(n)
)
selected_slope <- which(as.matrix(fit$nonzeros[[1]]))
v <- length(setdiff(selected_slope, signals))
r <- length(selected_slope)
fdr[i] <- v / max(r, 1)
}
# Create the plot
plot(
q,
fdr,
type = "o",
xlab = "q",
ylab = "FDR",
pch = 16,
las = 1
)
# Add horizontal line at 0.1
abline(h = 0.1, lty = 3)
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.