Learn R Programming

ensembleBMA (version 5.1.8)

controlBMAnormal: Control parameters for BMA mixtures of normals

Description

Specifies a list of values controling the Bayesian Model Averaging fit of a mixture of normals to ensemble forecasts.

Usage

controlBMAnormal(maxIter, tol, equalVariance, biasCorrection, init)

Value

A list whose components are the input arguments and their assigned values.

Arguments

maxIter

An integer specifying an upper limit on the number of iterations for fitting the BMA mixture via EM. The default is Inf, which sets no upper limit on the number of iterations, so that the convergence criterion based on eps is used.

tol

A numeric convergence tolerance. The EM fit for the mixture model is terminated when the relative error in successive objective values in the M-step falls below tol. The default is sqrt(.Machine$double.eps), which is approximately 1.e-8 on IEEE compliant machines.

equalVariance

A logical value indicating whether or not the variances for the mixture components should to be equal. The default is to constrain them to be equal.

biasCorrection

A character string describing the type of bias correction to be used.

"regression"

The bias correction term is formed by regression on the forecast values (including an intercept).

"additive"

The mean of the difference between observations and forecasts is used for bias correction.

"none"

No bias correction.

init

An optional list of initial values for standard deviations and weights. The default is to start with all standard deviations equal to 1, and with equal weights for each member of the ensemble.

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 Ensemble and Bayesian Model Averaging, Technical Report No. 516R, Department of Statistics, University of Washington, 2007 (revised 2010).

See Also

ensembleBMAnormal, fitBMAnormal

Examples

Run this code
  data(ensBMAtest)

  ensMemNames <- c("gfs","cmcg","eta","gasp","jma","ngps","tcwb","ukmo")

  obs <- paste("T2","obs", sep = ".")
  ens <- paste("T2", ensMemNames, sep = ".")

  tempTestData <- ensembleData( forecasts = ensBMAtest[,ens],
                                dates = ensBMAtest[,"vdate"],
                                observations = ensBMAtest[,obs],
                                station = ensBMAtest[,"station"],
                                forecastHour = 48,
                                initializationTime = "00")

if (FALSE)  # R check
  tempTestFit1 <- ensembleBMAnormal(tempTestData, trainingDays = 30,
    control = controlBMAnormal(maxIter = 100, biasCorrection = "additive"))


# for quick run only; use more training days for forecasting
  tempTestFit1 <- ensembleBMAnormal(tempTestData[1:20,], trainingDays = 5,
    control = controlBMAnormal(maxIter = 100, biasCorrection = "additive"))

Run the code above in your browser using DataLab