glmboost {mboost} | R Documentation |
Gradient boosting for optimizing arbitrary loss functions where componentwise linear models are utilized as base learners.
## S3 method for class 'formula': glmboost(formula, data = list(), weights = NULL, contrasts.arg = NULL, ...) ## S3 method for class 'matrix': glmboost(x, y, weights = NULL, ...) glmboost_fit(object, family = GaussReg(), control = boost_control(), weights = NULL)
formula |
a symbolic description of the model to be fit. |
data |
a data frame containing the variables in the model. |
weights |
an optional vector of weights to be used in the fitting process. |
contrasts.arg |
a list, whose entries are contrasts suitable for input
to the contrasts replacement function and whose names are
the names of columns of data containing factors.
See model.matrix.default . |
x |
design matrix. |
y |
vector of responses. |
object |
an object of class boost_data , see boost_dpp . |
family |
an object of class boost_family-class ,
implementing the negative gradient corresponding
to the loss function to be optimized, by default, squared error loss
for continuous responses is used. |
control |
an object of class boost_control . |
... |
additional arguments passed to callies. |
A (generalized) linear model is fitted using a boosting algorithm based on componentwise univariate linear models. The fit, i.e., the regression coefficients, can be interpreted in the usual way. The methodology is described in Buhlmann and Yu (2003) and Buhlmann (2006).
The function glmboost_fit
provides access to the fitting
procedure without data pre-processing, e.g. for cross-validation.
An object of class glmboost
with print
, coef
,
AIC
and predict
methods being available.
Peter Buhlmann and Bin Yu (2003), Boosting with the L2 loss: regression and classification. Journal of the American Statistical Association, 98, 324–339.
Peter Buhlmann (2006), Boosting for high-dimensional linear models. The Annals of Statistics, 34.
Peter Buhlmann and Torsten Hothorn (2006), Boosting: A statistical perspective. Submitted manuscript.
### a simple two-dimensional example: cars data cars.gb <- glmboost(dist ~ speed, data = cars, control = boost_control(mstop = 5000)) cars.gb ### coefficients should coincide coef(cars.gb) + c(cars.gb$offset, 0) coef(lm(dist ~ speed, data = cars)) ### plot fit plot(dist ~ speed, data = cars) lines(cars$speed, predict(cars.gb), col = "red") ### alternative loss function: absolute loss cars.gbl <- glmboost(dist ~ speed, data = cars, control = boost_control(mstop = 5000), family = Laplace()) cars.gbl coef(cars.gbl) + c(cars.gbl$offset, 0) lines(cars$speed, predict(cars.gbl), col = "green") ### Huber loss with adaptive choice of delta cars.gbh <- glmboost(dist ~ speed, data = cars, control = boost_control(mstop = 5000), family = Huber()) lines(cars$speed, predict(cars.gbh), col = "blue") legend("topleft", col = c("red", "green", "blue"), lty = 1, legend = c("Gaussian", "Laplace", "Huber"), bty = "n")