Multivariate Distribution – How to Generate Data from a Particular Multivariate Distribution?

conditional probabilitydistributionsmultivariate analysisprobabilitysampling

Let $(X_0,X_1)$ be a random vector distributed according to the CDF $F_{(X_0,X_1)}(x,y)= \min (F_{X_0}(x),F_{X_1}(y))$ where $F_{X_0}(x),F_{X_1}(x)$ are the CDFs of $X_0,X_1$ respectively. We do not necessarily have densities.

I know how to sample from a one-dimensional CDF using inverse transform sampling. I want to sample from $F_{(X_0,X_1)}$

If $F_{(X_0,X_1)}$ had a density, then I could see how this might go:

  • Generate $x_0$ from $F_{X_0}$

  • Compute conditional density of $X_1$ given $X_0=x_0$,

  • and generate $x_1$ from this density

But, here $F_{(X_0,X_1)}$ does not have a density.

What to do ?

Best Answer

If $$\mathbb P(X_0\le x,X_1\le y)=\min \{F_{X_0}(x),F_{X_1}(y)\}$$ then $$\mathbb P(F_0(X_0)\le F_0(x),F_1(X_1)\le F_1(y))=\min \{F_{X_0}(x),F_{X_1}(y)\}$$ Denoting $$U_0=F_0(X_0),\quad U_1=F_1(X_1)$$ this implies that $$\mathbb P(U_0\le u_0,U_1\le u_1) = \min(\mathbb P(U_0\le u_0,u_0<U_1\le u_1) =u_0,u_1)$$ and therefore that, when $u_1\ge u_0$, $$\mathbb P(U_0\le u_0,U_1\le u_1) = u_0$$ meaning that $$\mathbb P(U_0\le u_0,U_1\le u_1) - \mathbb P(U_0\le u_0,U_1\le u_0) = \mathbb P(U_0\le u_0,u_0<U_1\le u_1) =0$$ Similarly, when $u_0>u_1$ $$\mathbb P(u_1<U_0\le u_0,U_1\le u_1) =0$$ So $U_1$ cannot take values larger than $U_0$ and conversely, which implies that$$U_0=U_1$$with probability one.

Conclusion: To draw from this distribution,

  1. generate a Uniform variate $U_0$
  2. transform $U_0$ into $X_0=F_0^{-1}(U_0)$
  3. transform $U_0$ into $X_1=F_1^{-1}(U_0)$
Related Question