1
$\begingroup$

I am trying to simulate a vine copula with a predefined dependence structure, so I can generate samples for my desired dependence structure. However, I am having trouble defining the Vine structure to get the desired dependence structure.

I want to simulate a dependence structure where one variable, $X$, is dependent with a defined strength to $Y_1, \dots, Y_n$, but also that all pairwise dependencies between $Y_1, \dots, Y_n$ are $0$, i.e, that they are all independent of each other. A correlation matrix which could describe such a dependence structure, for example, is:

$$ R= \begin{bmatrix} 1 & 0 & 0 & .4 \\ 0 & 1 & 0 & .5 \\ 0 & 0 & 1 & .6 \\ .4 & .5 & .6 & 1 \end{bmatrix} $$ Assume $R$ is Symmetric Positive Definite (SPD) for now. Now, I'd like to capture this dependence structure as a Vine. If for example, I were to simulate this as a C-Vine, my understanding is that I would set up the pairwise copulas as follows:

$$C_{1,2}^{\Theta} = 0.4, C_{1,3}^{\Theta} = 0.5, C_{1,4}^{\Theta} = 0.6, C_{2,3|1}^{\Theta} = 0.0, C_{2,4|1}^{\Theta} = 0.0, C_{3,4|1,2}^{\Theta} = 0.0$$

I've tried simulating this VineCopula in R, but the pairwise scatter plots are not showing independence (visually) between $Y_i$. My simulation code in R is:

library("CDVine")
d = 4
dd = 6
fam1 = rep(3,dd) # 3 represents Clayton copula
par1 = c(2,3,4,0.1,0.1,0.1)  # values of Theta for clayton copula
U1 = CDVineSim(N, fam1, par1, type=1)
pairs(U1)

Pair-Plot for simulation above

Since I'm experimenting w/ Clayton copulas, and there is a conditional sampling approach to acquiring Clayton Copula samples, I have also tried that method. Here, I generate $X$, and set to $u_1$. Then, each $Y_i$ is generated by setting $Y_i = u_2^i$, where each $$u_2^i = u_1*(p^{-\alpha/(1+\alpha)} - 1 + u_1^\alpha)^{-1/\alpha}$$, and $p$ is samples of a uniform random variable. To clarify, $p$ and $u_2$ are generated independently for every $Y_i$, and $u_1$ is fixed. I thought this might generate the required dependence structure, but am getting a similar scatter plot to the above.

My specific questions are:

  1. Is my Vine specification correct for the desired dependence structure?
  2. What's wrong w/ my second simulation approach? My thought is that because $Y_i$ is generated independently, they should be independent, but the scatter plot shows otherwise.
$\endgroup$

1 Answer 1

0
$\begingroup$
  1. You try to simulate from C-vine. In this case, there are bivariate dependency structures between the first variables and all other variables.
  2. In addition, you want only to model the first tree, where the other trees are set with independent copulas. Hence, there is no conditional dependency structures.
  3. In this case, you need to set a matrix for the C-vine structure and its corresponding bivariate copulas with their dependence parameters.

Your problem: In your R code, you set fam1 = rep(3,dd). This will fit Clayton copula to all your bivariate dependency structures (conditional and unconditional). Even though you fit Clayton copula at the lower trees with very small dependency parameters, it is better to fit them with independent copula.

Hence, you can try this, using VineCopula package.

  1. Set the variable matrix.
  2. Specify the copula family.
  3. Specify the copula parameters.
  4. Then simulate from the model.

To answer your questions:

  1. Yes.
  2. For pair copula models, there are conditional dependency structures. Hence, you have 2,3 |1 not 2,3! So, the pair copula fitted to 2,3|1 is independent copula.
$\endgroup$
1
  • $\begingroup$ I setup a simulation using the VineCopula package as you suggested, with an RVineMatrix as follows: " > RVM C-vine copula with the following pair-copulas: Tree 1: 1,4 Clayton (par = 4, tau = 0.67) 1,3 Clayton (par = 3, tau = 0.6) 1,2 Clayton (par = 2, tau = 0.5) Tree 2: 2,4;1 Independence 2,3;1 Independence Tree 3: 3,4;2,1 Independence " However, the simulated pairs of points did not yield anything different than above ... see: imgur.com/IJWXXAV $\endgroup$
    – Kiran K.
    May 24, 2019 at 1:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.