beed {ExtremalDep}R Documentation

Bernstein Polynomials Based Estimation of Extremal Dependence


Estimates the Pickands dependence function corresponding to multivariate data on the basis of a Bernstein polynomials approximation.


beed(data, x, d = 3, est = c("ht","cfg","md","pick"),
     margin = c("emp","est","exp","frechet","gumbel"),
     k = 13, y = NULL, beta = NULL, plot = FALSE)



(n \times d) matrix of component-wise maxima. d is the number of variables and n is the number of replications.


(m \times d) design matrix where the dependence function is evaluated (see Details).


positive integer greater than or equal to two indicating the number of variables (d = 3 by default).


string, indicating the estimation method (est="md" by default, see Details).


string, denoting the type marginal distributions (margin="emp" by default, see Details).


postive integer, indicating the order of Bernstein polynomials (k=13 by default).


numeric vector (of size m) with an initial estimate of the Pickands function. If NULL, the initial estimate is computed using the estimation method denoted in est.


vector of polynomial coefficients (see Details).


logical; if TRUE and d<=3, the estimated Pickands dependence function is plotted (FALSE by default).


The routine returns an estimate of the Pickands dependence function using the Bernstein polynomials approximation proposed in Marcon et al. (2017). The method is based on a preliminary empirical estimate of the Pickands dependence function. If you do not provide such an estimate, this is computed by the routine. In this case, you can select one of the empirical methods available. est = 'ht' refers to the Hall-Tajvidi estimator (Hall and Tajvidi 2000). With est = 'cfg' the method proposed by Caperaa et al. (1997) is considered. Note that in the multivariate case the adjusted version of Gudendorf and Segers (2011) is used. Finally, with est = 'md' the estimate is based on the madogram defined in Marcon et al. (2017).

Each row of the (m \times d) design matrix x is a point in the unit d-dimensional simplex,

S_d := \left\{ (w_1,\ldots, w_d) \in [0,1]^{d}: \sum_{i=1}^{d} w_i = 1 \right\}.

With this "regularization"" method, the final estimate satisfies the neccessary conditions in order to be a Pickands dependence function.

A(\bold{w}) = \sum_{\bold{\alpha} \in \Gamma_k} \beta_{\bold{\alpha}} b_{\bold{\alpha}} (\bold{w};k).

The estimates are obtained by solving an optimization quadratic problem subject to the constraints. The latter are represented by the following conditions: A(e_i)=1; \max(w_i)\leq A(w) \leq 1; \forall i=1,\ldots,d; (convexity).

The order of polynomial k controls the smoothness of the estimate. The higher k is, the smoother the final estimate is. Higher values are better with strong dependence (e. g. k = 23), whereas small values (e.g. k = 6 or k = 10) are enough with mild or weak dependence.

An empirical transformation of the marginals is performed when margin="emp". A max-likelihood fitting of the GEV distributions is implemented when margin="est". Otherwise it refers to marginal parametric GEV theorethical distributions (margin = "exp", "frechet", "gumbel").



vector of polynomial coefficients


numeric vector of the estimated Pickands dependence function A


preliminary non-convex function


extremal index


The number of coefficients depends on both the order of polynomial k and the dimension d. The number of parameters is explained in Marcon et al. (2017).

The size of the vector beta must be compatible with the polynomial order k chosen.

With the estimated polynomial coefficients, the extremal coefficient, i.e. d*A(1/d,\ldots,1/d) is computed.


Simone Padoan,,; Boris Beranger,; Giulia Marcon,


Marcon, G., Padoan, S.A., Naveau, P., Muliere, P. and Segers, J. (2017) Multivariate Nonparametric Estimation of the Pickands Dependence Function using Bernstein Polynomials. Journal of Statistical Planning and Inference, 183, 1-17.

See Also



x <- ExtremalDep:::simplex(2)
data <- evd::rbvevd(50, dep = 0.4, model = "log", mar1 = c(1,1,1))

Amd <- beed(data, x, 2, "md", "emp", 20, plot=TRUE)
Acfg <- beed(data, x, 2, "cfg", "emp", 20)
Aht <- beed(data, x, 2, "ht", "emp", 20)

lines(x[,1], Aht$A, lty = 1, col = 3)
lines(x[,1], Acfg$A, lty = 1, col = 2)

# Trivariate case

if (interactive()){

x <- ExtremalDep:::simplex(3)

data <- evd::rmvevd(50, dep = 0.8, model = "log", d = 3, mar = c(1,1,1))

op <- par(mfrow=c(1,3))
Amd <- beed(data, x, 3, "md", "emp", 18, plot=TRUE)
Acfg <- beed(data, x, 3, "cfg", "emp", 18, plot=TRUE)
Aht <- beed(data, x, 3, "ht", "emp", 18, plot=TRUE)


[Package ExtremalDep version 0.0.3-5 Index]