Source code for huracanpy.assess._scores

"""Functions for score computation"""

import numpy as np


[docs] def pod(matches, ref, ref_name): """Probability of Detection Parameters ---------- matches : pandas.DataFrame The result from matching tracks to a reference dataset output from :func:`huracanpy.assess.match` ref : xarray.Dataset The original reference dataset before matching ref_name : str The name of the reference dataset in `matches` Returns ------- float """ n_detected = matches["id_" + ref_name].nunique() n_total = len(np.unique(ref.track_id.values)) return n_detected / n_total
[docs] def far(matches, detected, detected_name): """False Attribution Rate Parameters ---------- matches : pandas.DataFrame The result from matching tracks to a reference dataset output from :func:`huracanpy.assess.match` detected : xarray.Dataset The original dataset that was being matched to the reference detected_name : str The name of the original dataset in `matches` Returns ------- float """ n_matched = matches["id_" + detected_name].nunique() n_total = len(np.unique(detected.track_id.values)) return 1 - (n_matched / n_total)