| acopula-class {copula} | R Documentation |
Class "acopula" of Archimedean Copula Families
Description
This class "acopula" of Archimedean Copula Families
is mainly used for providing objects of known Archimedean families
with all related functions.
Objects from the Class
Objects can be created by calls of the form new("acopula", ...).
For several well-known Archimedean
copula families, the package copula already provides such
family objects.
Slots
name:A string (class
"character") describing the copula family, for example, "AMH" (or simply "A"), "Clayton" ("C"), "Frank" ("F"), "Gumbel" ("G"), or "Joe" ("J").theta:Parameter value, a
numeric, whereNAmeans “unspecified”.psi,iPsi:The (Archimedean) generator
\psi(with\psi(t)=\exp(-t) being the generator of the independence copula) and its inverse (function).iPsihas an optional argumentlogwhich, ifTRUEreturns the logarithm of inverse of the generator.absdPsi:A
functionwhich computes the absolute value of the derivative of the generator\psifor the given parameterthetaand of the givendegree(defaults to 1). Note that there is no informational loss by computing the absolute value since the derivatives alternate in sign (the generator derivative is simply (-1)^degree*absdPsi). The numbern.MCdenotes the sample size for a Monte Carlo evaluation approach. Ifn.MCis zero (the default), the generator derivatives are evaluated with their exact formulas. The optional parameterlog(defaults toFALSE) indicates whether or not the logarithmic value is returned.absdiPsi:a
functioncomputing the absolute value of the derivative of the generator inverse (iPsi()) for the given parametertheta. The optional parameterlog(defaults toFALSE) indicates whether the logarithm of the absolute value of the first derivative ofiPsi()is returned.dDiag:a
functioncomputing the density of the diagonal of the Archimedean copula atuwith parametertheta. The parameterlogis as described before.dacopula:a
functioncomputing the density of the Archimedean copula atuwith parametertheta. The meanings of the parametersn.MCandlogare as described before.score:a
functioncomputing the derivative of the density with respect to the parameter\theta.uscore:a
functioncomputing the derivative of the density with respect to the each of the arguments.paraInterval:Either
NULLor an object of class"interval", which is typically obtained from a call such asinterval("[a,b)").paraConstr:A function of
thetareturningTRUEif and only ifthetais a valid parameter value. Note thatparaConstris built automatically from the interval, whenever theparaIntervalslot is valid."interval".nestConstr:A
function, which returnsTRUEif and only if the two provided parameterstheta0andtheta1satisfy the sufficient nesting condition for this family.V0:A
functionwhich samplesnrandom variates from the distributionFwith Laplace-Stieltjes transform\psiand parametertheta.dV0:A
functionwhich computes either the probability mass function or the probability density function (depending on the Archimedean family) of the distribution function whose Laplace-Stieltjes transform equals the generator\psiat the argumentx(possibly a vector) for the given parametertheta. An optional argumentlogindicates whether the logarithm of the mass or density is computed (defaults toFALSE).V01:A
functionwhich gets a vector of realizations ofV0, two parameterstheta0andtheta1which satisfy the sufficient nesting condition, and which returns a vector of the same length asV0with random variates from the distribution functionF_{01}with Laplace-Stieltjes transform\psi_{01}(seedV01) and parameters\theta_0=\,theta0,\theta_1=\,theta1.dV01:Similar to
dV0with the difference being that thisfunctioncomputes the probability mass or density function for the Laplace-Stieltjes transform\psi_{01}(t;V_0) = \exp(-V_0\psi_0^{-1}(\psi_1(t))),corresponding to the distribution function
F_{01}.Arguments are the evaluation point(s)
x, the value(s)V0, and the parameterstheta0andtheta1. As fordV0, the optional argumentlogcan be specified (defaults toFALSE). Note that ifxis a vector,V0must either have length one (in which caseV0is the same for every component ofx) orV0must be of the same length asx(in which case the components ofV0correspond to the ones ofx).tau,iTau:Compute Kendall's tau of the bivariate Archimedean copula with generator
\psias afunctionoftheta, respectively,thetaas a function of Kendall's tau.lambdaL,lambdaU,lambdaLInv,lambdaUInv:Compute the lower (upper) tail-dependence coefficient of the bivariate Archimedean copula with generator
\psias afunctionoftheta, respectively,thetaas a function of the lower (upper) tail-dependence coefficient.
For more details about Archimedean families, corresponding distributions and properties, see the references.
Methods
- initialize
signature(.Object = "acopula"): is used to automatically construct the function slotparaConstr, when theparaIntervalis provided (typically viainterval()).- show
signature("acopula"): compact overview of the copula.
References
See those of the families, for example, copGumbel.
See Also
Specific provided copula family objects, for example,
copAMH, copClayton, copFrank,
copGumbel, copJoe.
To access these, you may also use getAcop.
A nested Archimedean copula without
child copulas (see class "nacopula")
is a proper Archimedean copula, and hence,
onacopula() can be used to construct a specific
parametrized Archimedean copula; see the example below.
Alternatively, setTheta also returns such a
(parametrized) Archimedean copula.
Examples
## acopula class information
showClass("acopula")
## Information and structure of Clayton copulas
copClayton
str(copClayton)
## What are admissible parameters for Clayton copulas?
copClayton@paraInterval
## A Clayton "acopula" with Kendall's tau = 0.8 :
(cCl.2 <- setTheta(copClayton, iTau(copClayton, 0.8)))
## Can two Clayton copulas with parameters theta0 and theta1 be nested?
## Case 1: theta0 = 3, theta1 = 2
copClayton@nestConstr(theta0 = 3, theta1 = 2)
## -> FALSE as the sufficient nesting criterion is not fulfilled
## Case 2: theta0 = 2, theta1 = 3
copClayton@nestConstr(theta0 = 2, theta1 = 3) # TRUE
## For more examples, see help("acopula-families")