pystra.active_learning.stopping.BetaStability#

Use it: User guide · Worked example · Theory

class BetaStability(*, tolerance=0.005, consecutive=3, target_cov=0.1)[source]#

Bases: StoppingCriterion

Require small relative changes in beta across consecutive enrichments.

The criterion is abs(beta_current - beta_previous) / abs(beta_current) <= tolerance. Defaults (0.005, 3 consecutive changes) follow Moustapha et al. (2022), Eq. (3), requiring at least four fits. Nonfinite indices and current beta == 0 do not pass. Absolute denominators also support negative beta. target_cov defaults to 0.1 for the final sample.

A stable biased surrogate may pass. Combine this policy with BetaBounds or LearningThreshold and independently validate the true failure region.

Methods

accepts_estimate

Require an interior probability and adequate finite sampling CoV.

should_stop

Require the relative-change test on every consecutive fit pair.

should_stop(history)[source]#

Require the relative-change test on every consecutive fit pair.

Return type:

bool

accepts_estimate(estimate)#

Require an interior probability and adequate finite sampling CoV.

Return type:

bool