Let C be a Gaussian or Student copula and F1,...,Fd the empirical margins.
I know how to draw from C and get $(u_1,...,u_d)$
Imagine that I know $u_1$ and $u_2$. I was wondering how I can sample from C conditional on $u_1$ and $u_2$. I don't expect a closed form formula as I have no expression for F1,...,Fd but how would you 'numerically' generate a serie of conditional draws from C?
I have found the following code in R :
However, I tried it with a gaussian copula and assumed I knew $u_1$ and $u_2$ :
library(copula) normal <- normalCopula(c(0.8, 0.8, 0.8), dim = 3, dispstr = "un") u1 <- 0.8 u2 <- 0.1 draws <- cCopula(cbind(u1, u2, runif(10000)), copula = normal, inverse = TRUE) plot(density(qnorm(draws[,3]))) # it's a normal, OK
The last line displays a normal, which is OK for a gaussian copula and gaussian marginals. However, in the conditional draws, the second value is always equal to 0.4619 instead of 0.1 as I would expect. That is why I plan to write my own fuction but I'm not sure where I should start.