# BiCopLambda: Lambda-function (plot) for bivariate copula data In CDVine: Statistical Inference of C- And D-Vine Copulas

## Description

This function plots the lambda-function of given bivariate copula data.

## Usage

 1 2 BiCopLambda(u1=NULL, u2=NULL, family="emp", par=0, par2=0, PLOT=TRUE, ...) 

## Arguments

 u1,u2 Data vectors of equal length with values in [0,1] (default: u1 and u2 = NULL). family An integer defining the bivariate copula family or indicating the empirical lambda-function: "emp" = empirical lambda-function (default) 1 = Gaussian copula; the theoretical lambda-function is simulated (no closed formula available) 2 = Student t copula (t-copula); the theoretical lambda-function is simulated (no closed formula available) 3 = Clayton copula 4 = Gumbel copula 5 = Frank copula 6 = Joe copula 7 = BB1 copula 8 = BB6 copula 9 = BB7 copula 10 = BB8 copula par Copula parameter; if the empirical lambda-function is chosen, par = NULL or 0 (default). par2 Second copula parameter for t-, BB1, BB6, BB7 and BB8 copulas (default: par2 = 0). PLOT Logical; whether the results are plotted. If PLOT = FALSE, the values empLambda and/or theoLambda are returned (see below; default: PLOT = TRUE). ... Additional plot arguments.

## Value

 empLambda If the empirical lambda-function is chosen and PLOT=FALSE, a vector of the empirical lambda's is returned. theoLambda If the theoretical lambda-function is chosen and PLOT=FALSE, a vector of the theoretical lambda's is returned.

## Note

The λ-function is characteristic for each bivariate copula family and defined by Kendall's distribution function K:

λ(v,θ) := v - K(v,θ)

with

K(v,θ) := P(C_{θ}(U_1,U_2) <= v), v \in [0,1].

For Archimedean copulas one has the following closed form expression in terms of the generator function φ of the copula C_{θ}:

λ(v,θ) = φ(v) / φ'(v),

where φ' is the derivative of φ. For more details see Genest and Rivest (1993) or Schepsmeier (2010).

For the bivariate Gaussian and t-copula no closed form expression for the theoretical λ-function exists. Therefore it is simulated based on samples of size 1000. For all other implemented copula families there are closed form expressions available.

The plot of the theoretical λ-function also shows the limits of the λ-function corresponding to Kendall's tau =0 and Kendall's tau =1 (λ=0).

For rotated bivariate copulas one has to transform the input arguments u1 and/or u2. In particular, for copulas rotated by 90 degrees u1 has to be set to 1-u1, for 270 degrees u2 to 1-u2 and for survival copulas u1 and u2 to 1-u1 and 1-u2, respectively. Then λ-functions for the corresponding non-rotated copula families can be considered.

Ulf Schepsmeier

## References

Genest, C. and L.-P. Rivest (1993). Statistical inference procedures for bivariate Archimedean copulas. Journal of the American Statistical Association, 88 (423), 1034-1043.

Schepsmeier, U. (2010). Maximum likelihood estimation of C-vine pair-copula constructions based on bivariate copulas from different families. Diploma thesis, Technische Universitaet Muenchen.
http://mediatum.ub.tum.de/doc/1079296/1079296.pdf.

BiCopMetaContour, BiCopKPlot, BiCopChiPlot
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ## Not run: # Clayton and rotated Clayton copulas n = 1000 tau = 0.5 # simulate from Clayton copula fam = 3 theta = BiCopTau2Par(fam,tau) dat = BiCopSim(n,fam,theta) # create lambda-function plots dev.new(width=16,height=5) par(mfrow=c(1,3)) BiCopLambda(dat[,1],dat[,2]) # empirical lambda-function BiCopLambda(family=fam,par=theta) # theoretical lambda-function BiCopLambda(dat[,1],dat[,2],family=fam,par=theta) # both # simulate from rotated Clayton copula (90 degrees) fam = 23 theta = BiCopTau2Par(fam,-tau) dat = BiCopSim(n,fam,theta) # rotate the data to standard Clayton copula data rot_dat = 1-dat[,1] dev.new(width=16,height=5) par(mfrow=c(1,3)) BiCopLambda(rot_dat,dat[,2]) # empirical lambda-function BiCopLambda(family=3,par=-theta) # theoretical lambda-function BiCopLambda(rot_dat,dat[,2],family=3,par=-theta) # both ## End(Not run)