As of now there is no mapping of permuted agreement encodings to categorical statistic.
For all available parameters in metrics, e.g. (tp, tn, fp, fn) have a permutation of all available arguments
import itertools
from gval.statistics.categorical_statistics import CategoricalStatistics
# Example higher abstraction calling all metric functions
cat_stat = CategoricalStatistics
params = cat_stat.get_all_parameters()
len_params = len(params)
# Hypothetical counts
counts = [120, 30, 11, 13, 20]
# Permute through all combinations of tp, tn, fp, and fn given counts
# Given 4 params and 5 choices there will be 120 different combinations
tiled_counts = np.tile(counts, (len_params, 1))
arg_dicts = [{key: val for key, val in zip(params, combo)}
for combo in itertools.product(*tiled_counts)
if len(np.unique(combo)) == len_params]