cleverly.validation.EmpiricalInclusionRule#
- class cleverly.validation.EmpiricalInclusionRule(alpha: float = 0.05, minimum_draws: int = 40, failure_policy: Literal['fail'] = 'fail')[source]#
Declare a two-sided empirical inclusion rule for generated outcomes.
- Parameters:
- alpha
float Two-sided tail probability.
- minimum_draws
int Minimum successful draw count needed to apply the empirical rule. The rule refuses a count below
2 / alpha, where the declared level is unreachable.- failure_policy{“fail”}
Policy for a failed refit. The first catalog always fails if any refit fails.
- alpha
Methods#
- EmpiricalInclusionRule.evaluate(values: Sequence[float], truth: float, failures: Sequence[ReplicationFailure]) tuple[bool, float | None, str][source]#
Apply the declared draw-count, failure, and empirical-tail gates.
- Parameters:
- valuessequence
offloat Successful refitted estimates.
- truth
float Declared process effect.
- failuressequence
ofReplicationFailure Failed refits retained by the operation.
- valuessequence
- Returns:
- EmpiricalInclusionRule.pvalue(values: Sequence[float], truth: float) float[source]#
Return a two-sided empirical rank p-value with inclusive half-ties.
- Parameters:
- Returns:
floatTwo-sided empirical rank probability. An empty sample returns
0.0, which is a rank over nothing rather than a rejection.evaluate()reportsNonefor that case, and it is the value a report carries.
Attributes#
- EmpiricalInclusionRule.minimum_draw_count#
Return the minimum successful draw count under this rule.