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
, whereNA
means “unspecified”.psi
,iPsi
:The (Archimedean) generator
\psi
(with\psi
(t)=\exp
(-t) being the generator of the independence copula) and its inverse (function
).iPsi
has an optional argumentlog
which, ifTRUE
returns the logarithm of inverse of the generator.absdPsi
:A
function
which computes the absolute value of the derivative of the generator\psi
for the given parametertheta
and 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.MC
denotes the sample size for a Monte Carlo evaluation approach. Ifn.MC
is 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
function
computing 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
function
computing the density of the diagonal of the Archimedean copula atu
with parametertheta
. The parameterlog
is as described before.dacopula
:a
function
computing the density of the Archimedean copula atu
with parametertheta
. The meanings of the parametersn.MC
andlog
are as described before.score
:a
function
computing the derivative of the density with respect to the parameter\theta
.uscore
:a
function
computing the derivative of the density with respect to the each of the arguments.paraInterval
:Either
NULL
or an object of class"interval"
, which is typically obtained from a call such asinterval("[a,b)")
.paraConstr
:A function of
theta
returningTRUE
if and only iftheta
is a valid parameter value. Note thatparaConstr
is built automatically from the interval, whenever theparaInterval
slot is valid."interval"
.nestConstr
:A
function
, which returnsTRUE
if and only if the two provided parameterstheta0
andtheta1
satisfy the sufficient nesting condition for this family.V0
:A
function
which samplesn
random variates from the distributionF
with Laplace-Stieltjes transform\psi
and parametertheta
.dV0
:A
function
which 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\psi
at the argumentx
(possibly a vector) for the given parametertheta
. An optional argumentlog
indicates whether the logarithm of the mass or density is computed (defaults toFALSE
).V01
:A
function
which gets a vector of realizations ofV0
, two parameterstheta0
andtheta1
which satisfy the sufficient nesting condition, and which returns a vector of the same length asV0
with 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
dV0
with the difference being that thisfunction
computes 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 parameterstheta0
andtheta1
. As fordV0
, the optional argumentlog
can be specified (defaults toFALSE
). Note that ifx
is a vector,V0
must either have length one (in which caseV0
is the same for every component ofx
) orV0
must be of the same length asx
(in which case the components ofV0
correspond to the ones ofx
).tau
,iTau
:Compute Kendall's tau of the bivariate Archimedean copula with generator
\psi
as afunction
oftheta
, respectively,theta
as a function of Kendall's tau.lambdaL
,lambdaU
,lambdaLInv
,lambdaUInv
:Compute the lower (upper) tail-dependence coefficient of the bivariate Archimedean copula with generator
\psi
as afunction
oftheta
, respectively,theta
as 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 theparaInterval
is 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")