Monotone Spline LCE Learner
Source:R/LearnerLCESplineMonotone.R
mlr_learners_lce.spline_monotone.RdFits a shape-constrained smoothing spline (monotone increasing or monotone
decreasing) to the per-batch surrogate performance via
scam::scam() with a monotone P-spline basis ("mpi" / "mpd").
With direction = "auto" (the default), the direction is inferred from the
task's measure: utility-style targets increase and loss-style targets
decrease.
This is the smoother, lower-bias analogue of LearnerLCEIsotonic.
Extrapolation beyond the training-batch range linearly extends the last fitted spline segment, so very long-horizon forecasts can drift; use LearnerLCEParametricExponential or one of the parametric families when a hard asymptote is needed. The spline is fit on the task's lce_link scale.
At least five distinct batches are required: scam's monotone basis needs a
basis dimension k of at least 4, and k is clamped to at most
n_batches - 1 to keep the fit identifiable.
When predict_type = "se" the learner returns the spline's pointwise standard
errors (as reported by scam::predict.scam()) as the epistemic se_epistemic
and adds the spline's residual variance back to form the total predictive
se, both on the link scale.
Creates a new instance of this learner.
Parameters
direction::character(1)"auto"(default),"increasing", or"decreasing". Selects the monotone P-spline basis (mpi/mpd) after resolution.k::integer(1)|NULL
Basis dimension passed toscam::s(). Defaults toNULL, which usesmin(10, n_batches - 1). Floored at4(the smallestkthe monotone basis supports) and clamped to at mostn_batches - 1at training time to keep the fit identifiable.bs::character(1)
Spline basis. Restricted to"mpi"(monotone increasing) and"mpd"(monotone decreasing) and is set automatically fromdirection.