Skip to contents

sb_beta_interval() forwards to sb_beta() while activating interval sampling so that beta-regression SelectBoost runs can ingest lower/upper response bounds directly. It mirrors fastboost_interval() but reuses the correlated resampling pipeline of sb_beta().

Usage

sb_beta_interval(
  X,
  Y_low,
  Y_high,
  selector = betareg_step_aic,
  sample = c("uniform", "midpoint"),
  Y = NULL,
  ...
)

Arguments

X

Numeric design matrix. Coerced with as.matrix() and normalised via sb_normalize().

Y_low, Y_high

Interval bounds in [0, 1] paired with the rows of X when interval is not "none".

selector

Selection routine. Defaults to betareg_step_aic(). Function or character string. If it is a function, the selector name should be added as the fun.name attribute.

sample

Interval sampling scheme passed to the interval argument of sb_beta(). "uniform" draws a pseudo-response uniformly within each interval; "midpoint" always chooses the midpoint.

Y

Optional point-valued response. Supply it when you wish to keep the observed mean response but still resample within Y_low/Y_high for the stability steps.

...

Additional arguments forwarded to selector.

Value

See sb_beta(). The returned object carries the same "sb_beta"-class attributes describing the correlation thresholds, resampling diagnostics, selector, and number of replicates.

Examples


set.seed(1)
sim <- simulation_DATA.beta(n = 120, p = 5, s = 2)
y_low <- pmax(sim$Y - 0.05, 0)
y_high <- pmin(sim$Y + 0.05, 1)
interval_fit <- sb_beta_interval(
  sim$X,
  Y_low = y_low,
  Y_high = y_high,
  B = 5,
  step.num = 0.4
)
attr(interval_fit, "interval")
#> [1] "uniform"