mescla.emma.endmembers.suggest_endmembers

mescla.emma.endmembers.suggest_endmembers(U_samples, U_candidates, n_endmembers, labels=None, max_combinations=20000)[source]

Rank every combination of candidates by how well it bounds the samples.

Exhaustive over combinations, which is affordable for the handful of candidates a real study has. Ranks first by the fraction of samples enclosed, then by the volume of the simplex – among sets that enclose everything, the tightest is the least presumptuous.

This suggests; it does not decide. An end-member has to be a water that exists and that your conceptual model can name.

Parameters:
  • U_samples (np.ndarray)

  • U_candidates (np.ndarray)

  • n_endmembers (int)

  • labels (tuple[str, ...] | None)

  • max_combinations (int)

Return type:

pd.DataFrame