Learn R Programming

SimCop (version 0.7.3)

NewMEVAsyLogisticCopula: Creates a multivariate asymmetric logistic copula

Description

Creates an instance of the multivariate asymmetric copula with parameters \(\theta\) and r.

Usage

NewMEVAsyLogisticCopula(theta, r)

Value

A function that evaluates the multivariate asymmetric logistic copula (with parameters \(\theta\) and r) at a given \(d\)-dimensional vector in the unit square. Note that for this function the dimension of vectors at which the copula can be evaluated is determined by the input parameters. The environment of the function also contains a function called pdfCopula that evaluates the probability density function of the multivariate asymmetric logistic copula via automatic differentation.

Arguments

theta

a \(k \times d\) matrix of reals.

r

a vector of \(k\) reals

Author

Berwin A. Turlach berwin.turlach@gmail.com

Details

If theta has entries \(\theta_{ij}\) and r has entries \(r_j\) (\(i=1,\dots,k\) and \(j=1,\dots,d\)), then the following parameterisation of the copula is used: $$C(u_1,\dots,u_d) = \exp\left(- \sum_{i=1}^k \left\{ \sum_{j=1}^d (\theta_{ij} \bar u_j)^{r_i} \right\}^{1/r_i} \right)$$ where \(\bar u_j = -\log(u_j)\), \(j=1,\dots,d\).

Necessary and sufficient conditions for the parameters are

  • all entries in theta have to be non-negative.

  • each column of theta has to add to one.

  • each row of theta must have a unique pattern of non-zero values, including the pattern that has no zeros in a row.

  • if a row of theta has only one non-zero value, then the corresponding entry in r has to be one.

  • if a row of theta has more than one non-zero value, then the corresponding entry of r must be greater than one.

See Also

NewBEVAsyLogisticCopula, NewMEVGumbelCopula

Examples

Run this code
theta <-  rbind(c(0, 0.2, 0.8), c(1,0.8,0.2))
r <- c(2,3)
cop <- NewMEVAsyLogisticCopula(theta, r)

## Creates the same copula
theta <- 0.2
phi <- 0.4
r <- 2
cop1 <- NewBEVAsyLogisticCopula(r, theta, phi)
theta <- cbind(c(phi, 1-phi, 0), c(theta, 0, 1-theta))
r <- c(r, 1,  1)
cop2 <- NewMEVAsyLogisticCopula(theta, r)

Run the code above in your browser using DataLab