ensembleBMAnormal {ensembleBMA}R Documentation

BMA mixture of normals modeling

Description

Fits a Bayesian Model Averaging mixture of normals to ensemble forecasts. Allows specification of a training rule and forecasting dates.

Usage

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

Arguments

ensembleData An ensembleData object including ensemble forecasts, observations and dates of precipitation.
dates The dates for which forecasts are 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 initialization to be independent of the result at the previous time step.
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 for the training data. The default is not to do the CRPS minimization, which can add considerable extra cost to the computation, especially when unequal variances are specified in control.
exchangeable A numeric or character vector or factor indicating groups of ensemble members that are exchangeable (indistinguishable). The modeling will have equal weights and parameters within each group. The default determines exchangeability from ensembleData.

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: cdfBMA, quantileForecastBMA, bmaModelParameters, brierScore, crps and mae.

Value

A list with the following output components:

dateTable The table of observations corresponding to the dates in ensembleData in chronological order.
trainingRule The training rule specified as input.
biasCoefs The fitted bias-correction coefficients for each ensemble member at each date.
sd The fitted standard deviations for the mixture of normals model at each date.
weights The fitted BMA weights for the normal components for each ensemble member at each date.

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.

C. Fraley, A. E. Raftery, T. Gneiting and J. M. Sloughter, ensembleBMA: An R Package for Probabilistic Forecasting using Ensembles and Bayesian Model Averaging, Technical Report No. 516, Department of Statistics, University of Washington, August 2007.

See Also

ensembleData, controlBMAnormal, fitBMAnormal, cdfBMA, quantileForecastBMA, bmaModelParameters, brierScore, crps, mae

Examples

## Not run: 
  data(slpTest)

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

## Not run: 
  slpTestFit <- ensembleBMAnormal( slpTestData, model = "normal")
## End(Not run)

  slpTestFit <- ensembleBMAnormal( slpTestData)
## End(Not run)

[Package ensembleBMA version 2.1 Index]