I've been studying Metropolis Hastings and there is category of problems that troubles me. One approach that I usually use is the following:
Given a previous accepted sample $x_t$ I generate a new proposal $x^*$ as: $$x^*=x_t \ + \ u, \quad u\sim\mathbf{U}(-\delta, \delta)$$
Then I move on to the rest steps of the algorithm. This works for all cases when the domain of the function is $(-\infty, \infty)$.
Question
How do I alter the above approach if the domain (of the distribution that I want to simulate) is bounded, like $(0, \infty)$.
If possible in the alternative approach, I'd rather keep using the uniform distribution for the generation. My main question is how to account for different domains between the proposal and the desired distribution.
Some Ideas
Forcing the domain
From some examples that I've seen (which I'm having trouble to find), I came up with the following approach. This may or may not be correct so I would like some feedback here.
Given a previous accepted sample $x_t$ I generate a new proposal $x^*$ as: $$x^*=x_t \ + \ u_b \\ u_b \sim \mathbf{U}(-\delta, \delta),\quad \text{if} \quad x_t - \delta > 0 \\ u_b \sim \mathbf{U}(0, 2\delta),\quad \text{if} \quad x_t - \delta \leq 0 $$
This way I'm making sure that no invalid proposal will appear.
Rejecting invalid proposals
If a proposal in $(-\infty, 0)$ is indeed drawn, I think I'm safe because in the next step, the ratio $a$ will force me to accept the previous $x_t$ as the next sample (correct me if I'm wrong). However, in this way I might be increasing the "density" of samples around $x=0$ even though they could belong to an area of the distribution that has low probability densities (observations unlikely to occur).
One simple adjustment, instead of accepting $x_t$ again, would be to keep generating until I draw a valid $x^*$.
Both of those are valid. You can avoid proposing in the region $(-\infty, 0)$ and propose points around $0$ by tweaking the "forcing the domain" example. You could use $$\textrm{Given } x_t > 0, \textrm{ propose } x^* = x_t + u_b,$$ where $$u_b \sim \begin{cases} U(-\delta, \delta) & \text{if } x_t - \delta > 0,\\ U(-x_t, -x_t + 2\delta) & \text{if } x_t - \delta \leq 0. \end{cases}$$