Learn R Programming

ensembleMOS (version 0.8.2)

fitMOSgev0: Censored generalized extreme value distribution EMOS modeling

Description

Fits a censored generalized extreme value distribution EMOS model to a given training set.

Usage

fitMOSgev0(ensembleData, control = controlMOSgev0(),
           exchangeable = NULL)

Arguments

ensembleData

An ensembleData object including ensemble forecasts and verification observations. Missing values (indicated by NA) are allowed. Dates are ignored if they are included. This is the training set for the model.

control

A list of control values for the fitting functions specified via the function controlMOSgev0. For details and default values, see controlMOSgev0.

exchangeable

An optional numeric or character vector or factor indicating groups of ensemble members that are exchangeable (indistinguishable). The models have equal EMOS coefficients within each group. If supplied, this argument will override any specification of exchangeability in ensembleData.

Value

A list with the following output components:

training

A list containing information on the training length and lag and the number of instances used for training for each modeling date.

a

A vector of fitted EMOS intercept parameters for each date.

B

A matrix of fitted EMOS coefficients for each date.

s

A vector of fitted EMOS coefficients for \(p_0\) for each date, see details.

c,d

The fitted coefficients for the shape parameter, see details.

q

Fitted shape parameter, see details.

Details

Given an ensemble of size \(m\): \(X_1, \ldots , X_m\), the following generalized extreme value distribution EMOS model left-censored at 0 is fit by ensembleMOSgev0:

$$Y ~ GEV_0(\mu,\sigma,q)$$

where \(GEV_0\) denotes the generalized extreme value distribution left-censored at zero, with location \(\mu\), scale \(\sigma\) and shape \(q\). The model is parametrized such that the mean \(m\) is a linear function \(a + b_1 X_1 + \ldots + b_m X_m + s p_0\) of the ensemble forecats, where \(p_0\) denotes the ratio of ensemble forecasts that are exactly 0, and the shape parameter \(\sigma\) is a linear function of the ensemble variance \(c + d MD(X_1,\ldots,X_m)\), where \(MD(X_1,\ldots,X_m)\) is Gini's mean difference. See ensembleMOSgev0 for details.

B is a vector of fitted regression coefficients: \(b_1, \ldots, b_m\). Specifically, \(a, b_1,\ldots, b_m, s, c, d, q\) are fitted to optimize the mean CRPS over the specified training period using optim.

References

M. Scheuerer, Probabilistic quantitative precipitation forecasting using ensemble model output statistics. Quarterly Journal of the Royal Meteorological Society 140:1086--1096, 2014.

See Also

controlMOSgev0, ensembleMOSgev0,

Examples

Run this code
# NOT RUN {
data("ensBMAtest", package = "ensembleBMA")

ensMemNames <- c("gfs","cmcg","eta","gasp","jma","ngps","tcwb","ukmo")

obs <- paste("PCP24","obs", sep = ".")
ens <- paste("PCP24", ensMemNames, sep = ".")
prcpTestData <- ensembleData(forecasts = ensBMAtest[,ens],
                             dates = ensBMAtest[,"vdate"],
                             observations = ensBMAtest[,obs],
                             station = ensBMAtest[,"station"],
                             forecastHour = 48,
                             initializationTime = "00")

prcpTrain <- trainingData(prcpTestData, trainingDays = 30,
                             date = "2008010100")

prcpTestFit <- fitMOSgev0(prcpTrain)
# }

Run the code above in your browser using DataLab