Sampling – How to Perform Sampling from Conditional Copula

conditional probabilitycopulasampling

I am having trouble finding anything on sampling from conditional copulas. I am only
interested in the bivariate case. So, if $C(u,v)$ is my copula, I want to sample from
it given a specific quantile of $u$ (for example).

$
C(u=x^*,v)
$

I am real newb on the field of copulas and just read through the basic theories (Sklar's theorem, multivariate dependence measures) and played around with some functions in R. Any help greatly appreciated.

Best Answer

How to sample from a given univariate CDF is a huge subject, so I will assume that part of the answer is known and will address how to find the conditional CDF from the copula.


By definition, any copula assigns probabilities to rectangular regions (within the unit square) delimited on the right by its first argument and above by its second argument. In particular, when $U$ and $V$ are uniformly distributed with $C$ as the copula for $(U,V)$ and $0 \lt \epsilon \le 1 - u$ is sufficiently small,

$$\eqalign{ \Pr(U\in (u, u+\epsilon]\text{ and }V \le v) &= \Pr(U\le u+\epsilon, V \le v) - \Pr(U\le u, V \le v) \\ &=C(u+\epsilon, v) - C(u, v). }$$

Therefore, the conditional cumulative distribution function ought to arise as the (right-hand) limiting value of

$$\Pr(U\in (u, u+\epsilon]\text{ and }V \le v\,\Big|\,U\in (u, u+\epsilon]) = \frac{C(u+\epsilon, v) - C(u, v)}{\epsilon}.$$

Provided this limit exists (which it will almost everywhere for $u$), by definition it is the first partial derivative, $\partial C(u,v)/\partial u$. This, therefore, gives the conditional CDF for $V\,\Big|\, U=u$ evaluated at $v$.

Figure

The left figure shows a contour plot of the copula (representing a surface) $C(u,v)=uv/(u+v-uv)$. The right figure is the graph of the conditional distribution of $V$ for $u\approx 0.23$. It is a cross section of the rightward slope of the surface.


Reference

Roger B. Nelsen, An Introduction to Copulas, Second Edition. Springer 2006: Section 2.9, Random Variate Generation.

Related Question