# BMA mixture of normals fit to a training set

### Description

Fits a Bayesian Model Averaging mixture of normals to a given training set.

### Usage

1 2 | ```
fitBMAnormal( ensembleData, control = controlBMAnormal(),
exchangeable = NULL)
``` |

### Arguments

`ensembleData` |
An |

`control` |
A list of control values for the fitting functions. The defaults are
given by the function |

`exchangeable` |
An optional numeric or character vector or factor indicating groups of
ensemble members that are exchangeable (indistinguishable).
The models have equal weights and parameters within each group.
If supplied, this argument will override any specification of
exchangeability in |

### Details

This function fits a BMA model to a training data set.

It is called by `ensembleBMAnormal`

, which can produce a sequence
of fits over a larger data set.

Methods available for the output of `fitBMAnormal`

include:
`cdf`

, `quantileForecast`

, and `modelParameters`

.

### Value

A list with the following output components:

`biasCoefs` |
The fitted bias-correction coefficients. |

`sd` |
The fitted standard deviations for the mixture of normals model
(equal or varying across components according to the |

`weights` |
The fitted BMA weights for the normal components for each ensemble member. |

`nIter` |
The number of EM iterations. |

### 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. 516R, Department of Statistics, University of
Washington, 2007 (revised 2010).

C. Fraley, A. E. Raftery, T. Gneiting,
Calibrating Multi-Model Forecast Ensembles
with Exchangeable and Missing Members using Bayesian Model Averaging,
*Monthly Weather Review 138:190–202, 2010*.

### See Also

`ensembleData`

,
`controlBMAnormal`

,
`ensembleBMAnormal`

,
`cdf`

,
`quantileForecast`

,
`modelParameters`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ```
data(ensBMAtest)
ensNames <- c("gfs","cmcg","eta","gasp","jma","ngps","tcwb","ukmo")
obs <- paste("T2","obs", sep = ".")
ens <- paste("T2", ensNames, sep = ".")
tempTestData <- ensembleData( forecasts = ensBMAtest[,ens],
observations = ensBMAtest[,obs],
station = ensBMAtest[,"station"],
dates = ensBMAtest[,"vdate"],
forecastHour = 48,
initializationTime = "00")
tempTrain <- trainingData( tempTestData, trainingDays = 30,
date = "2008010100")
tempTrainFit <- fitBMAnormal( tempTrain)
## equivalent to
## tempTrainFit <- fitBMA( tempTrain, model = "normal")
``` |