The Rayleigh copula (Boškoskia and others, 2018) is
$$\mathbf{C}_{\Theta}(u,v) = \mathbf{RAY}(u,v; \Theta) = 1 + A - B\mbox{,}$$
$$A = e^{\Theta a_2 - a_2}\biggl(e^{-a_1}\int_0^{\Theta a_2} e^{-s}I_0\bigl(2\sqrt{a_1 s}\bigr)\,\mathrm{d}s - 1\biggr)\,\mathrm{d}s\mbox{,}$$
$$B = e^{-a_1}\int_0^{a_2}e^{-s}I_0\bigl(2\sqrt{\Theta a_1 s}\bigr)\,\mathrm{d}s\mbox{,}$$
where \(a1 = -\log(1-u)/(1-\Theta)\), \(a2 = -\log(1-v)/(1-\Theta)\), \(I_\nu(x)\) is the modified Bessel function of the first kind of order \(\nu\) (see base::besselI()
), and \(\Theta \in (0,1]\). The copula, as \(\Theta \rightarrow 0^{+}\) limits, to the independence coupla (\(\mathbf{\Pi}(u,v)\); P
) and as \(\Theta \rightarrow 1^{-}\) limits to the comonotonicity copula (\(\mathbf{M}(u,v)\); M
). Finally, there are formulations of the Rayleigh copula using the Marcum-Q function, but the copBasic developer has not been able to make such work. If the Marcum-Q function could be used, then only one integration and not the two involving the modified Bessel function are possible. Infinite integrations begin occurring in the upper right corner for about \(\Theta > 0.995\) at which point the \(\mathbf{M}(u,v)\) copula is called in the source code.
RAYcop(u, v, para=NULL, rho=NULL, method=c("default"),
rel.tol=.Machine$double.eps^0.5, ...)
Value(s) for the copula are returned.
Nonexceedance probability \(u\) in the \(X\) direction;
Nonexceedance probability \(v\) in the \(Y\) direction;
A vector (single element) of parameters---the \(\Theta\) parameter of the copula;
Value for Spearman Rho from which parameter \(\Theta\) is computed by polynomial approximation and returned. The estimation appears sufficient for most pratical applications (see Examples);
The computational method of integrals associated with the definition of the copula; this is designed for the ability to switch eventually in sources to Marcum-Q function implementation. The definition in January 2023 and default is to call the two Bessel function integrals shown for the definition in this documentation;
Argument of the same name for integrate()
call; and
Additional arguments to pass.
W.H. Asquith
Boškoskia, P., Debenjaka, A., Boshkoskab, B.M., 2018, Rayleigh copula for describing impedance data with application to condition monitoring of proton exchange membrane fuel cells: European Journal of Operational Research, v. 266, pp. 269--277, tools:::Rd_expr_doi("10.1016/j.ejor.2017.08.058").
Zeng, X., Ren, J., Wang, Z., Marshall, S., and Durrani, T., [undated], Copulas for statistical signal processing (Part I)---Extensions and generalization, accessed January 14, 2024, at https://pure.strath.ac.uk/ws/portalfiles/portal/34078849/Copulas_Part1_v2_6.pdf.
Zeng, X., Ren, J., Sun, M., Marshall, S., and Durrani, T., [undated], Copulas for statistical signal processing (Part II)---Simulation, optimal selection and practical applications, accessed January 14, 2024, at https://strathprints.strath.ac.uk/48371/1/Copulas_Part2s_v2_5_2.pdf
M
, P