ensembleMOSnormal {ensembleMOS} | R Documentation |
Gaussian (normal) EMOS modeling
Description
Fits a Gaussian (normal) EMOS model to ensemble forecasts for specified dates.
Usage
ensembleMOSnormal(ensembleData, trainingDays, consecutive = FALSE,
dates = NULL, control = controlMOSnormal(),
warmStart = FALSE, exchangeable = NULL)
Arguments
ensembleData |
An |
trainingDays |
An integer giving the number of time steps (e.g. days) in the training period. There is no default. |
consecutive |
If |
dates |
The dates for which EMOS forecasting models are desired.
By default, this will be all dates in |
control |
A list of control values for the fitting functions specified via the function controlMOSnormal. For details and default values, see controlMOSnormal. |
warmStart |
If |
exchangeable |
A numeric or character vector or factor indicating groups of
ensemble members that are exchangeable (indistinguishable).
The modeling will have equal parameters within each group.
The default determines exchangeability from |
Details
Given an ensemble of size m
: X_1, \ldots , X_m
, the
following Gaussian model is fit by ensembleMOSnormal
:
Y ~ N(a + b_1 X_1 + ... + b_m X_m , c + dS^2).
B
is a vector of fitted regression coefficients: b_1,
\ldots ,b_m
. Specifically, a,b_1,\ldots , b_m, c, d
are
fitted to optimize
control$scoringRule
over the specified training period using
optim
with method = control$optimRule
.
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. |
c , d |
Vectors of the fitted variance parameters for each date, see details. |
References
T. Gneiting, A. E. Raftery, A. H. Westveld and T. Goldman, Calibrated probabilistic forecasting using ensemble model output statistics and minimum CRPS estimation. Monthly Weather Review 133:1098–1118, 2005.
See Also
controlMOSnormal
,
fitMOSnormal
Examples
data("ensBMAtest", package = "ensembleBMA")
ensMemNames <- c("gfs","cmcg","eta","gasp","jma","ngps","tcwb","ukmo")
obs <- paste("T2", "obs", sep = ".")
ens <- paste("T2", ensMemNames, sep = ".")
tempTestData <- ensembleData(forecasts = ensBMAtest[,ens],
dates = ensBMAtest[,"vdate"],
observations = ensBMAtest[,obs],
station = ensBMAtest[,"station"],
forecastHour = 48,
initializationTime = "00")
tempTestFit <- ensembleMOSnormal(tempTestData, trainingDays = 25)