mescla.uncertainty.identifiability.sigma_sweep

mescla.uncertainty.identifiability.sigma_sweep(endmembers, samples, sd_endmembers=None, sd_samples=None, factors=(0.1, 0.5, 1.0, 2.0, 10.0), estimator=None)[source]

Re-estimate with the end-member sigmas scaled up and down.

Assigning standard deviations is a modelling decision that materially changes the answer, so it has to be shown rather than buried. This is the sweep behind the MIX_1 / MIX_2 comparison in Tubau et al. (2014): same data, different variances, different end-members.

Report this table. If the mean contributions move by more than a few percent across the sweep, the variance assumptions are doing the work, not the data.

Parameters:
  • factors (tuple of float) – Multipliers applied to sd_endmembers.

  • estimator (callable, optional) – estimator(endmembers, samples, sd_e, sd_y) -> MixingResult. Defaults to mix_ml().

  • endmembers (Any)

  • samples (Any)

  • sd_endmembers (Any)

  • sd_samples (Any)

Returns:

DataFrame – One row per factor, with the mean contribution of each end-member and the largest change in any single ratio relative to the unscaled run.

Return type:

pd.DataFrame