Liouville: Liouville copulas

LiouvilleR Documentation

Liouville copulas


Multivariate density, survival copula and random generation for the Liouville copulas.


rliouv(n = 100, family, alphavec, theta, reverse = FALSE)

pliouv(x, theta, family, alphavec)

dliouv(x, family, alphavec, theta, is.log = FALSE)



sample size


family of the Liouville copula. Either "clayton", "gumbel", "frank", "AMH" or "joe"


vector of Dirichlet allocations (must be a vector of integers) Specifies (implictly) the dimension of sample


parameter of the corresponding Archimedean copula


if TRUE, return sample from the corresponding survival copula


matrix of quantiles from a Liouville copula


if TRUE, will return the log-likelihood value


rliouv generates draws from the Liouville copula. dliouv evaluates the density of an n by d matrix of observations. pliouv is the (survival) copula associated with the Liouville vector and is as such the multivariate distribution function for uniform observations.

Liouville copulas were introduced in McNeil and Neslehova (2010), generalizing Archimedean copulas. Like the latter, they are survival copulas, which means that the copula is evaluated using the (multivariate) survival function of Liouville vectors. See also sliouv for the latter.

The Liouville copula is by definition a survival copula. The function thus maps marginally observations from the unit interval to the positive half-line using the marginal inverse survival function isliouvm of the Liouville vector, and then evaluating the survival distribution at the resulting Liouville vector.


either a matrix of dimension n by length(alphavec) with the corresponding quantile, probability, survival probability or sample from the Liouville vector


McNeil A.J. and Neslehova, J.G. (2010) From Archimedean to Liouville Copulas. J. Multivar. Anal., 101(8): 1772–1790.

See Also



## Not run: 
#Multivariate density of Clayton Liouville copula
x <- rliouv(n = 100, family = "clayton", alphavec <- c(2,3), theta = 2)
dliouv(x=x, family="clayton", alphavec=c(2,3), theta=2, TRUE)
#Distribution function, multivariate sample
x <- rliouv(n=100, family="frank", theta=1.5, alphavec=c(2,3))
pliouv(theta=1.5, x=x,family="frank", alphavec=c(2,3))

## End(Not run)

lcopula documentation built on April 21, 2023, 9:07 a.m.