fitMOSnormal {ensembleMOS} | R Documentation |
Gaussian (normal) EMOS model fit to a training set
Description
Fits a Gaussian (normal) EMOS model to a given training set.
Usage
fitMOSnormal(ensembleData, control = controlMOSnormal(),
exchangeable = NULL)
Arguments
ensembleData |
An |
control |
A list of control values for the fitting functions specified via the function controlMOSnormal. For details and default values, see controlMOSnormal. |
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 |
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:
a |
The fitted intercept. |
B |
The fitted EMOS coefficients. |
c , d |
The fitted variance parameters, 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
,
ensembleMOSnormal
,
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")
tempTrain <- trainingData(tempTestData, trainingDays = 30,
date = "2008010100")
tempTrainFit <- fitMOSnormal(tempTrain)