Statement¶
For a random variable and a threshold with and finite conditional expectation above , the mean excess function is
It measures the expected overshoot beyond after the threshold has already been crossed. For a Pareto Type I tail with exponent and ,
For a generalized Pareto variable with location zero, shape , scale , and threshold in its support with , the mean excess function is linear when :
The exponential distribution is the boundary case , where is constant. Here is the threshold, the GPD shape, and its scale at threshold zero.
Diagnostic intuition¶
The mean excess function asks what remains after an event is already large. Thin-tail intuition often expects the remaining excess to be tame once a high threshold has been crossed. A Pareto tail says the opposite: the expected additional excess grows in proportion to the threshold itself.
The exponential, positive-shape GPD with , and negative-shape GPD models have constant, increasing linear, and decreasing linear population mean excess functions, respectively. Curvature departs from an exact GPD model over that threshold range. An empirical plot can also bend because of sampling noise, especially when few observations exceed the threshold; its shape alone does not identify a model failure or a body-to-tail transition.
Pareto derivation and GPD sketch¶
We derive the Pareto mean-excess formula from the conditional survival function. The generalized Pareto linear formula follows from standard GPD threshold stability and the GPD mean formula. The GPD page derives the stability identity; its moment formulas are cited rather than reproved here.
For Pareto Type I,
For and ,
Taking the ratio for gives
Therefore
For a generalized Pareto distribution, the threshold-stability property gives another generalized Pareto distribution above threshold with updated scale , provided is in the support and . Its mean exists only for , and equals .
Mean-excess diagnostic¶
Exact theoretical shapes provide a baseline for the empirical diagnostic. Always report how many observations exceed each threshold.
The theoretical shapes can be compared directly:
| Distribution | Threshold range | Mean excess |
|---|---|---|
| Pareto, , | ||
| Exponential with mean 1 | 1 | |
| Uniform on |
For observations , let . The empirical diagnostic is
For the fixed observations at , only 4 exceeds the threshold, so and . At the mean excess estimate is undefined because the exceedance count is zero. The counting example uses the same strict inequality convention.
Pareto mean excess rises with the threshold, exponential mean excess is flat, and the displayed uniform mean excess decreases toward its endpoint. For any distribution with finite right endpoint and , conditioning on gives almost surely. Taking conditional expectations proves
This bound does not imply monotonicity. For example, if , both atoms exceed 0.9, so . At 1.1 only the atom at 3 exceeds the threshold, so . The mean excess has increased even though .
Empirical values are diagnostics; high thresholds aim to reduce tail-model bias but leave fewer exceedances and more noise.
Population curves and sample estimates¶
Dashed curves are population mean excesses; solid curves are estimates from iid observations per law. Here the Pareto exponent is 1.7 to reuse the exact-Pareto sample from the Hill comparison; the earlier table uses 1.6. The exponential mean is 1 and the uniform support is . Seeds are 20261020, 20261022 and 20261023, respectively (PCG64). Each estimate stops when fewer than 50 observations strictly exceed the threshold; the shaded count region remains visible. The uniform population curve is drawn only for , where conditioning is defined. Pareto laws with have infinite population mean excess: this is labelled, with no finite population curve drawn for those laws.
Use mean_excess; masking
retains the counts and reports an unavailable estimate as nan:
from xmath.incerto.estimators import mean_excess
result = mean_excess([1, 2, 2, 4], [1, 2, 4], min_exceedances=2)
for u, count, mean in zip(result["threshold"], result["exceedances"], result["mean_excess"]):
print(f"u={u:.4g}: count={int(count):d}, mean_excess={mean:.4g}")Output
u=1: count=3, mean_excess=1.667
u=2: count=1, mean_excess=nan
u=4: count=0, mean_excess=nanRegenerate the figure with uv run python demos/incerto/tail_estimation.py.
The threshold comparison
adds the shared mixture sample, whose body changes the population curve below 3.
Caveats¶
The mean excess function is itself a mean. If the fitted tail has , the theoretical mean excess is infinite.
Empirical mean excess plots are unstable at high thresholds. Always inspect exceedance counts.
Linear-looking behavior is suggestive, not decisive. Mixtures and finite upper truncation can create misleading curvature.
For two-sided returns, apply the function to a one-sided loss variable or to absolute returns after stating the modeling choice.
References¶
Davison and Smith, “Models for Exceedances over High Thresholds” 1990.
Coles, An Introduction to Statistical Modeling of Extreme Values 2001.
Embrechts, Klueppelberg, and Mikosch, Modelling Extremal Events 1997.
Backlinks¶
Depends on: Pickands-Balkema-de Haan Theorem, Generalized Pareto Distribution, Pareto Distribution, and threshold notation in Shared notation.
Used by: S&P 500 Tail Diagnostics and Tail Threshold Selection.
- Davison, A. C., & Smith, R. L. (1990). Models for Exceedances over High Thresholds. Journal of the Royal Statistical Society: Series B (Methodological), 52(3), 393–442. 10.1111/j.2517-6161.1990.tb01796.x
- Coles, S. (2001). An Introduction to Statistical Modeling of Extreme Values. Springer. 10.1007/978-1-4471-3675-0
- Embrechts, P., Klüppelberg, C., & Mikosch, T. (1997). Modelling Extremal Events. Springer. 10.1007/978-3-642-33483-2