Binomial sampling with a beta mixture prior

Description

Evaluates and plots the posterior density for \pi, the probability of a success in a Bernoulli trial, with binomial sampling when the prior density for \pi is a mixture of two beta distributions, beta(a_0,b_0) and beta(a_1,b_1).

Usage

binomixp(x, n, alpha0 = c(1, 1), alpha1 = c(1, 1), p = 0.5, ...)


Arguments

 x the number of observed successes in the binomial experiment. n the number of trials in the binomial experiment. alpha0 a vector of length two containing the parameters, a_0 and b_0, for the first component beta prior - must be greater than zero. By default the elements of alpha0 are set to 1. alpha1 a vector of length two containing the parameters, a_1 and b_1, for the second component beta prior - must be greater than zero. By default the elements of alpha1 are set to 1. p The prior mixing proportion for the two component beta priors. That is the prior is pimes beta(a_0,b_0)+(1-p)imes beta(a_1,b_1). p is set to 0.5 by default ... additional arguments that are passed to Bolstad.control

Value

A list will be returned with the following components:

 pi the values of \pi for which the posterior density was evaluated posterior the posterior density of \pi given n and x likelihood the likelihood function for \pi given x and n, i.e. the binomial(n,\pi) density prior the prior density of \pi density

binodp binogcp normmixp

Examples


## simplest call with 6 successes observed in 8 trials and a 50:50 mix
## of two beta(1,1) uniform priors
binomixp(6,8)

## 6 successes observed in 8 trials and a 20:80 mix of a non-uniform
## beta(0.5,6) prior and a uniform beta(1,1) prior
binomixp(6,8,alpha0=c(0.5,6),alpha1=c(1,1),p=0.2)

## 4 successes observed in 12 trials with a 90:10 non uniform beta(3,3) prior
## and a non uniform beta(4,12).
## Plot the stored prior, likelihood and posterior
results = binomixp(4, 12, c(3, 3), c(4, 12), 0.9)$mix par(mfrow = c(3,1)) y.lims = c(0, 1.1 * max(results$posterior, results$prior)) plot(results$pi,results$prior,ylim=y.lims,type='l' ,xlab=expression(pi),ylab='Density',main='Prior') polygon(results$pi,results$prior,col='red') plot(results$pi,results$likelihood,type='l', xlab = expression(pi), ylab = 'Density', main = 'Likelihood') polygon(results$pi,results$likelihood,col='green') plot(results$pi,results$posterior,ylim=y.lims,type='l' ,xlab=expression(pi),ylab='Density',main='Posterior') polygon(results$pi,results\$posterior,col='blue')