RFcop | R Documentation |
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}\bigl(uv\bigr)^{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 Rho (rhoCOP
) by \rho_\mathbf{C} = \Theta(4-3\Theta)/(2-\Theta)^2
or from Kendall Tau (tauCOP
) by \tau_\mathbf{C} = 2\Theta/(3-\Theta)
. However, this copula like others within the copBasic package can be reflected (rotated) at will with the COP
abstraction layer to acquire negative or inverse dependency (countermonotonicity) (see the Examples).
RFcop(u, v, para=NULL, rho=NULL, tau=NULL, fit=c("rho", "tau"), ...)
u |
Nonexceedance probability |
v |
Nonexceedance probability |
para |
A vector (single element) of parameters—the |
rho |
Optional Spearman Rho from which the parameter will be estimated and presence of |
tau |
Optional Kendall Tau from which the parameter will be estimated; |
fit |
If |
... |
Additional arguments to pass. |
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 |
rho |
Spearman Rho if the |
tau |
Kendall Tau if the |
and if para=NULL
and rho
and tau=NULL
, then the values within u
and v
are used to compute Kendall Tau and then compute the parameter, and these are returned in the aforementioned list.
W.H. Asquith
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
M
, P
# 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.
set.seed(1)
UV <- simCOP(1000, cop=RFcop, RFcop(rho=0.7)$para)
Theta <- RFcop(UV$U, UV$V, fit="tau")$para # 0.607544
Rho <- Theta*(4-3*Theta)/(2-Theta)^2 # 0.682255 (nearly 0.7) #
## End(Not run)
## Not run:
set.seed(1)
UV <- simCOP(1000, cop=COP, para=list(cop=RFcop, para=RFcop(rho=0.5)$para, reflect=3))
cor(UV$U, UV$V, method="spearman") # -0.492677 as expected with reversal of V #
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.