# Gumbel Copula generation using nonparametric correlations like Kendall's tau

I have 2 different variates W,X. I want to compute Gumbel copula for these variates. I followed following steps for the same: 1. To compute kendall's tau I used R's package Kendall. From kendall's tau I computed gumbel parameter(alpha) as alpha=1/(1-tau).

1. Then I computed gumbel copula using R's package copula. function used during the computation was gumbelCopula(alpha,dim=2).

2. After that I used rCopula() function to simulate copula values.

Above method worked fine for 2 variates W,X. Now when I wish to compute gumbel Copula for 4 variates W,X,Y,Z using the same procedure, it is failing in 1st step itself as I cannot compute kandall tau for 4 variates. Kendall tau works only for 2 variates. Can someone please illuminate me with the method of computing Gumbel copula for 4 variates?

Of course you can compute Kendall's tau for more than two variables. It works just like an ordinary correlation matrix:

> head(dtf)
x1         x2         x3         x4
1  2.80031516  2.0579953 -3.2937880 -1.4396337
2 -0.29548884 -0.4481532  0.4627308  1.7195001
3  0.01647146 -0.7325987  0.4971646  0.9161413
4  0.04904244 -0.4731110  2.2536735  0.1470832
5 -0.48472875  0.4763764 -0.2161675 -1.1249446
6  1.05771122 -0.7619064  0.9190161 -1.5307390
> cor(dtf,method="kendall")
x1          x2          x3          x4
x1  1.0000000  0.56734694 -0.30775510  0.01551020
x2  0.5673469  1.00000000 -0.43020408  0.03020408
x3 -0.3077551 -0.43020408  1.00000000 -0.02530612
x4  0.0155102  0.03020408 -0.02530612  1.00000000


What's the actual problem you're encountering?

• I was using Kendall() function of kendall package. Okay we can compute kendall's tau by above method. I tried above method and it is working. Now the issue is for 4 variates Kendall's tau is a vector. But gumbelCopula() function of copula package is taking a parameter alpha whose length should not exceed 1. like for example: gum_copula_test<gumbelCopula(param=c(1.4,2.3,4.5,1.8,4.4,6.7),dim=4) Error: length(param) == 1 is not TRUE. Commented May 19, 2014 at 12:26
• No, for 4 variates, Kendall's tau is a matrix, not a vector. The function gumbelCopula implements a particular form of Archimedean copula, where, specifically, a single parameter is used to govern the strength of association of the whole vector. Do you want vine copulas, or something similar, perhaps? Commented May 19, 2014 at 12:44
• By Kendall's tau being a vector means that I converted the Kendall's matrix into vector using P2p() function of 'copula' package so that I could pass the vector generated as an argument to any copula computing function. I computed student's T copula from tCopula() function which takes in vector as an argument for computing multi-variate copula. I wish to do something of that sort in gumbelCopula.I want a copula object of multi variate gumbel copula which takes in either correlation matrix or non-parametric correlations like kendall's tau as parameters. Commented May 20, 2014 at 6:09