diff --git a/video_prediction_tools/postprocess/statistical_evaluation.py b/video_prediction_tools/postprocess/statistical_evaluation.py index ad057b455192dccf4b7201277a130d2b747d39d1..fcb4d8e93a5ad6fe99c0210632e5f7e38df4f2ce 100644 --- a/video_prediction_tools/postprocess/statistical_evaluation.py +++ b/video_prediction_tools/postprocess/statistical_evaluation.py @@ -22,7 +22,14 @@ da_or_ds = Union[xr.DataArray, xr.Dataset] def calculate_cond_quantiles(data_fcst: xr.DataArray, data_ref: xr.DataArray, factorization="calibration_refinement", quantiles=(0.05, 0.5, 0.95)): - + """ + Calculate conditional quantiles of forecast and observation/reference data with selected factorization + :param data_fcst: forecast data array + :param data_ref: observational/reference data array + :param factorization: factorization: "likelihood-base_rate" p(m|o) or "calibration_refinement" p(o|m)-> default + :param quantiles: conditional quantiles + :return quantile_panel: conditional quantiles of p(m|o) or p(o|m) + """ method = calculate_cond_quantiles.__name__ # sanity checks @@ -64,6 +71,8 @@ def calculate_cond_quantiles(data_fcst: xr.DataArray, data_ref: xr.DataArray, fa # quantile-calculation quantile_panel.loc[dict(bin_center=bins_c[i])] = data_cropped.quantile(quantiles) + return quantile_panel, data_cond + def avg_metrics(metric: da_or_ds, dim_name: str): """ Averages metric over given dimension