fitMOSlognormal {ensembleMOS} | R Documentation |
Log-normal EMOS model fit to a training set
Description
Fits a log-normal EMOS model to a given training set.
Usage
fitMOSlognormal(ensembleData, control = controlMOSlognormal(),
exchangeable = NULL)
Arguments
ensembleData |
An |
control |
A list of control values for the fitting functions specified via the function controlMOSlognormal. For details and default values, see controlMOSlognormal. |
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 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.
Value
A list with the following output components:
a |
The fitted intercept. |
B |
The fitted EMOS coefficients. |
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
,
ensembleMOSlognormal
,
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")
windTrain <- trainingData(windTestData, trainingDays = 30,
date = "2008010100")
windTestFit <- fitMOSlognormal(windTrain)