latent.stats.ordinal¶
Ordinal score handling: binarization, distribution, median CI, cumulative proportions.
Functions¶
binarize¶
Convert ordinal scores to binary (1 if >= threshold, else 0).
Args: scores: 1D array of ordinal scores. threshold: The minimum passing score.
Returns: Float array of 0.0/1.0 values.
cumulative_proportions¶
cumulative_proportions(scores: np.ndarray, scale: list[int], n_resamples: int = 10000, confidence_level: float = 0.95, seed: int | None = None) -> dict[int, MetricResult]
Compute cumulative proportions (% >= level) for each level in scale.
Args: scores: 1D array of ordinal scores. scale: List of ordinal levels (e.g. [1, 2, 3, 4, 5]). n_resamples: Number of bootstrap resamples. confidence_level: Confidence level for intervals. seed: Random seed for reproducibility.
Returns: Dict mapping each level to a MetricResult with the cumulative proportion and bootstrap CI.
median_ci¶
median_ci(scores: np.ndarray, n_resamples: int = 10000, confidence_level: float = 0.95, seed: int | None = None) -> tuple[int, int, int]
Bootstrap CI on the median for ordinal data.
Args: scores: 1D array of ordinal scores. n_resamples: Number of bootstrap resamples. confidence_level: Confidence level for the interval. seed: Random seed for reproducibility.
Returns: Tuple of (median, ci_lower, ci_upper) as ints.
ordinal_distribution¶
ordinal_distribution(scores: np.ndarray, rubric: MetricRubric | None = None, metric_name: str = '', n_resamples: int = 10000, confidence_level: float = 0.95, seed: int | None = None) -> OrdinalDistribution
Compute full ordinal distribution with per-level proportions and CIs.
Args: scores: 1D array of ordinal scores. rubric: Metric rubric with scale, labels, and pass_threshold. If None, a default rubric is inferred from observed values. metric_name: Name for the metric (used in result objects). n_resamples: Number of bootstrap resamples. confidence_level: Confidence level for intervals. seed: Random seed for reproducibility.
Returns: OrdinalDistribution with pass rate, per-level proportions, median CI, and cumulative proportions.