### 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
layout(matrix(1:2, ncol = 2))
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")
### plot coefficient path of glmboost
par(mai = par("mai") * c(1, 1, 1, 2.5))
plot(cars.gb)
Run the code above in your browser using DataCamp Workspace