pysteps.verification.detcontscores.det_cont_fct

Contents

pysteps.verification.detcontscores.det_cont_fct#

pysteps.verification.detcontscores.det_cont_fct(pred, obs, scores='', axis=None, conditioning=None, thr=0.0)#

Calculate simple and skill scores for deterministic continuous forecasts.

Parameters:
  • pred (array_like) – Array of predictions. NaNs are ignored.

  • obs (array_like) – Array of verifying observations. NaNs are ignored.

  • scores ({string, list of strings}, optional) –

    The name(s) of the scores. The default, scores=””, will compute all available scores. The available score names are:

    Name

    Description

    beta1

    linear regression slope (type 1 conditional bias)

    beta2

    linear regression slope (type 2 conditional bias)

    corr_p

    pearson’s correleation coefficien (linear correlation)

    corr_s*

    spearman’s correlation coefficient (rank correlation)

    DRMSE

    debiased root mean squared error

    MAE

    mean absolute error

    ME

    mean error or bias

    MSE

    mean squared error

    NMSE

    normalized mean squared error

    RMSE

    root mean squared error

    RV

    reduction of variance (Brier Score, Nash-Sutcliffe Efficiency)

    scatter*

    half the distance between the 16% and 84% percentiles of the weighted cumulative error distribution, where error = dB(pred/obs), as in Germann et al. (2006)

  • axis ({int, tuple of int, None}, optional) –

    Axis or axes along which a score is integrated. The default, axis=None, will integrate all of the elements of the input arrays.

    If axis is -1 (or any negative integer), the integration is not performed and scores are computed on all of the elements in the input arrays.

    If axis is a tuple of ints, the integration is performed on all of the axes specified in the tuple.

  • conditioning ({None, "single", "double"}, optional) – The type of conditioning used for the verification. The default, conditioning=None, includes all pairs. With conditioning=”single”, only pairs with either pred or obs > thr are included. With conditioning=”double”, only pairs with both pred and obs > thr are included.

  • thr (float) – Optional threshold value for conditioning. Defaults to 0.

Returns:

result – Dictionary containing the verification results.

Return type:

dict

Notes

Multiplicative scores can be computed by passing log-tranformed values. Note that “scatter” is the only score that will be computed in dB units of the multiplicative error, i.e.: 10*log10(pred/obs).

beta1 measures the degree of conditional bias of the observations given the forecasts (type 1).

beta2 measures the degree of conditional bias of the forecasts given the observations (type 2).

The normalized MSE is computed as NMSE = E[(pred - obs)^2]/E[(pred + obs)^2].

The debiased RMSE is computed as DRMSE = sqrt(MSE - ME^2).

The reduction of variance score is computed as RV = 1 - MSE/Var(obs).

Score names denoted by * can only be computed offline, meaning that the these cannot be computed using _init, _accum and _compute methods of this module.

References

Germann, U. , Galli, G. , Boscacci, M. and Bolliger, M. (2006), Radar precipitation measurement in a mountainous region. Q.J.R. Meteorol. Soc., 132: 1669-1692. doi:10.1256/qj.05.190

Potts, J. (2012), Chapter 2 - Basic concepts. Forecast verification: a practitioner’s guide in atmospheric sciences, I. T. Jolliffe, and D. B. Stephenson, Eds., Wiley-Blackwell, 11–29.