Learn R Programming

copBasic (version 2.1.4)

RFcop: The Raftery Copula

Description

The Raftery copula (Nelsen, 2006, p. 172) is $$\mathbf{C}_{\Theta}(u,v) = \mathbf{RF}(u,v) = \mathbf{M}(u,v) + \frac{1-\Theta}{1+\Theta}(uv)^{1/(1-\Theta)}\bigl[1-(\mathrm{max}\{u,v\})^{-(1+\Theta)/(1-\Theta)}\bigr]\mbox{,}$$ where \(\Theta \in (0,1)\). The copula, as \(\Theta \rightarrow 0^{+}\) limits, to the independence coupla (\(\mathbf{P}(u,v)\); P), and as \(\Theta \rightarrow 1^{-}\), limits to the comonotonicity copula (\(\mathbf{M}(u,v)\); M). The parameter \(\Theta\) is readily computed from Spearman's Rho (rhoCOP) by \(\rho_\mathbf{C} = \Theta(4-3\Theta)/(2-\Theta)^2\) or from Kendall's Tau (tauCOP) by \(\tau_\mathbf{C} = 2\Theta/(3-\Theta)\).

Usage

RFcop(u, v, para=NULL, rho=NULL, tau=NULL, ...)

Arguments

u

Nonexceedance probability \(u\) in the \(X\) direction;

v

Nonexceedance probability \(v\) in the \(Y\) direction;

para

A vector (single element) of parameters---the \(\Theta\) parameter of the copula;

rho

Optional Spearmans's Rho;

tau

Optional Kendall's Tau; and

...

Additional arguments to pass.

Value

Value(s) for the copula are returned. Otherwise if either rho or tau is given, then the \(\Theta\) is computed and a list having

para

The parameter \(\Theta\), and

rho

Spearmans's Rho if the rho is given.

tau

Kendall's Tau if the tau is given but also if both rho and tau are NULL as mentioned next.

and if para=NULL and rho and tau=NULL, then the values within u and v are used to compute Kendall's Tau and then compute the parameter, and these are returned in the aforementioned list.

References

Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.

See Also

M, P

Examples

Run this code
# NOT RUN {
# Lower tail dependency of Theta = 0.5 --> 2*(0.5)/(1+0.5) = 2/3 (Nelsen, 2006, p. 214)
taildepCOP(cop=RFcop, para=0.5)$lambdaL # 0.66667

# }
# NOT RUN {
# Simulate for a Spearman Rho of 0.7, then extract estimated Theta that
# internally is based on Kendall Tau of U and V, then convert estimate
# to equivalent Rho.
UV <- simCOP(1000, cop=RFcop, RFcop(rho=0.7)$para)
Theta <- RFcop(UV$U, UV$V)$para      # 0.605093
Rho <- Theta*(4-3*Theta)/(2-Theta)^2 # 0.679403 (nearly 0.7)#
# }

Run the code above in your browser using DataLab