ensembleMOSlognormal {ensembleMOS} | R Documentation |
Log-normal EMOS modeling
Description
Fits a log-normal EMOS model to ensemble forecasts for specified dates.
Usage
ensembleMOSlognormal(ensembleData, trainingDays, consecutive = FALSE,
dates = NULL, control = controlMOSlognormal(),
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 log-normal model is fit by ensembleMOSlognormal
:
Y ~ LN(\mu, \sigma)
where LN
denotes the log-normal distrbution with meanlog
parameter \mu
and scalelog
parameter \sigma
, see
Lognormal. The model is parametrized such that the mean value of
the log-normal distribution is a linear function a + b_1 X_1 + \ldots + b_m X_m
of the ensemble forecats, and the variance is a linear function
c + d S^2
. For transformations between \mu, \sigma
and mean
and variance of the log-normal distribution, see Baran and Lerch (2015).
See ensembleMOSlognormal for details.
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 variance, see details. |
References
S. Baran and S. Lerch, Log-normal distribution based Ensemble Model Output Statistics models for probabilistic wind-speed forecasting. Quarterly Journal of the Royal Meteorological Society 141:2289–2299, 2015.
See Also
controlMOSlognormal
,
fitMOSlognormal
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")
windTestFitLN <- ensembleMOSlognormal(windTestData, trainingDays = 25)