In Heffernan and Tawn's 2004 paper, they describe a procedure to sample multivariate data, conditional on one variable ($Y_i$) being extreme. The idea is that $Y_i$ is extreme if it exceeds some arbitrary threshold $v_Y = t(v_X)$. They propose a simulation procedure to simulate more extreme values of $Y_i$ and then use a conditional dependence model which has been fitted to the data to simulate a set $Y_{|i}=\{Y_j:j\neq i\}$. The details of the conditional model are unnecessary here. My issue is that I don't understand how this extreme set $Y_i^*$ is simulated.

My understanding is that all $Y$ values are Gumbel marginal transformations of the empirical data and have $\text{Gumbel(0,1)}$ distributions with CDF $\text{exp}(-\text{exp}(-y))$. However I don't think this is what the authors use to simulate $Y_i^*$.

They write:
Step 1: simulate $Y_i$ from a Gumbel distribution conditional on its exceeding $t_i(v_{Xi})$.

This 2010 paper from Lamb uses the same method and states:
The next step is to simulate a value for $Y_i$ from the conditional Gumbel distribution.

I don't know if I need to derive this distribution, if it comes from EVT, or if it should be clear from the paper. I'm new to EVT so suspect this has been left out because it is supposedly obvious. However it is not obvious to me...

I have tried to derive a new CDF using $$\mathbb{P}(Y < y | Y > u_Y ) = \frac{\mathbb{P}(Y<y) - \mathbb{P}(Y < u)}{\mathbb{P}(Y > u)} = \frac{F(y) - F(u)}{1 - F(u)} $$ using the fact $Y \sim \text{Gumbel}(0,1)$ but this doesn't reduce down to any recognisable distribution.

  • 2
    $\begingroup$ Rather than using $u$ in your last equation, suppose you use $t$. Your result for the conditional CDF is $G(y)=e^{e^{\frac{t-\alpha }{\beta }}} \left(e^{-e^{\frac{t-\alpha }{\beta }}}-e^{-e^{\frac{y-\alpha }{\beta }}}\right)$ where $\alpha$ and $\beta$ are the Gumbel distribution parameters. Then to sample from this distribution first take a sample from a uniform (0,1) distribution. Call the resulting value $u$. Finally solve for $y$ in $G(y)=u$. See en.wikipedia.org/wiki/Inverse_transform_sampling for this technique. $\endgroup$
    – JimB
    May 25, 2023 at 23:25

2 Answers 2


The quantile function for a $\text{Gumbel}(0,1)$ is $$-\ln(-\ln(p))$$ So to sample $Y|Y>u$, first sample $X\sim\text{U}(e^{-e^{-u}},1)$ then use the transformation $$Y=-\ln(-\ln(X))$$

  • $\begingroup$ Great —thanks! So for $Y\sim\text{Gumbel}(0, 1)$, $\mathbb{P}(Y < u) = F(u) =\text{e}^{-\text{e}^{-u}}$ and $\mathbb{P}(Y < u) \to 1 \text{ as } u \to \infty$. The quantile function outputs the value of a random variable such that its probability is less than or equal to an input probability value. So by sampling from $X \in \text{Unif}(\text{e}^{-\text{e}^{-u}}, 1)$ and applying the transform, we are sampling the $Y$ values which have probability between $(\text{e}^{-\text{e}^{-u}}, 1)$, which correspond to Y values $(u, \infty)$. $\endgroup$ May 26, 2023 at 14:59
  • $\begingroup$ +1: yeah, when the cdf / quantile function is accessible, it is easy to simulate from the tails. $\endgroup$
    – Ute
    May 28, 2023 at 21:19

For most known distributions of $Y$, the distribution of $Y|Y>u$ does not belong to a well known class (an important exception is the exponential distribution, where $Y| Y>u$ again has a shifted exponential distribution).

The good news: You can simulate from the conditional distribution $Y|Y>u$ even without identifying it as some known distribution. A lot of research has been done on this topic, and many algorithms have been devised, see for example the paper by Asmussen, Binswanger and Højgaard (2000) Rare events simulation for heavy tailed distributions.

Edit: I overlooked that you asked for a distribution with known cdf (Gumbel) where conditional simulation is particularly easy by inverse cdf. More elaborate methods are only necessary when the quantile function and cdf cannot be calculated (e.g. models that are given by an algorithm)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.