Home > MCMC > Learning about exponential parameters, part II

## Learning about exponential parameters, part II

In the previous post, I described using a random walk Metropolis algorithm to sample from the posterior of $(\mu, \beta)$, where $\mu$ is the location and $\beta$ is the rate parameter for the exponential.   But since the MCMC algorithm is based on steps generated from a multivariate normal distribution, it seems that this algorithm would perform better if the parameters are real-valued.

So it makes sense to transform each parameter into ones that are real-valued.  We let

$\theta_1 = \log (\min y - \mu), \theta_2 = \log(\beta)$.

When we transform $(\mu, \beta)$ to $(\theta_1, \theta_2)$, we need to include a Jacobian to write down the posterior for $(\theta_1, \theta_2)$.  It can be shown that the Jacobian is equal to $J = \exp(\theta_1+\theta_2)$ and the new posterior is

$g_{new}(\theta_1, \theta_2 | y) = g(\mu, \beta|y) |J|$

Here is the function for computing the log posterior of $(\theta_1, \theta_2)$ and a contour plot of the new parameters.  Note that the shape of the posterior is close to normal, suggesting that one can use the random walk Metropolis algorithm effectively with the new posterior.

logpost2=function(theta,y)
{
mu=min(y)-exp(theta[1])
beta=exp(theta[2])
sum(dexp(y-mu,beta,log=TRUE))+sum(theta)
}
fit=laplace(logpost2,c(0,0),y)
mycontour(logpost2,c(-10,1,-2.2,0),y,
xlab=”LOG(MIN Y – MU)”,ylab=”LOG BETA”)

logpost2=function(theta,y)
{
mu=min(y)-exp(theta[1])
beta=exp(theta[2])
sum(dexp(y-mu,beta,log=TRUE))+sum(theta)
}
mycontour(logpost2,c(-10,1,-2.2,0),y,
xlab=”LOG(MIN Y – MU)”,ylab=”LOG BETA”)