How to add noise to a random variable whose range is the unit interval? I have a list of values sampled from a beta distribution that therefore lie in the interval [0,1]. I would like to add (e.g. Gaussian) noise to these values, but of course there is the problem of the values then potentially leaving the interval. What is the proper way to do this?
 A: It appears there are many ways to accomplish what you are looking for. Here's one suggestion.
Treat each $d$ as if it were the value of some function $\Phi$ from the real number line to the unit interval. For example, let $\Phi$ denote the cumulative density function of the standard normal distribution, so that $d = \Phi(z)$ for some real-valued $z$. Then $z = Probit(d)$, where $Probit$ denotes the inverse of $\Phi$. Let $\hat{z} = z + a \cdot e$, where $e$ is a standard normal random variable and $a >0$ is a scaling factor. Let $\hat{d} = \Phi(\hat{z})$ be your noisy estimate of $d$. Putting everything together, you have 
$\hat{d} = \Phi(Probit(d) + a \cdot e)$
which will lie in the open unit interval. By adjusting $a$ you adjust the degree of noise.
A: A traditional way to handle constrained variables is to transform them into unconstrained variables, apply the jittering, and turn them back into the original scale.
For instance, if $d_i\in(0,1)$, one can use the logit transform
$$x_i=\text{logit}(d_i)=\log\left(\frac{d_i}{1-d_i}\right)$$
and add as much noise as necessary$$y_i=x_i+\epsilon_i$$ where $\epsilon_i$ is for instance a centred Gaussian variate, before returning
$$\delta_i=\exp(y_i)\big/(1+\exp(y_i))=1\big/(1+\exp(-y_i))$$
Here is an illustration in R:
> d=rbeta(10^4,2.4,6.2)
> logit=function(x){log(x/(1-x))}
> de=1/(1+exp(-rnorm(10^4,mean=logit(d),sd=2)))

