Description Usage Arguments Details Value References Examples
Function computes selective pvalues (and confidence intervals)
for mboost
objects. Currently iboost
supports Gaussian family models
(L2Boosting) with linear, group and spline baselearners.
1 2 3 4 5  iboost(obj, method = c("unifsamp", "impsamp", "analytic", "slice",
"linesearch", "normalsamp", "normaladjsamp"), vars = NULL,
varForSampling = NULL, B = 1000, alpha = 0.05, ncore = 1,
refit.mboost = NULL, Ups = NULL, checkBL = TRUE, vT = NULL,
computeCI = TRUE, returnSamples = FALSE, which = NULL, ...)

obj 
mboost object 
method 
character; if possible, choose custom method. See details. 
vars 
numeric vector; a single numeric value or vector of numeric values for the variance used in the linear model (preferably the true variance or an estimation from a consistent estimator). If NULL, the empirical response variance is used, which will result in rather conservative inference. 
varForSampling 
variance used for generate new samples. Defaults to the first entry of 
B 
numeric; number of samples drawn for inference. 
alpha 
numeric; significance level for pvalue / size of selective interval ( 
ncore 
numeric; number of cores to use (via 
refit.mboost 
function; this is needed if 
Ups 
list of residual matrix produces by 
checkBL 
logical; if 
vT 
list of test vectors as produced by 
computeCI 
logical; whether or not to compute selective confidence intervals 
returnSamples 
logical; whether or not (default = FALSE) to only return
the samples produced. Per default, pvalues (and intervals) are calculated using the
samples using 
which 
numeric; selects only certain baselearner, for which inference is conducted. 
... 
Further arguments passed to the sampling method. 
iboost provides inference for L_2Boosting models fitted with mboost
with linear, group or spline baselearner based on
Ruegamer and Greven (2018) when method = unifsamp
,
Yang et al. (2016) when method = impsamp
,
Tibshirani et al. (2016) when method = analytic
,
Loftus and Taylor (2015) when method = slice
and
two variations of the unifsamp
approach when method
is
normalsamp
or normaladjsamp
.
Only the methods impsamp
and slice
can be used for testing
group effects or whole spline functions.
Returns an object of class iboost
or, if length(vars)>1
, a
list of iboost
objects for each variance.
An iboost
object is a list containing the following items
dist
: a list obtained by the sampling procedure including rB
, the
sampled values, logvals
, logical values whether the corresponding rB
yields
to a congruent model with the initial model fit, obsval
, the actual observed value
in the initial model fit and corresponding weights
of the importance sampling
procedure.
method
: name of the method used
alpha
: alpha level used for the confidence interval limits
vT
: the test vector(s)
yorg
: original response value
resDF
: a data.frame consisting of the lower
and
upper
confidence interval limits, the observed value mean
,
the calculated pvalue pval
and the truncation limits of the effect
lowtrunc
and uptrunc
.
var
: the variance used for inference calculation
dur
: total duration of sampling in seconds
Ruegamer, D. and Greven, S. (2018), Valid Inferece for L2Boosting, arXiv eprints arXiv:1805.01852.
Yang, F., Barber, R. F., Jain, P. and Lafferty, J. (2016), Selective inference for groupsparse linear models, Advances in Neural Information Processing Systems, pp. 24692477.
Tibshirani, R. J., Taylor, J., Lockhart, R. & Tibshirani, R. (2016), Exact postselection inference for sequential regression procedures, Journal of the American Statistical Association 111(514), 600620.
Loftus, J. R. & Taylor, J. E. (2015), Selective inference in regression models with groupsof variables, arXiv eprints arXiv:1511.01478.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54  if(require("mboost")){
set.seed(0)
n < 200
x1 < rnorm(n)
x2 < rnorm(n) + 0.25 * x1
x3 < rnorm(n)
eta < 3 * sin(x1) + x2^2
y < scale(eta + rnorm(n), scale = FALSE)
spline1 < bbs(x1, knots = 20, df = 4)
knots.x2 < quantile(x2, c(0.25, 0.5, 0.75))
spline2 < bbs(x2, knots = knots.x2, df = 4)
spline3 < bbs(x3, knots = 20, df = 4)
data < data.frame(y=y, x1=x1, x2=x2, x3=x3)
mod1 < mboost(y ~ spline1 + spline2 + spline3,
control=boost_control(mstop = 73), offset = 0,
data = data)
# calculate pvalues and intervals for model with
# fixed stopping iteration:
# this is done with only B = 100 samples for
# demonstrative purposes and should be increased
# for actual research questions
res < iboost(mod1, method = "impsamp", B = 100)
# do the same with crossvalidation
## Not run:
fixFolds < cv(weights = model.weights(mod1),
type = "kfold", B = 10)
cvr < cvrisk(mod1, folds = fixFolds, papply = lapply)
modf < mod1[mstop(cvr)]
# define corresponding refit function
modFun < function(y){
mod < mboost_fit(response = y,
blg = blList,
offset = 0,
control = boost_control(mstop = 73))
cvr < cvrisk(mod, folds = fixFolds, papply = lapply)
return(mod[mstop(cvr)])
}
# this will take a while
(res < iboost(modf, refit.mboost = modFun, method = "impsamp", B = 1000))
## End(Not run)
}

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.