toymodel: Create Example Forecast-Observation Pairs

View source: R/toymodel.R

toymodelR Documentation

Create Example Forecast-Observation Pairs

Description

This toy model lets you create forecast-observation pairs with specified ensemble and forecast size, correlation skill, and overconfidence (underdispersion) for application with the verification functionality provided as part of the easyVerification package.

Usage

toymodel(N = 35, nens = 51, alpha = 0.5, beta = 0)

toyarray(dims = c(10, 5), ...)

Arguments

N

number of forecast instances

nens

number of ensemble members

alpha

nominal correlation skill of forecasts

beta

overconfidence parameter (see details)

dims

independent (e.g. spatial) dimensions for the toy model

...

additional arguments passed to toymodel

Details

The toy model is the TM2 model as introduced by Weigel and Bowler (2009) with a slight modification to allow for forecasts with negative correlation skill. In this toy model, the observations x and forecasts f_i are defined as follows:

x = \mu_x + \epsilon_x

f_i = \alpha / |\alpha| \mu_x + \epsilon_{\beta} + \epsilon_i

where

\mu_x ~ N(0, \alpha^2)

\epsilon_x ~ N(0, 1 - \alpha^2)

\epsilon_{\beta} ~ N(0, \beta^2)

\epsilon_i ~ N(0, 1 - \alpha^2 - \beta^2)

\alpha^2 \le 1

0 \le \beta \le 1 - \alpha^2

Note

This toy model is intended to provide example forecast observation pairs and not to serve as a conceptual model to study real forecasts. For models to do the latter, please refer to Siegert et al. (2015).

References

A. Weigel and N. Bowler (2009). Comment on 'Can multi-model combination really enhance the prediction skill of probabilistic ensemble forecasts?'. Quarterly Journal of the Royal Meteorological Society, 135, 535-539.

S. Siegert et al. (2015). A Bayesian framework for verification and recalibration of ensemble forecasts: How uncertain is NAO predictability? Preprint on ArXiv, https://arxiv.org/abs/1504.01933.

Examples

## compute the correlation for a toy forecast with default parameters
tm <- toyarray()
f.corr <- veriApply("EnsCorr", fcst = tm$fcst, obs = tm$obs)


easyVerification documentation built on Aug. 15, 2023, 9:06 a.m.