Learn R Programming

HiDimMaxStable (version 0.1.1)

mubz.copula: $mu(B,z)$ for the copula model

Description

Computes $mu(B,z)$ for the copula model.

Usage

mubz.copula(details=FALSE,...)

Arguments

details
get more details in the return value?
...
See details section.

Details

mubz.copula uses integrate to compute the value of $mu(B,z)$. If details is TRUE, mubz.copula returns the integrate return value. If details is FALSE, mubz.copula returns the value only. The types of distributions (with scalar parameter $p$) in the 'margin' class are the following: marginUnif is for the Uniform distribution with support $[1-p,1+p]$; marginLnorm is for the Lognormal distribution whose the standard deviation of the normal distribution is equal to $p$; marginWeibull is for the Weibull distribution with shape parameter equal to $p$; marginFrechet is for the Frechet distribution with shape parameter equal to $p$; marginGamma is for the Gamma distribution with shape parameter equal to $p$; marginGPD is for the GPD distribution with shape parameter equal to $p$.

The types of Archimedean copulas are those implemented in the package copula: copAMH, copClayton, copFrank, copGumbel, copJoe.

Parameters of mubz.copula:

b
a vector of TRUE or FALSE, of length d where d=length(z), TRUE indicating the coordinates of B

z
a vector of positive constants

params
a vector of length 2*max(classes), giving successively the parameters of the archimedean copula and of the marginal distribution for each class

cop
a vector of 'acopula' objects from package copula of length max(classes) giving the archimedean copulas for each class

margins
a vector of objects of 'margin' class of length max(classes) giving the marginal distributions for each class

classes
a vector of integers indicating for each coordinate of z the number of its class (from 1 to max(classes))

See Also

mubz.normal, mubz.lnormal

Examples

Run this code
# In this example, we compute mu(B,z) for the independent copula
# and Frechet margins.
z<-c(2,3)
kappa<-2
mu<-numeric(2)
mu[1]<-mubz.copula(b=c(TRUE,FALSE),z=z,params=c(1,kappa),
    cop=c(copGumbel),margins=c(marginFrechet),classes=c(1,1))
mu[2]<-mubz.copula(b=c(FALSE,TRUE),z=z,params=c(1,kappa),
    cop=c(copGumbel),margins=c(marginFrechet),classes=c(1,1))
# Compares mu({1},z)+mu({2},z) with the exact value:
t(mu) %*% z
(sum(1/z^kappa))^(1/kappa)

# For independent components with different distributions,
# one can use any "one-dimensional" copula:
mubz.copula(b=c(TRUE,FALSE),z=z,
    params=c(1,2,1,3),cop=c(copGumbel,copGumbel),
    margins=c(marginFrechet,marginGamma),classes=c(1,2))

Run the code above in your browser using DataLab