ensembleMOStruncnormal {ensembleMOS} | R Documentation |
Truncated normal EMOS modeling
Description
Fits a truncated normal EMOS model to ensemble forecasts for specified dates.
Usage
ensembleMOStruncnormal(ensembleData, trainingDays, consecutive = FALSE,
dates = NULL, control = controlMOStruncnormal(),
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 controlMOStruncnormal. For details and default values, see controlMOStruncnormal. |
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 truncated normal model is fit by ensembleMOStruncnormal
:
Y ~ N_0(a + b_1 X_1 + ... + b_m X_m, c + dS^2),
where N_0
denotes the normal distribution truncated at zero,
with location a + b_1 X_1 + ... + b_m X_m
and squared scale
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 |
The fitted parameters for the squared scale, see details. |
References
T. L. Thorarinsdottir and T. Gneiting, Probabilistic forecasts of wind speed: Ensemble model output statistics by using heteroscedastic censored regression. Journal of the Royal Statistical Society Series A 173:371–388, 2010.
See Also
controlMOStruncnormal
,
fitMOStruncnormal
Examples
data("ensBMAtest", package = "ensembleBMA")
ensMemNames <- c("gfs","cmcg","eta","gasp","jma","ngps","tcwb","ukmo")
obs <- paste("MAXWSP10","obs", sep = ".")
ens <- paste("MAXWSP10", ensMemNames, sep = ".")
windTestData <- ensembleData(forecasts = ensBMAtest[,ens],
dates = ensBMAtest[,"vdate"],
observations = ensBMAtest[,obs],
station = ensBMAtest[,"station"],
forecastHour = 48,
initializationTime = "00")
windTestFitTN <- ensembleMOStruncnormal(windTestData, trainingDays = 25)