# Proposal in MCMC lives in bigger space than parameter space. Which transformations should I choose?

I'm using a MCMC algorithm. The proposal is, due to lack of information on my part, a multivariate T-Student distribution, i.e. $$\theta \sim \mathcal{MT}(\mu, \Sigma)$$. However, some of the components of $$\theta$$ are restricted to a specific interval. To make sure that most of the draws from the proposal do not get rejected due to a acceptance probability equal to 0, I'm thinking of using some transformations.

For example, for the components which take values in $$]0,1[$$, I'm thinking of using a logit transformation. For $$]0,+\infty[$$ a $$\log$$ transformation. For $$]-1,1[$$, I will translate to $$]-\pi/2,\pi/2[$$ and apply $$\tan$$ .

What other transformations maybe used? Is this a good policy? What precautions should I take to choose good transformations?

• Make sure you do not forget the Jacobians. – Xi'an Dec 2 '18 at 16:52
• @Xi'an the model I'm using makes it too hard to compute the jacobian. By hand, I simply do not know how to. By PC, I've tried defining the likelihood in Mathematica, then derive (1st derivative) the corresponding expression. with a sample size of 10, and my PC runs out of memory. Maybe, I'm missing something. To find the 1st derivative, I had to use some formulas involving derivation of a scalar function w.r.t. a matrix, and the kronecker product, and vec operator. How does one usually find the Jacobian? Sorry for this last question. ;) – An old man in the sea. Dec 2 '18 at 17:17
• Do you plan on having non-zero off-diagonal elements in $\Sigma$? – Robin Ryder Dec 2 '18 at 17:18
• @RobinRyder at the moment, I don't think so. However, I would like to. – An old man in the sea. Dec 2 '18 at 17:19
• @Xi'an in my previous comment, I mixed jacobian with hessian. Sorry. – An old man in the sea. Dec 2 '18 at 17:40

However, since you are thinking of updating the components independently, another option is to forgo the $$t$$ distribution for certain parameters. In particular, your transition kernel can update only one parameter at each step, instead of updating all parameters at once. You can then choose a proposition which won't (at all/too often) propose values outside of the interval of support.