climpred.metrics._get_norm_factor¶
- climpred.metrics._get_norm_factor(comparison)[source]¶
Get normalization factor for normalizing distance metrics.
A distance metric is normalized by the standard deviation or variance of the verification product. The goal of a normalized distance metric is to get a constant and comparable value of typically 1 (or 0 for metrics defined as 1 - metric), when the metric saturates and the predictability horizon is reached.
To directly compare skill between different comparisons used, a factor is added in the normalized metric formula, see Seferian et al. 2018. For example, NRMSE gets smaller in comparison
m2e
thanm2m
by design, because the ensemble mean is always closer to individual ensemble members than ensemble members to each other.Note
This is used for NMSE, NRMSE, MSSS, NMAE.
- Parameters
comparison (class) – comparison class.
- Returns
normalization factor.
- Return type
fac (int)
- Raises
KeyError – if comparison is not matching.
Example
>>> # check skill saturation value of roughly 1 for different comparisons >>> for c in ['m2m', 'm2e', 'm2c', 'e2c']: ... s = PerfectModelEnsemble.verify(metric='nrmse', dim=None, comparison=c) ... s.tos.plot(label='nrmse {c}') [...
- Reference:
Séférian, Roland, Sarah Berthet, and Matthieu Chevallier. “Assessing the Decadal Predictability of Land and Ocean Carbon Uptake.” Geophysical Research Letters, March 15, 2018. https://doi.org/10/gdb424.