posteriorWeights {BMAmevt} | R Documentation |
Posterior model weights
Description
Approximates the models' posterior weights by simple Monte Carlo integration
Usage
posteriorWeights(
dat,
HparList = list(get("pb.Hpar"), get("nl.Hpar")),
lklList = list(get("dpairbeta"), get("dnestlog")),
priorList = list(get("prior.pb"), get("prior.nl")),
priorweights = c(0.5, 0.5),
Nsim = 20000,
Nsim.min = 10000,
precision = 0.05,
seed = 1,
kind = "Mersenne-Twister",
show.progress = floor(seq(1, Nsim, length.out = 10)),
displ = FALSE
)
Arguments
dat |
The angular data set relative to which the marginal model likelihood is to be computed |
HparList |
A list containing the hyper Parameter for the priors in each model. (list of lists). |
lklList |
A list containing the likelihood functions of each model |
priorList |
A list containing the prior definitions of each model. |
priorweights |
A vector of positive weights, summing to one: the prior marginal weights of each model. |
Nsim |
The maximum number of iterations to be performed. |
Nsim.min |
The minimum number of iterations to be performed. |
precision |
the desired relative precision. See
|
seed |
The seed to be set via
|
kind |
The kind of random numbers generator. Default to
"Mersenne-Twister". See |
show.progress |
An vector of integers containing the times (iteration numbers) at which a message showing progression will be printed on the standard output. |
displ |
Logical. Should convergence monitoring plots be issued ? |
Details
if J
is the number of models, the posterior weights are given by
postW(i) = priorW(i)*lkl(i)/
(\sum_{j=1,\dots,J} priorW(j)*lkl(j)),
where lkl(i)
stands for the Monte-Carlo estimate of the
marginal likelihood of model i
and priorW(i)
is
the prior weight
defined in priorweights[i]
. For more explanations, see the reference below
The confidence intervals are obtained by adding/subtracting two times the estimated standard errors of the marginal likelihood estimates.
The latter are only estimates, which interpretation may be misleading:
See the note in section marginal.lkl
Value
A matrix of 6
columns and length(priorweights)
rows. The columns contain respectively the posterior model weights (in the same order as in priorweights
), the lower and the upper bound of the confidence interval (see Details), the marginal model weights, the estimated standard error of the marginal likelihood estimators, and the number of simulations performed.
References
HOETING, J., MADIGAN, D., RAFTERY, A. and VOLINSKY, C. (1999). Bayesian model averaging: A tutorial. Statistical science 14, 382-401.
Examples
data(pb.Hpar)
data(nl.Hpar)
set.seed(5)
mixDat=rbind(rpairbeta(n=10,dimData=3, par=c(0.68,3.1,0.5,0.5)),
rnestlog(n=10,par=c(0.68,0.78, 0.3,0.5)))
posteriorWeights (dat=mixDat,
HparList=list(get("pb.Hpar"),get("nl.Hpar")),
lklList=list(get("dpairbeta"), get("dnestlog")),
priorList=list(get("prior.pb"), get("prior.nl")),
priorweights=c(0.5,0.5),
Nsim=1e+3,
Nsim.min=5e+2, precision=0.1,
displ=FALSE)
## Not run: posteriorWeights (dat=mixDat,
HparList=list(get("pb.Hpar"),get("nl.Hpar")),
lklList=list(get("dpairbeta"), get("dnestlog")),
priorList=list(get("prior.pb"), get("prior.nl")),
priorweights=c(0.5,0.5),
Nsim=20e+3,
Nsim.min=10e+3, precision=0.05,
displ=TRUE)
## End(Not run)