[R] Generate random numbers with nested Archimedean Copula
Kellner
ralf.kellner at wiso.uni-erlangen.de
Thu Jul 12 11:36:23 CEST 2012
Hi everybody,
I try to simulate random numbers from a trivariate nested Archimedean
copula. My aim is to correlate two processes with, e.g. theta2, as the so
called child pair and then to correlate these two processes with a third one
with theta1 (parent). This "figure" tries to capture what I am explaining
theta1
theta2 x1
x2 x3
I try to follow McNeil (2006)
http://www.ma.hw.ac.uk/~mcneil/ftp/NestedArchimedean.pdf
with R as the programming language. My code so far is as follows:
n = 10000
#parent
tau1 = 0.60
theta1 = (2*tau1)/(1-tau1)
#child
tau2 = 0.80
theta2 = (2*tau2)/(1-tau2)
#parent
V1 = rgamma(n, 1/theta1,1)
#child
V2 = rgamma(n, 1/theta2,1)
u1 = runif(n)
u2 = runif(n)
u3 = runif(n)
u = cbind(u2,u3)
#Create bivariate child copula
u.inner = (1-log(u)/V2)^(-1/theta2)
#Child inner generator
u.inner2 =exp(V1 - V1*(1 + (-log(u.inner)/V1))^(theta1/theta2))
#Create parent copula
u.c = cbind(u1,u.inner2)
u.ch = 1/((-log(u.c)/V1) + 1)^(1/theta1)
Kendall's tau between u2,u3 should equal 0.60 and 0.80 among u1,u2 and
u1,u3.
My results are 0.60 between u2,u3 but unfortunately 0.87 among u1,u2 and
u1,u3.
Does anyone see my mistake or can anyone give me a hint how to create the
nested copula?
Thanks in advance!!!
--
View this message in context: http://r.789695.n4.nabble.com/Generate-random-numbers-with-nested-Archimedean-Copula-tp4636276.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list