ccboost: fit a predictive model with robust boosting algorithm

Description Usage Arguments Value Author(s) References Examples

View source: R/ccboost.R

Description

Fit a predictive model with robust boosting algorithm. For loss functions in the CC-family (concave-convex), apply composite optimization by conjugation operator (COCO), where optimization is conducted by functional descent boosting algorithm. Models include the generalized linear models.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
ccboost(
  x,
  y,
  weights,
  cfun = "ccave",
  s = 1,
  delta = 0.1,
  dfun = "gaussian",
  iter = 10,
  nrounds = 100,
  del = 1e-10,
  trace = FALSE,
  ...
)

Arguments

x

input matrix, of dimension nobs x nvars; each row is an observation vector. Can accept dgCMatrix

y

response variable. Quantitative for family="gaussian", or family="poisson" (non-negative counts). For family="binomial" should be a factor with two levels

weights

vector of nobs with non-negative weights

cfun

concave component of CC-family, can be "hacve", "acave", "bcave", "ccave", "dcave", "ecave", "gcave", "hcave"

s

tuning parameter of cfun. s > 0 and can be equal to 0 for cfun="tcave". If s is too close to 0 for cfun="acave", "bcave", "ccave", the calculated weights can become 0 for all observations, thus crash the program

delta

a small positive number provided by user only if cfun="gcave" and 0 < s <1

dfun

type of convex component in the CC-family, can be "gaussian", "binomial", "poisson"

iter

number of iteration in the COCO algorithm

nrounds

boosting iterations

del

convergency criteria in the COCO algorithm

trace

if TRUE, fitting progress is reported

...

other arguments passing to xgboost

Value

An object with S3 class xgboost.

weight_update

weight in the last iteration of the COCO algorithm

Author(s)

Zhu Wang
Maintainer: Zhu Wang zhuwang@gmail.com

References

Wang, Zhu (2021), Unified Robust Boosting, arXiv eprint, https://arxiv.org/abs/2101.07718

Examples

1
2
3
4
5
6
7
8
x <- matrix(rnorm(100*2),100,2)
g2 <- sample(c(0,1),100,replace=TRUE)
fit1 <- ccboost(x, g2, cfun="acave",s=0.5, dfun="gaussian", trace=TRUE, 
                verbose=0, max.depth=1, nrounds=50)
fit2 <- ccboost(x, g2, cfun="acave",s=0.5, dfun="binomial", trace=TRUE,  
                verbose=0, max.depth=1, nrounds=50)
fit3 <- ccboost(x, g2, cfun="acave",s=0.5, dfun="poisson", trace=TRUE,      
                verbose=0, max.depth=1, nrounds=50)

ccboost documentation built on Jan. 25, 2021, 5:05 p.m.

Related to ccboost in ccboost...