Learn R Programming

ensembleBMA (version 2.0)

ensembleBMAnormal: BMA mixture of normals modeling for ensemble forecasts.

Description

Fits a Bayesian Model Averaging mixture of normals to ensemble forecasts.

Usage

ensembleBMAnormal(ensembleData, dates = NULL, 
                  trainingRule = list(length=30, lag=2), 
                  control = controlBMAnormal(), warmStart = FALSE, minCRPS = FALSE)

Arguments

ensembleData
An ensembleData object including ensemble forecasts, observations and dates of precipitation.
dates
The dates for which modeling is desired. By default, this will include all dates consistent with the training rule.
trainingRule
A list giving the length and lag for the training period. The default is to use a 30 time step training period for a forecast 2 time steps ahead of the last time step in the training period.
control
A list of control values for the fitting functions. The defaults are given by the function controlBMAnormal.
warmStart
A logical variable indicating whether or not estimation of models for a sequence of dates or time steps should be initialized with the weights from the previous date or time step. The default is for the initilaizatiin to be independent of
minCRPS
A logical variable indicating whether or not to add a postprocessing step after the BMA fit to choose the standard deviation so as to minimize the CRPS. The default is not to do the CRPS minimization, which can add considerable extra cost t

Value

  • A list with the following output components:
  • dateTableThe table of observations corresponding to the dates in ensembleData in chronological order.
  • trainingRuleThe training rule specified as input.
  • biasCoefsThe fitted bias-correction coefficients at each date.
  • sdThe fitted standard deviations for the mixture of normals model at each date.
  • weightsThe fitted weights for the mixture of normals modelat each date.

Details

The output is for all of the dates in ensembleData, so there will be missing entries denoted by NA for dates that are too recent to be forecast with the training rule. The following methods are available for ensembleBMAnormal objects: gridForecastBMA, quantileForecastBMA, bmaModelParameters, brierSkillScores, and crpsANDmae.

References

A. E. Raftery, T. Gneiting, F. Balabdaoui and M. Polakowski, Using Bayesian Model Averaging to Calibrate Forecast Ensembles, Monthly Weather Review 133:1155-1174, 2005.

See Also

ensembleData, forecastBMAnormal, controlBMAnormal, fitBMAnormal, gridForecastBMA, quantileForecastBMA, bmaModelParameters, brierSkillScores, crpsANDmae

Examples

Run this code
data(slp)

  slpData <- ensembleData(forecasts = slp[c("AVN","GEM","ETA","NGM","NOGAPS")],
                          observations = slp$obs, dates = slp$date)

  slpFit <- ensembleBMAnormal( slpData, minCRPS = TRUE)

Run the code above in your browser using DataLab