wrfhydropy.Evaluation.contingency¶
-
Evaluation.contingency(self, threshold:Union[float, str], time_window:str=None, mod_col:str='modeled', obs_col:str='observed', group_by:Union[list, str]=None, inf_as_na:bool=True, decimals:int=2)[source]¶ Calculate contingency statistics
Accuracy (acc, fraction correct) = (hits + correct_negatives)/total Bias score (bias, frequency bias) = (hits + false_alarms)/(hits + misses) Probability of detection (pod, hit rate) = hits/(hits + misses) False alarm ratio (far) = false_alarms/(hits + false_alarms) Probability of false detection (pofd, false alarm rate) = false_alarms/(false_alarms + correct_negatives) Success ratio (sr) = hits/(hits + false_alarms) Critical success index (csi, threat score) = hits/(hits + misses + false_alarms) Gilbert skill score (gss, Equitable threat score) = (hits - hits_random)/(hits + misses + false_alarms - hits_random) where hits_random = ((hits + misses)*(hits + false_alarms))/total Hanssen and Kuipers discriminant (hk, Peirce’s skill score) = (hits/( hits+misses)) - (false_alarms/(false_alarms + correct_negatives)) Odds ratio (or) = (POD/(1-POD))/(POFD/(1-POFD)) Odds ratio skill score (orss, Yule’s Q) = ((hits * correct_negatives) - (misses * false_alarms))/((hits * correct_negatives) + (misses * false_alarms)
Parameters: - threshold – The threshold value for contingency stats or column name
- in self.data containing threshold value. The first value of the
- column will be used as the threshold value.
- TODO JLM – I Do NOT love an entire column where a single value is used. I guess this allows different thresholds for different groups within the data.frame.
- time_window – Calculate contingency statistics over a moving
- time window of specified width in seconds (‘s’), hours (‘h’)
- or days (‘d’)
- mod_col – Column name of modelled data
- obs_col – Column name of observed data
- group_by – Column names to group by prior to calculating statistics
- inf_as_na – convert inf values to na?
- decimals – round stats to specified decimal places
Returns: Pandas dataframe containing contingency statistics