Calculating conditional probability using VineCopula in R

I have a dataframe X (with columns x1 and x2) and would like to calculate conditional probability, something like P(x1<0.5|x2<0.3), which can be calculated using BiCopCDF. My question is: how do I obtain the transformed values (i.e., u and v) from the original data (x1 and x2)?

How can I obtain the u and v values corresponding to x1=0.5 and x2=0.3, to further explain it using the aforementioned example. One option is to find a distribution that fits x1 and x2 the best and then calculate CDF, however, I am not sure how well any particular distribution would fit the data. Any suggestions or help would be greatly appreciated.

Below is the code I am using:

u <- pobs(X)[,1]
v <- pobs(X)[,2]

par_clay = BiCopEst(u,v,3)\$par
cop_clay = BiCop(family = 3, par = par_clay) #family 3 for clayton copula

copula_cdf = BiCopCDF(u = u1, v = v1, cop_clay)
conditional_cdf = copula_cdf/ecdf(v1)

• This seems to concern how this particular software works. In particular, what would the argument family = 3 mean?
– whuber
Commented Feb 17, 2023 at 20:31
• Oh, it is the family no for clayton copula. Commented Feb 17, 2023 at 20:32
• Okay. How, then, does your software estimate the transformation? One would guess it is applying some version of an empirical (marginal) distribution. What does its documentation say?
– whuber
Commented Feb 17, 2023 at 20:34
• Good! That's your answer.
– whuber
Commented Feb 17, 2023 at 20:47
• It depends on how the software computes the ECDF. If it does not interpolate, then you probably shouldn't, either.
– whuber
Commented Feb 17, 2023 at 22:37