aum_line_search_grid {aum} | R Documentation |
aum line search grid
Description
Line search for predicted values, with grid search to check.
Usage
aum_line_search_grid(error.diff.df,
feature.mat, weight.vec,
pred.vec = NULL,
maxIterations = nrow(error.diff.df),
n.grid = 10L, add.breakpoints = FALSE)
Arguments
error.diff.df |
|
feature.mat |
N x p matrix of numeric features. |
weight.vec |
p-vector of numeric linear model coefficients. |
pred.vec |
N-vector of numeric predicted values. If missing, |
maxIterations |
positive int: max number of line search iterations. |
n.grid |
positive int: number of grid points for checking. |
add.breakpoints |
add breakpoints from exact search to grid search. |
Value
List of class aum_line_search_grid.
Author(s)
Toby Dylan Hocking <toby.hocking@r-project.org> [aut, cre], Jadon Fowler [aut] (Contributed exact line search C++ code)
Examples
if(require("data.table"))setDTthreads(1L)#for CRAN check.
## Example 1: two binary data.
(bin.diffs <- aum::aum_diffs_binary(c(1,0)))
if(requireNamespace("ggplot2"))plot(bin.diffs)
bin.line.search <- aum::aum_line_search_grid(bin.diffs, pred.vec=c(-10,10))
if(requireNamespace("ggplot2"))plot(bin.line.search)
if(requireNamespace("penaltyLearning")){
## Example 2: two changepoint examples, one with three breakpoints.
data(neuroblastomaProcessed, package="penaltyLearning", envir=environment())
nb.err <- with(neuroblastomaProcessed$errors, data.frame(
example=paste0(profile.id, ".", chromosome),
min.lambda,
max.lambda,
fp, fn))
(diffs.subtrain <- aum::aum_diffs_penalty(nb.err, c("4.2", "1.1")))
if(requireNamespace("ggplot2"))plot(diffs.subtrain)
(nb.line.search <- aum::aum_line_search_grid(diffs.subtrain, pred.vec=c(-1,1)))
if(requireNamespace("ggplot2"))plot(nb.line.search)
## Example 3: 50 changepoint examples, with linear model.
X.sc <- scale(neuroblastomaProcessed$feature.mat[1:50,])
keep <- apply(is.finite(X.sc), 2, all)
X.subtrain <- X.sc[,keep]
weight.vec <- rep(0, ncol(X.subtrain))
diffs.subtrain <- aum::aum_diffs_penalty(nb.err, rownames(X.subtrain))
nb.weight.search <- aum::aum_line_search_grid(
diffs.subtrain,
feature.mat=X.subtrain,
weight.vec=weight.vec,
maxIterations = 200)
if(requireNamespace("ggplot2"))plot(nb.weight.search)
}
## Example 4: counting intersections and intervals at each
## iteration/step size, when there are ties.
(bin.diffs <- aum::aum_diffs_binary(c(0,0,0,1,1,1)))
bin.line.search <- aum::aum_line_search_grid(
bin.diffs, pred.vec=c(2,3,-1,1,-2,0), n.grid=21)
if(require("ggplot2")){
plot(bin.line.search)+
geom_text(aes(
step.size, Inf, label=sprintf(
"%d,%d", intersections, intervals)),
vjust=1.1,
data=data.frame(
panel="threshold", bin.line.search$line_search_result))
}
[Package aum version 2024.6.19 Index]