Other Copulas
Some copulas, while necessary in certain cases and very useful, are hard to classify. We gather them here for simplicity.
Independence and Fréchet-Hoeffding bounds
IndependentCopula
The independence copula is
It has no free parameter and is constructed with IndependentCopula(d) or IndependentCopula{d}().
MCopula
The upper Fréchet–Hoeffding bound, or comonotonic copula, is MCopula(d) or MCopula{d}().
WCopula
The lower Fréchet–Hoeffding bound is a copula only in dimension two: WCopula(), WCopula(2), or WCopula{2}().
Transformed Copulas
SurvivalCopula
If SurvivalCopula(C).
For compatibility, SurvivalCopula(C, flips) also constructs the copula of a partially reflected vector: coordinate flips. The indices must be distinct and belong to 1:length(C). In new bivariate code, prefer the named rotation constructors below when the transformation is one of the three standard rotations.
When fitting a rotated model, pass the desired flip indices explicitly because they belong to the instance rather than its type:
using Distributions
S = SurvivalCopula(ClaytonCopula(2, 2.0), (1,))
U = rand(S, 100)
Ŝ = fit(typeof(S), U; flips=(1,))Bivariate rotations
For a bivariate copula
Construct these models with Rotated90Copula(C), Rotated180Copula(C), and Rotated270Copula(C). They reflect respectively the first coordinate, both coordinates, and the second coordinate. Unlike a partial SurvivalCopula(C, flips), their reflection pattern belongs to the concrete type, so fit(typeof(R), U) preserves the requested rotation without a flips keyword.
Single-coordinate rotations reverse the sign of bivariate Kendall's tau and exchange one upper/lower corner with an opposite corner. A 180-degree rotation preserves Kendall's tau and is exactly the bivariate survival copula. Rotation does not imply that the resulting family is symmetric, and 90- and 270-degree rotations generally remain different models.
The qualified accessors Copulas.basecopula(R), Copulas.flipmask(R), and Copulas.flips(R) return respectively the original copula, the Boolean reflection mask, and the reflected coordinate indices. They apply both to the named rotations and to SurvivalCopula objects.
Others
PlackettCopula
The bivariate Plackett family is
with its continuous value PlackettCopula(θ), PlackettCopula{2}(θ), or PlackettCopula(2, θ); see [ DocumenterCitations.CitationSiteNode("nelsen2006-cite-2")
].
FGMCopula
For every subset
The parameter vector therefore has length FGMCopula{d}(θ) or FGMCopula(d, θ); in dimension two, θ may be supplied as a scalar. The sampling representation follows [ DocumenterCitations.CitationSiteNode("blier2022stochastic-cite-1")
]. Even at the bivariate endpoints θ = ±1, these remain ordinary, weak-dependence FGM copulas rather than either Fréchet–Hoeffding bound.
RafteryCopula
Writing
Here RafteryCopula{d}(θ) or RafteryCopula(d, θ); the multivariate extension is described in [ DocumenterCitations.CitationSiteNode("Raftery2023-cite-1")
].
See the canonical Public API for detailed validation and limiting behavior of these constructors.
References
R. B. Nelsen. An Introduction to Copulas. 2nd ed Edition, Springer Series in Statistics (Springer, New York, 2006).
C. Blier-Wong, H. Cossette and E. Marceau. Stochastic representation of FGM copulas using multivariate Bernoulli random variables. Computational Statistics & Data Analysis 173, 107506 (2022).
T. Saali, M. Mesfioui and A. Shabri. Multivariate extension of Raftery copula. Mathematics 11, 414 (2023).