pystra.active_learning.stopping.BetaBounds#

Use it: User guide · Worked example · Theory

class BetaBounds(*, tolerance=0.01, consecutive=3, target_cov=0.1)[source]#

Bases: StoppingCriterion

Require a small relative spread of surrogate-based beta endpoints.

The criterion is (beta_upper - beta_lower) / abs(beta) <= tolerance for consecutive fits. Defaults (0.01, 3) and the +/-2 std prediction bands follow Moustapha et al. (2022), Eq. (2). Nonfinite bands and beta == 0 do not pass. Using abs(beta) extends the denominator to probabilities above one half; it is unchanged in the paper’s positive-beta regime.

For bootstrap surrogates the band is only a spread sensitivity diagnostic; it is not a Gaussian confidence band. target_cov defaults to 0.1.

Methods

accepts_estimate

Require an interior probability and adequate finite sampling CoV.

should_stop

Require the beta-band test on every fit in the trailing window.

should_stop(history)[source]#

Require the beta-band test on every fit in the trailing window.

Return type:

bool

accepts_estimate(estimate)#

Require an interior probability and adequate finite sampling CoV.

Return type:

bool