pymixef.diagnostics module¶
Diagnostic calculations that return data before presentation.
- class pymixef.diagnostics.DiagnosticTable(name, columns, metadata=<factory>)[source]¶
Bases:
objectA tidy, serializable numeric diagnostic table with calculation metadata.
- Parameters:
name (str)
columns (Mapping[str, ndarray])
metadata (Mapping[str, Any])
- name: str¶
- columns: Mapping[str, ndarray]¶
- metadata: Mapping[str, Any]¶
- class pymixef.diagnostics.GroupInfluenceResult(table, failures, group_column, requested_groups)[source]¶
Bases:
objectDelete-whole-group refits with optional approximation comparisons.
- Parameters:
table (DiagnosticTable)
failures (tuple[Mapping[str, Any], ...])
group_column (str)
requested_groups (int)
- table: DiagnosticTable¶
- failures: tuple[Mapping[str, Any], ...]¶
- group_column: str¶
- requested_groups: int¶
- property successful_groups: int¶
Number of grouping levels with a completed full refit.
- property failed_groups: int¶
Number of grouping levels whose full refit failed.
- pymixef.diagnostics.group_influence(fit_function, data, *, group, baseline=None, approximation=None)[source]¶
Measure influence by deleting complete grouping levels and refitting.
fit_functionreceives a column mapping and must return a fit-like object withparameters, finiteobjective,convergence, and an archivedfixed_effect_rankin convergence engine metrics or result extras;parameter_covarianceis optional. Ifbaselineis omitted, the callback first fits the full data. Every subsequent callback receives all rows except one complete grouping level—individual rows are never deleted in isolation.An optional
approximation(group_value, baseline)callback can return approximate delete-group parameter estimates. The result then records the approximation error beside the full-refit change, making the approximation auditable rather than silently substituting it for a refit.- Parameters:
fit_function (Callable[[Mapping[str, ndarray]], Any])
data (Any)
group (str)
baseline (Any | None)
approximation (Callable[[Any, Any], Mapping[str, float]] | None)
- Return type:
- pymixef.diagnostics.residual_table(observed, fitted, *, variance=None, row_ids=None, groups=None)[source]¶
Calculate raw and Pearson residuals with source-row reconciliation.
- Parameters:
observed (Sequence[float])
fitted (Sequence[float])
variance (Sequence[float] | float | None)
row_ids (Sequence[Any] | None)
groups (Sequence[Any] | None)
- Return type:
- pymixef.diagnostics.vpc_table(observed, simulated, *, independent=None, bins='adaptive', quantiles=(0.05, 0.5, 0.95), seed=None, prediction_corrected=False)[source]¶
Compute an ordinary or prediction-corrected VPC as a tidy table.
simulatedis shaped(replicate, observation). Simulation-interval bounds are empirical 2.5% and 97.5% quantiles of within-replicate quantiles.- Parameters:
observed (Sequence[float])
simulated (ndarray)
independent (Sequence[float] | None)
bins (str | int | Sequence[float])
quantiles (Sequence[float])
seed (int | None)
prediction_corrected (bool)
- Return type: