scoringrules.vrgksmv_ensemble

scoringrules.vrgksmv_ensemble#

scoringrules.vrgksmv_ensemble(obs: Array, fct: Array, w_func: Callable[[ArrayLike], ArrayLike], m_axis: int = -2, v_axis: int = -1, *, ens_w: Array = None, backend: Backend = None) Array#

Compute the Vertically Re-scaled Gaussian Kernel Score (vrGKS) for a finite multivariate ensemble.

Computation is performed using the ensemble representation of vertically re-scaled kernel scores in [Allen et al. (2022)](https://arxiv.org/abs/2202.12732):

\[\begin{split}\begin{aligned} \mathrm{vrGKS}(F_{ens}, \mathbf{y}) = & - \frac{1}{M} \sum_{m = 1}^{M} k(\mathbf{x}_{m}, \mathbf{y}) w(\mathbf{x}_{m}) w(\mathbf{y}) \\ & + \frac{1}{2 M^{2}} \sum_{m = 1}^{M} \sum_{j = 1}^{M} k(\mathbf{x}_{m}, \mathbf{x}_{j}) w(\mathbf{x}_{m}) w(\mathbf{x}_{j}) + \frac{1}{2} k(\mathbf{y}, \mathbf{y})w(\mathbf{y})w(\mathbf{y}), \end{aligned}\end{split}\]

where \(F_{ens}\) is the ensemble forecast \(\mathbf{x}_{1}, \dots, \mathbf{x}_{M}\) with \(M\) members, \(w\) is the weight function used to target particular outcomes, and

\[k(x_{1}, x_{2}) = \exp \left(- \frac{ \| x_{1} - x_{2} \| ^{2}}{2} \right),\]

is the multivariate Gaussian kernel, with :math:` | cdot |` the Euclidean norm.

Parameters:
obsarray_like

The observed values, where the variables dimension is by default the last axis.

fctarray_like

The predicted forecast ensemble, where the ensemble dimension is by default represented by the second last axis and the variables dimension by the last axis.

w_funccallable, array_like -> array_like

Weight function used to emphasise particular outcomes.

m_axisint

The axis corresponding to the ensemble dimension. Defaults to -2.

v_axisint or tuple of ints

The axis corresponding to the variables dimension. Defaults to -1.

ens_warray_like

Weights assigned to the ensemble members. Array with one less dimension than fct (without the v_axis dimension). Default is equal weighting. Weights are normalised so that they sum to one across the ensemble members.

backend: str

The name of the backend used for computations. Defaults to ‘numba’ if available, else ‘numpy’.

Returns:
scorearray_like

The computed Vertically Re-scaled Gaussian Kernel Score.