Generalized Additive Quantile Regression Model for Multiple Quantiles
mlr_learners_regr.mqgam.Rd
Quantile Regression with generalized additive models for fitting a learner on multiple quantiles simultaneously.
Calls qgam::mqgam()
from package qgam.
Form
For the form
parameter, a gam formula specific to the Task is required (see example and ?mgcv::formula.gam
).
If no formula is provided, a fallback formula using all features in the task is used that will make the Learner behave like Linear Quantile Regression.
The features specified in the formula need to be the same as columns with col_roles "feature" in the task.
Quantile
The quantiles for the Learner, i.e. qu
parameter from qgam::mqgam()
, is set using the values specified in learner$quantiles
.
The response quantile can be specified using learner$quantile_response
.
Parameters
Id | Type | Default | Levels | Range |
form | untyped | - | - | |
lsig | numeric | - | \((-\infty, \infty)\) | |
err | numeric | - | \([0, 1]\) | |
cluster | untyped | NULL | - | |
multicore | logical | - | TRUE, FALSE | - |
ncores | numeric | - | \((-\infty, \infty)\) | |
paropts | untyped | list() | - | |
link | untyped | "identity" | - | |
argGam | untyped | - | - | |
discrete | logical | FALSE | TRUE, FALSE | - |
References
Fasiolo, Matteo, Wood, N. S, Zaffran, Margaux, Nedellec, Raphael, Goude, Yannig (2017). “Fast Calibrated Additive Quantile Regression.” Journal of the American Statistical Association, 116, 1402–1412. doi:10.1080/01621459.2020.1725521 .
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3::LearnerRegr
-> LearnerRegrMQGam
Examples
# Define the Learner
learner = mlr3::lrn("regr.mqgam")
learner$param_set$values$form = mpg ~ cyl + am + s(disp) + s(hp)
learner$quantiles = c(0.05, 0.5, 0.95)
learner$quantile_response = 0.5
print(learner)
#> <LearnerRegrMQGam:regr.mqgam>: Regression Quantile Generalized Additive Model Learner
#> * Model: -
#> * Parameters: form=<formula>
#> * Packages: mlr3, qgam
#> * Predict Types: response, se, [quantiles]
#> * Feature Types: logical, integer, numeric, factor
#> * Properties: weights
# Define a Task
task = mlr3::tsk("mtcars")
task$select(c("cyl", "am", "disp", "hp"))
# Create train and test set
ids = mlr3::partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
#> Estimating learning rate. Each dot corresponds to a loss evaluation.
#> qu = 0.5.................done
#> qu = 0.95....................done
#> qu = 0.05...................done
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> regr.mse
#> 9.497234