Skip to content

GSUA-CSB v1.9

Latest

Choose a tag to compare

@drojasd drojasd released this 29 Jul 04:08

Note: v1.8 was built but never published as its own release; this release covers both v1.8's and v1.9's changes together.

v1.9 — NaN-tolerant multi-objective cost function

  • gsua_pe's fmincon-family cost path (gsua_costf, and the regulator calculation) now ignores NaN per output row instead of letting a single NaN in ydata poison the scalar cost for every row. Needed for multi-output joint fits where different signals have independently gappy real-world data (e.g. case-count time series fit jointly against a field-sampled biological measurement with its own missing-period pattern).
  • New gsua_corr2omitnan helper: NaN-tolerant 2-D correlation coefficient, used internally by gsua_costf.
  • Verified byte-identical to the pre-fix formula when ydata has no NaN — this is a behavior extension, not a behavior change, for existing callers.
  • New regression test suite in tests/.

v1.8 — Practical identifiability pipeline fixes

  • gsua_ia/gsua_dia gained a parameterized, data-driven fit-quality filter (new 'cost' option: fixed-tolerance rtol or automatic-gap gap cutoff, with a min_keep floor) to screen out bad-fit multistart runs before any statistic — correlation, confidence interval, cluster assignment — is computed from them.
  • Fixed an ordering bug: multivariate outlier detection now runs after multi-modal clustering, not before. The old order could delete a genuine second cluster of global minima by treating it as an "outlier" relative to the pooled mean/covariance across both basins.
  • New gsua_costcutoff helper implementing the shared cutoff logic behind the 'cost' option.

This is a draft release — the packaged .mltbx is attached for review. Publishing it live will auto-sync to MATLAB File Exchange, so it's left unpublished pending explicit confirmation.