Bayesian model averaging
An example of a Monte Carlo simulation risk analysis model for Statistics modeling
Technical difficulty: 3
Techniques used: Monte Carlo simulation in Excel
ModelRisk functions used: VoseNormal,VoseLognormal,VoseBMA,VoseBMAObject, VoseBMAProb, VoseBMAProb10, VoseCopulaBMA, VoseCopulaBMAObject, VoseTimeBMA,VoseTimeBMAObject,
Model description
Bayesian Model Averaging (BMA) is a technique for amalgamating several plausible probability models fit to the same data set using Bayes Theorem .
For example , imagine one has the following observed random values:
{2.434, 2.814, 2.662, 1.419, 1.314, 3.954, 4.238, 2.521, 1.774, 1.237, 0.975}
Let’s say that we want to try fitting Lognormal and Normal distributions to these data, producing the following results in ModelRisk:
TThe fitted models are:
VoseNormal(2.303818,1.038533)
VoseLognormal(2.310153,1.130050)
The joint likelihood (the product of the probability density of the fitted distribution evaluated for each data point) of observing these data from the fitted distributions are:
Normal: 1.09842E-07
Lognormal: 2.57535E-07
Thus, the data are 2.34 times more likely to be observed from the Lognormal distribution than the Normal. Distribution fitting software usually forces the user to choose one distribution to use. However, one may not wish to eliminate the Normal distribution as a possible model. Using BMA we can weight the Lognormal as being 2.34 times more plausible than the Normal but still allow the Normal distribution as a plausible fit. This resultant BMA distribution is shown below, together with the fitted Normal and Lognormal distributions.
Priors
The above analysis assumes that we have an uninformed prior (meaning that before evaluating these data we had no preference for either distribution type). One could also incorporate a prior preference using prior weights. For example, a literature review might reveal seven occasions when a Normal distribution was used for this type of variable, and four occasions when a Lognormal variable was used. Thus, we might consider applying a weighting of {7,4} or, equivalently, {7/11, 4/11}. In fact a better, though less intuitive, prior in this case would be {(7+1)/(11+2), (4+1)/(11+2)}, using the mean of a Beta distribution applied in this fashion .
ModelRisk BMA functions
ModelRisk includes a range of BMA functions that will construct and simulate from BMA variables and includes the option to incorporate prior weightings. This model provides some examples of their use. They are:
VoseBMA – simulates from a univariate BMA distribution
VoseBMAObject - defines a univariate BMA distribution
VoseBMAProb – calculates the (joint) relative or cumulative probability of value(s) for a univariate BMA distribution
VoseBMAProb10 – calculates log base 10 of the (joint) relative or cumulative probability of value(s) for a univariate BMA distribution
VoseCopulaBMA – simulates from a BMA copula
VoseCopulaBMAObject - defines a BMA copula
VoseTimeBMA – simulates from a BMA time series>
VoseTimeBMAObject - defines a BMA time seriesbr>
This example model demonstrates all the functions.
Download model
Click on the button below to download the Excel model. ModelRisk needs to be installed in order for the model to work.