Conditional random variables

91 Views Asked by At

How to generate three random variable $a, b, c$ of some distributions that satisfy: $$a \in [0, 0.5]$$ $$b \in [0, 0.4]$$ $$c \in [0, 0.3]$$ $$a+b+c = 1$$

2

There are 2 best solutions below

4
On

The first three conditions define a shoebox in 3d, while the fourth condition is a plane slicing through. Luckily its intersection is a simple shape, namely a triangle with vertices at $(0.5,0.2,0.3), (0.3, 0.4,0.3), (0.5, 0.4, 0.1)$. Choose a point uniformly on this skew triangle. This is not the only possible construction, but I think a case could be made that this is the most natural one to provide "uniform" distributions.

Note: one way to get a point on this triangle is to choose $\lambda, \mu, \kappa$ each uniformly in $[0,1]$ and then your desired point is $$\frac{\lambda}{\lambda+\mu+\kappa}(0.5,0.2,0.3)+\frac{\mu}{\lambda+\mu+\kappa}(0.3,0.4,0.3)+\frac{\kappa}{\lambda+\mu+\kappa}(0.5,0.4,0.1)$$

However, as the comments point out, this is not uniform, and tends to cluster near the center of the triangle.

0
On

Another way to do this is to embed your problem in a 2-D subspace:

  1. Associate $a\rightarrow x$, $b\rightarrow y$,$c\rightarrow z$
  2. Let $u=(-1,0,1),v=(-1,1,0)$ be be two vectors that span the solution space of $x+y+z=1$
  3. Let $\lambda_1,\lambda_2 \sim U(0,1)$
  4. Set $P=\lambda_1u+\lambda_2v+(1,0,0)$ (we're starting from the solution $x=1,y=z=0$)
  5. Check the components of $P:P_i \in [0,M_i]$ where $M_i$ is the upper bounds of the associated variables.
  6. If so, then accept the answer as a validate draw from the joint distribution, otherwise reject and repeat.

However, your marginals will not match what you specified because each variable MUST be >0 to achieve your constraint. In particular, $a\in [.3,.5], b\in [.2,.4],c\in[.2,.3]$