pysteps.verification.detcontscores.det_cont_fct

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: dict

Dictionary containing the verification results.

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.