Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Hill Estimator

Overview

How heavy is the upper tail, and how sensitive is the answer to where we start fitting it? Hill estimates the exponent of a positive Pareto-type tail from the largest observations. Choosing how many observations to retain is part of the estimate.

Read the Pareto and regular variation pages first. The formula uses logarithms and sorted observations; the extreme-value index ξ\xi is the reciprocal of the Pareto exponent α\alpha. For data analysis, inspect several thresholds and check dependence and measurement limits before interpreting a stable-looking curve. Tail threshold selection develops these checks.

Estimator

Let x1,…,xnx_1,\dots,x_n be observed right-tail data with xi>0x_i>0 for every ii, and write the ascending realized order statistics as

x1:n≤⋯≤xn:n.x_{1:n}\le \cdots \le x_{n:n}.

For 1≤k<n1\le k<n, the Hill estimate of the extreme-value index is

ξ^k,n=1k∑j=1klog⁡(xn−j+1:nxn−k:n).\widehat\xi_{k,n} = \frac1k\sum_{j=1}^{k} \log\left(\frac{x_{n-j+1:n}}{x_{n-k:n}}\right).

For a Pareto-type right tail with exponent α\alpha, the corresponding tail exponent estimate is

α^k,n=1ξ^k,n.\widehat\alpha_{k,n}=\frac{1}{\widehat\xi_{k,n}}.

The tuning parameter kk is the number of upper order statistics used. A Hill stability plot graphs ξ^k,n\widehat\xi_{k,n} or α^k,n\widehat\alpha_{k,n} over a range of kk values. On this page, we name the plotted coordinate explicitly: ξ\xi is the extreme-value index, while α=1/ξ\alpha=1/\xi is the Pareto tail exponent.

Here xi:nx_{i:n} is the iith ascending observation, and kk selects the top kk values above the order-statistic threshold. If all selected values equal that threshold, ξ^=0\widehat\xi=0 and there is no finite reciprocal estimate. Ties can also make the strict exceedance count smaller than kk.

When to use it

Hill is a right-tail estimator for strictly positive observations in a Pareto-type regime, meaning the survival tail is expected to be regularly varying. It is appropriate only after deciding what data transformation makes the tail positive and one-sided.

Small kk means the threshold is very high, so the estimate uses only the most extreme observations and has high variance. Large kk lowers the threshold, which adds data but can mix non-tail observations into the calculation. A stable region is a practical compromise between those two failures.

Report a range of kk values, the corresponding thresholds, and the sensitivity of the estimated exponent. A plateau can guide further checks, but it does not establish regular variation or independence.

Exact Pareto calibration

For a Pareto Type I variable,

P(X>x)=(xmx)α,x≥xm.\mathbb P(X>x)=\left(\frac{x_m}{x}\right)^\alpha,\qquad x\ge x_m.

Define Y=log⁡(X/xm)Y=\log(X/x_m). For y≥0y\ge0,

P(Y>y)=P(X>xmey)=e−αy,\mathbb P(Y>y) = \mathbb P(X>x_m e^y) =e^{-\alpha y},

so YY is exponential with mean 1/α1/\alpha. Equivalently,

E[log⁡(Xu)∣X>u]=1α\mathbb E\left[\log\left(\frac{X}{u}\right)\mid X>u\right] =\frac1\alpha

for any Pareto threshold u≥xmu\ge x_m. The Hill estimator replaces this conditional expectation by the empirical average of log-excesses above the random threshold Xn−k:nX_{n-k:n}, or by xn−k:nx_{n-k:n} after the sample is realized.

For exact Pareto samples this explains why ξ^k,n\widehat\xi_{k,n} targets 1/α1/\alpha. For a positive iid sample whose right tail is regularly varying with extreme-value index ξ>0\xi>0, the standard consistency result uses an intermediate sequence k=knk=k_n with

kn→∞,knn→0.k_n\to\infty,\qquad \frac{k_n}{n}\to0.

Under these assumptions, ξ^kn,n\widehat\xi_{k_n,n} converges in probability to ξ\xi. The proof of that full theorem belongs to extreme-value asymptotics; we use the exact Pareto calibration and cite the general result in Resnick 2007. Hill’s original estimator is described in his 1975 paper, pp. 1163–1174.

Stability diagnostics

A stability diagnostic repeats the same calculation over kk and reports both the threshold and the chosen tail coordinate. The arithmetic is visible even in a fixed four-observation example.

Take the fixed ordered observations (1,2,4,8)(1,2,4,8). The Hill calculation gives:

kkThreshold xn−k:nx_{n-k:n}ξ^k,n\widehat\xi_{k,n}α^k,n\widehat\alpha_{k,n}
14log⁡2\log 21/log⁡21/\log 2
223log⁡2/23\log 2/22/(3log⁡2)2/(3\log 2)
312log⁡22\log 21/(2log⁡2)1/(2\log 2)

This small deterministic example shows how the selected threshold changes the estimate. It is an illustration of the arithmetic, with no claim that the four values are a random Pareto sample.

In a distribution with a bounded body and a Pareto tail, increasing kk far enough pulls body observations into the calculation. For empirical data, a plateau is evidence to inspect, not a certificate.

Seeded stability comparison

Hill extreme-value-index estimates versus retained count for exact Pareto and a body-tail mixture, with known truth and a third panel mapping counts to observed thresholds.

Two iid samples of 30,00030{,}000 observations: exact Pareto with xm=1x_m=1, α=1.7\alpha=1.7 (PCG64 seed 20261020), and the uniform-body/Pareto-tail model (seed 20261021). The mixture is uniform on [1,3][1,3] with probability 0.82 and Pareto with minimum 3, exponent 1.7, otherwise. Both tail targets are ξ=1/1.7\xi=1/1.7. The marked count of 5,344 is realized, not its population expectation. The third panel maps kk to xn−k:nx_{n-k:n}; these continuous draws have no ties, so strict exceedance counts equal kk. Increasing kk eventually includes the mixture body. A stable-looking segment supplies no unique threshold choice.

Use pareto_type1 and hill_stability to reproduce selected points of the first panel:

import numpy as np
from xmath.incerto.distributions import pareto_type1
from xmath.incerto.estimators import hill_stability

x = pareto_type1.rvs(1.7, size=30000, random_state=np.random.default_rng(20261020))
hill = hill_stability(x, [50, 500, 5000])
for k, xi in zip(hill["k"], hill["xi"]):
    print(f"k={int(k):d}: xi={xi:.4g}, truth={1/1.7:.4g}")

Output

k=50: xi=0.627, truth=0.5882
k=500: xi=0.5728, truth=0.5882
k=5000: xi=0.58, truth=0.5882

Regenerate all panels with uv run python demos/incerto/tail_estimation.py. The same mixture sample supplies the coordinated threshold diagnostics.

Failure modes

References

References
  1. Resnick, S. I. (2007). Heavy-Tail Phenomena: Probabilistic and Statistical Modeling. Springer. 10.1007/978-0-387-45024-7
  2. Hill, B. M. (1975). A Simple General Approach to Inference About the Tail of a Distribution. The Annals of Statistics, 3(5), 1163–1174. 10.1214/aos/1176343247
  3. Embrechts, P., Klüppelberg, C., & Mikosch, T. (1997). Modelling Extremal Events. Springer. 10.1007/978-3-642-33483-2