ProportionGapTestScenario
Statistics scenarios · Implementation: mlsysim/engine/scenario_definitions/statistics.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
An observed gap between two rates, rate_a and rate_b, on n_per_group decisions each.
Tested with the pooled two-proportion z statistic against the two-sided normal critical value at significance; the interval is the unpooled normal-approximation interval at the same level.
Notes
Equation: Statistics helpers compute pooled z tests, unpooled gap intervals, and the inverse equal-size requirement.
Assumptions: Independent groups of equal size and sufficient counts for a normal approximation.
Excludes: Paired observations, multiplicity corrections, and small-sample exact inference.
References
Derivation: Statistics helpers compute pooled z tests, unpooled gap intervals, and the inverse equal-size requirement. Individual property contracts identify the exact accounting expression or reusable calculation. Registry entries supply the scenario inputs; this class does not turn them into measured outcomes.
Examples
Evaluate a named scenario using its declared inputs.
>>> from mlsysim import Scenarios
>>> scenario = Scenarios.LoanApprovalGapTest
>>> round(float(scenario.gap), 4)
0.3Attributes
| Name | Description |
|---|---|
| gap | Signed group-A minus group-B probability difference. |
| interval | Normal-approximation probability-gap interval at the configured group size. |
| n_at_critical | Equal per-group count at which the observed gap reaches the critical z value. |
| n_per_group | |
| pooled_rate | Mean of the two group rates under equal group sizes. |
| rate_a | |
| rate_b | |
| significance | |
| small_n_per_group | |
| z | Pooled two-proportion z statistic at the configured equal group size. |
| z_critical | Standard-normal critical value for the supplied two-sided significance level. |
Methods
| Name | Description |
|---|---|
| interval_at | Normal-approximation probability-gap interval at n independent decisions per group. |
| z_at | Pooled two-proportion z statistic using n independent decisions per group. |
interval_at
engine.scenario_types.ProportionGapTestScenario.interval_at(n)Normal-approximation probability-gap interval at n independent decisions per group.
Equation: calc_proportion_gap_interval(rate_a, rate_b, n, n, z_critical).
z_at
engine.scenario_types.ProportionGapTestScenario.z_at(n)Pooled two-proportion z statistic using n independent decisions per group.
Equation: calc_two_proportion_z(rate_a, rate_b, n, n).
rate_a
Type: float.
Declared default: required.
rate_b
Type: float.
Declared default: required.
n_per_group
Type: int.
Declared default: required.
significance
Type: float.
Declared default: 0.05.
small_n_per_group
Type: Optional[int].
Declared default: None.
gap
engine.scenario_types.ProportionGapTestScenario.gap
Signed group-A minus group-B probability difference.
Equation: rate_a - rate_b.
pooled_rate
engine.scenario_types.ProportionGapTestScenario.pooled_rate
Mean of the two group rates under equal group sizes.
Equation: (rate_a + rate_b) / 2.
z_critical
engine.scenario_types.ProportionGapTestScenario.z_critical
Standard-normal critical value for the supplied two-sided significance level.
Equation: NormalDist().inv_cdf(1 - significance / 2).
z
engine.scenario_types.ProportionGapTestScenario.z
Pooled two-proportion z statistic at the configured equal group size.
Equation: z_at(n_per_group).
interval
engine.scenario_types.ProportionGapTestScenario.interval
Normal-approximation probability-gap interval at the configured group size.
Equation: interval_at(n_per_group).
n_at_critical
engine.scenario_types.ProportionGapTestScenario.n_at_critical
Equal per-group count at which the observed gap reaches the critical z value.
Per-group sample size at which this gap first reaches the critical value.
Equation: calc_equal_n_for_z(rate_a, rate_b, z_critical).