copulaPdfGumbel

First introduced in version 3.00.6

Syntax

copulaPdfGumbel(alpha, X)

Details

Calculates the probability density of the Gumbel copula at the specified evaluation points.

The Gumbel copula is a two-dimensional Archimedean copula with upper-tail dependence. It is suitable for modeling dependence structures in which variables experience extreme changes simultaneously in high-quantile regions. For example, in actuarial science, extreme value analysis, or upside tail risk analysis, it can be used to evaluate the density contribution when two variables are both in high-quantile regions.

This function supports only two-dimensional input. A larger shape parameter alpha indicates stronger upper-tail dependence. When alpha = 1, the copula degenerates to an independent copula, and the density is 1 at all valid evaluation points.

Parameters

alpha is a DOUBLE scalar that specifies the Gumbel copula shape parameter θ. The valid range is [1, ∞).

  • alpha = 1 indicates an independent copula.
  • alpha > 1 indicates positive dependence and upper-tail dependence.
  • A larger alpha indicates stronger upper-tail dependence.

X is a non-empty two-dimensional numeric matrix or table with dimensions n×2, specifying the set of evaluation points for which to calculate the density. Here, n is the number of evaluation points, that is, the number of rows in X. The value 2 indicates that this function supports only two-dimensional copulas.

  • All elements must be finite numbers.
  • Rows whose elements are all in the open interval (0, 1) are evaluated using the Gumbel copula density formula.
  • Rows with any element u on the boundary of or outside the interval (u <= 0 or u >= 1) return 0.
  • When X is a table, each column represents a variable, and the column order defines the variable order.

Returns

A DOUBLE vector with the same length as the number of rows in X. The i-th element of the returned vector is the copula probability density for the i-th row of X.

Examples

Example 1. Calculate the probability density of the Gumbel copula with shape parameter alpha=2.0 at the center point [0.5, 0.5].

X = matrix([0.5], [0.5])

y = copulaPdfGumbel(2.0, X)
y
// Output: [1.5159701227698994]

Example 2. Calculate the Gumbel copula density at multiple evaluation points to observe the increased density in the upper-tail joint high-quantile region.

u1 = [0.05, 0.5, 0.95, 0.1]
u2 = [0.05, 0.5, 0.95, 0.9]
X = matrix(u1, u2)

y = copulaPdfGumbel(2.0, X)
y
// Output: [3.573777977349538, 1.5159701227698994, 7.618281019698686, 0.07257146102091906]

Example 3. When alpha=1, the copula degenerates to an independent copula, and the density at valid evaluation points is 1.

u1 = [0.2, 0.5, 0.8]
u2 = [0.7, 0.5, 0.3]
X = matrix(u1, u2)

y = copulaPdfGumbel(1.0, X)
y
// output: [1, 1, 1]

Example 4. Demonstrate how boundary points are handled. Rows containing 0 or 1 return 0.

u1 = [0.0, 0.2, 0.9]
u2 = [0.1, 0.3, 1.0]
X = matrix(u1, u2)

y = copulaPdfGumbel(2.0, X)
y
// Output: [0, 1.6041557744566572 , 0]

Example 5. Calculate the sample density using the fitted Gumbel shape parameter.

setRandomSeed(5)
X = copulaRandGumbel(2.0, 1000)
fitRes = copulaFitGumbel(X)

y = copulaPdfGumbel(fitRes.alpha, X)

fitRes.alpha
// Output: 1.8788807828784573
avg(y)
// Output: 2.1981849201337056

Related functions: copulaFitGumbel, copulaRandGumbel, copulaCdfGumbel, copulaPdfGaussian, copulaPdfStudent, copulaPdfClayton, copulaPdfFrank