egttools.numerical.StationaryIndicatorResult

class StationaryIndicatorResult(mean, confidence_interval, nb_runs_used, converged, per_run_values=None)[source]

Bases: object

Result of PairwiseComparisonNumerical.estimate_stationary_indicators.

mean

Grand mean across all completed runs, shape (nb_indicators,).

Type:

np.ndarray

confidence_interval

(low, high) non-parametric bootstrap confidence interval at the requested confidence level, each of shape (nb_indicators,). No normality assumption is made; this is appropriate for skewed or bimodal indicator distributions (e.g. rare-event group success).

Type:

tuple[np.ndarray, np.ndarray]

nb_runs_used

Number of simulation runs actually completed. Less than nb_runs when tolerance-based early stopping triggered.

Type:

int

converged

True if the simulation stopped early because the L1 norm of the change in column-means between consecutive batches fell below tolerance.

Type:

bool

per_run_values

Raw per-run means of shape (nb_runs_used, nb_indicators) when verbose=True, otherwise None. Use this for custom downstream statistics (quantiles, KDE, empirical CDF, etc.).

Type:

np.ndarray or None

Methods

Attributes

__eq__(other)

Return self==value.

__init__(mean, confidence_interval, nb_runs_used, converged, per_run_values=None)
__repr__()

Return repr(self).

__annotations__ = {'confidence_interval': 'tuple[np.ndarray, np.ndarray]', 'converged': 'bool', 'mean': 'np.ndarray', 'nb_runs_used': 'int', 'per_run_values': 'np.ndarray | None'}
__dataclass_fields__ = {'confidence_interval': Field(name='confidence_interval',type='tuple[np.ndarray, np.ndarray]',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'converged': Field(name='converged',type='bool',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'mean': Field(name='mean',type='np.ndarray',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'nb_runs_used': Field(name='nb_runs_used',type='int',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'per_run_values': Field(name='per_run_values',type='np.ndarray | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__hash__ = None
__match_args__ = ('mean', 'confidence_interval', 'nb_runs_used', 'converged', 'per_run_values')
confidence_interval: tuple[ndarray, ndarray]
converged: bool
mean: ndarray
nb_runs_used: int
per_run_values: ndarray | None = None