Skip to content

feat: Median±MAD and Mean±STDEV stat pairs in Fitted Parameters table #21

Description

@ahmadomira

Summary

Add aggregated statistics across all accepted fits to the Fitted Parameters table. Today the table shows Value (= median of accepted fits) and ± Uncertainty (optimiser) (which is actually the MAD, median absolute deviation). Display two clearly-labelled stat pairs per parameter — Median ± MAD (robust) and Mean ± STDEV (classical) — computed from the already-stored accepted-fit pool (FitResult.parameter_samples, no re-fit). Add an info-box note explaining that MAD ≠ STDEV (for a clean Gaussian pool STDEV ≈ 1.48×MAD; they diverge with outliers/skew), and an interpretation aid for the user.

Source

Reported via the fitting-app feedback channel.

Acceptance criteria

  • Table shows Median ± MAD and Mean ± STDEV pairs per parameter, in both average and per-replica modes.
  • Mean and STDEV are computed from FitResult.parameter_samples (no re-fitting).
  • Info-box text explains MAD vs STDEV and when each is appropriate.
  • Unit test for the mean/STDEV aggregation; uv run ruff check / format clean.

Scope & file boundaries

Package A (independent). Touch only:

  • gui/plotting/fit_summary_widget.py
  • (optional) pure helpers compute_mean_params / compute_std_params in core/optimizer/filters.py

Must NOT modify plot_widget.py, distribution_widget.py, fit_pipeline.py, or fitting_session.py (owned by other packages).

Parallelization

Independent — runs in parallel with packages B, C, D.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestparallel-batchPart of a parallel work-package batch

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions