BiCopLambda: Lambda-Function (Plot) for Bivariate Copula Data

View source: R/BiCopLambda.R

BiCopLambdaR Documentation

Lambda-Function (Plot) for Bivariate Copula Data

Description

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

Usage

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

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; 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).

obj

BiCop object containing the family and parameter specification.

...

Additional plot arguments.

Details

If the family and parameter specification is stored in a BiCop() object obj, the alternative versions

BiCopLambda(obj, PLOT = TRUE, ...)

and

BiCopLambda((u1, u2, obj, PLOT = TRUE, ...)

can be used.

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 \lambda-function is characteristic for each bivariate copula family and defined by Kendall's distribution function K:

\lambda(v,\theta) := v - K(v,\theta)

with

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

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

\lambda(v,\theta) = \frac{\varphi(v)}{\varphi '(v)},

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

For the bivariate Gaussian and Student-t copula no closed form expression for the theoretical \lambda-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 \lambda-function also shows the limits of the \lambda-function corresponding to Kendall's tau =0 and Kendall's tau =1 (\lambda=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 \lambda-functions for the corresponding non-rotated copula families can be considered.

Author(s)

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.
https://mediatum.ub.tum.de/?id=1079296.

See Also

BiCopMetaContour(), BiCopKPlot(), BiCopChiPlot(), BiCop()

Examples


# simulate from Clayton copula
cop <- BiCop(3, tau = 0.5)
dat <- BiCopSim(1000, cop)

# create lambda-function plots
op <- par(mfrow = c(1, 3))
BiCopLambda(dat[, 1], dat[, 2])  # empirical lambda-function
BiCopLambda(cop)	# theoretical lambda-function
BiCopLambda(dat[, 1], dat[, 2], cop)	# both
par(op)



VineCopula documentation built on July 26, 2023, 5:23 p.m.