Теория вероятностей

Теория экстремальных значений

Цели урока

  • Понять аналогию: ЦПТ для сумм, теорема Гнеденко для максимумов
  • Различать три предельных распределения: Гумбель, Фреше, Вейбулл
  • Знать обобщённое распределение Парето (GPD) и его применение к хвостам
  • Вычислять VaR и CVaR как меры хвостового риска
  • Применять EVT для редких событий: наводнения, финансовые краши, кибератаки

Предварительные знания

  • Сходимость случайных величин
  • ЦПТ и законы больших чисел
  • Базовые распределения
  • Сходимость случайных величин

ЦПТ говорит о типичных значениях суммы. Но в финансах, инженерии и страховании важны **экстремальные** события: максимальный убыток, максимальный паводок за 100 лет, максимальная нагрузка на сервер. Теория экстремальных значений (EVT) - это «ЦПТ для максимумов»: оказывается, предельное распределение максимума одно из трёх, независимо от исходного распределения. Это позволяет предсказывать редкие события по имеющимся данным.

  • Финансы: VaR (Value at Risk) и CVaR - регуляторные требования Basel III к банкам
  • Инженерия надёжности: расчёт плотин, мостов на 100- и 500-летние паводки
  • Кибербезопасность: оценка максимального трафика при DDoS-атаках

Три семейства и один закон

Рональд Фишер и Леонард Типпетт в 1928 году выдвинули гипотезу о трёх типах предельных распределений максимумов. Борис Гнеденко строго доказал это в 1943 году - теорема Фишера-Типпетта-Гнеденко, полный аналог ЦПТ для экстремумов. Пикандс и Балкема-де Хаан в 1974 - 1975 годах дали теорему о пороговых превышениях: для любого распределения из области притяжения GEV, хвосты сверх порога сходятся к обобщённому распределению Парето.

1. Теорема Фишера-Типпетта-Гнеденко

Пусть $X_1, \ldots, X_n$ - i.i.d., $M_n = \max(X_1, \ldots, X_n)$. Если существуют нормирующие константы $a_n > 0$, $b_n$ такие, что:

то $G$ обязательно одно из трёх семейств (или их объединение - GEV):

**Три типа GEV (обобщённое распределение экстремальных значений):**

**Примеры:** - Максимум из N(0,1): $\to$ Гумбель - Максимум из Pareto($\alpha$): $\to$ Фреше, $\xi = 1/\alpha$ - Максимум из Uniform(0,1): $\to$ Вейбулл

2. Обобщённое распределение Парето и Power law

**Теорема Пикандса-Балкема-де Хаана:** превышения над высоким порогом $u$ сходятся к GPD:

**Power law / распределение Парето:** при $\xi > 0$: $$P(X > x) \sim C \cdot x^{-\alpha}, \quad \alpha = 1/\xi$$ **Признаки Power law:** - Богатство (закон Парето): 80% богатства у 20% людей - $\alpha \approx 1.16$ - Размеры городов (закон Зипфа) - Размеры землетрясений (закон Гутенберга-Рихтера) - Степени вершин в интернет-сети **Опасность Фреше-хвостов:** при $\xi \ge 1/2$ дисперсия бесконечна; при $\xi \ge 1$ - даже среднее. ЦПТ не применима - статистика на основе среднего ненадёжна.

3. VaR, CVaR и управление хвостовым риском

**VaR** (Value at Risk) $= F^{-1}(\alpha)$ - уровень убытка, превышаемый с вероятностью $1-\alpha$. **CVaR** (Conditional VaR, Expected Shortfall) - среднее в хвосте за VaR. CVaR более информативен и когерентен (VaR не субаддитивен). **EVT для редких событий:** если наблюдений $n = 1000$, а нужно оценить квантиль уровня $1/10000$ - экстраполяция через GPD. Без EVT - просто неизвестно, что за пределами данных. **Пример:** 99%-VaR при нормальном хвосте $\ne$ 99%-VaR при тяжёлом хвосте (Парето, Коши). Финансовые кризисы - «чёрные лебеди» - Фреше-хвосты, которые нормальная модель недооценивает.

Теорема Гнеденко: три типа предельных распределений максимума

Аналог ЦПТ для максимумов: нормированный максимум M_n сходится к GEV с параметром ξ. ξ=0: Гумбель (нормальное распределение), ξ>0: Фреше (тяжёлый хвост, степенной закон), ξ<0: Вейбулл (ограниченное сверху).

X_i ~ Cauchy(0,1). К какому типу GEV сходится нормированный максимум?

Коши: степенной хвост P(X>x) ~ 1/(πx) при x→∞ (α=1). Хвостовой индекс ξ = 1/α = 1. Максимум сходится к Фреше с ξ=1. Отсутствие математического ожидания не мешает EVT - теорема требует только существования функции распределения.

Обобщённое распределение Парето и Power law

Теорема Пикандса-Балкема: превышения над высоким порогом u сходятся к GPD(ξ,σ). При ξ>0: тяжёлый хвост P(X>x) ~ C·x^{-α}, α=1/ξ. Признаки: богатство (Парето), размеры городов (Зипф), землетрясения (Гутенберг-Рихтер).

Максимальный убыток банка имеет ξ=0.4 (GPD). Что это означает для риска?

При ξ=0.4: тяжёлый хвост. Дисперсия конечна при ξ<0.5 ✓. Среднее конечно при ξ<1 ✓. Но CVaR = VaR/(1−ξ) = VaR/0.6 - на 67% выше VaR. Нормальное приближение серьёзно недооценивает экстремальные потери.

VaR, CVaR и управление хвостовым риском

VaR_α(X) = F⁻¹(α) - уровень убытка, превышаемый с вероятностью 1−α. CVaR = E[X|X≥VaR_α] - среднее в хвосте. CVaR когерентна (субаддитивна), VaR нет. EVT даёт экстраполяцию хвостов за пределы наблюдаемых данных.

99%-VaR при нормальном хвосте и при тяжёлом (Коши): который больше и почему?

99.9%-VaR: N(0,1) ≈ 3.09, t(df=3) ≈ 10.21 - разница более чем в 3 раза. Тяжёлый хвост P(X>x) ~ x^{-α} убывает степенно, а не экспоненциально. Это и есть «чёрные лебеди» Талеба - редкие но огромные убытки.

Параметр $\xi$ТипНазваниеХвост исходного
$\xi = 0$IГумбельЛёгкий (нормальное, Пуассон)
$\xi > 0$IIФрешеТяжёлый (Парето, Коши)
$\xi < 0$IIIВейбуллОграниченный (равномерное, бета)

Python: три семейства предельных распределений

Максимумы разных распределений сходятся к GEV

```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import gumbel_r, genextreme from scipy.stats import norm, pareto, uniform np.random.seed(42) n_block = 100 # размер блока n_blocks = 5000 # число блоков fig, axes = plt.subplots(1, 3, figsize=(15, 5)) # 1. Нормальное → Гумбель samples_norm = np.random.randn(n_blocks, n_block) block_maxima_norm = samples_norm.max(axis=1) # Нормировка b_n = np.sqrt(2 * np.log(n_block)) # медиана Гумбеля a_n = 1 / b_n norm_max = (block_maxima_norm - b_n) / a_n axes[0].hist(norm_max, bins=50, density=True, alpha=0.7, label='Нормированные максимумы') x_g = np.linspace(-3, 8, 300) axes[0].plot(x_g, gumbel_r.pdf(x_g), 'r-', lw=2, label='Гумбель') axes[0].set_title('N(0,1) → Гумбель (ξ=0)') axes[0].legend(fontsize=8) # 2. Парето → Фреше alpha = 2.0 # хвостовой индекс samples_pareto = pareto.rvs(alpha, size=(n_blocks, n_block)) block_maxima_pareto = samples_pareto.max(axis=1) # Нормировка для Парето: a_n = n^(1/alpha), b_n = 0 a_n_p = n_block**(1/alpha) norm_max_pareto = block_maxima_pareto / a_n_p # Фреше: GEV с xi = 1/alpha xi_frechet = 1/alpha axes[1].hist(norm_max_pareto, bins=50, density=True, alpha=0.7, range=(0, 10), label='Нормированные максимумы') x_f = np.linspace(0.01, 10, 300) axes[1].plot(x_f, genextreme.pdf(x_f, -xi_frechet), 'r-', lw=2, label=f'Фреше (ξ={xi_frechet:.2f})') axes[1].set_title(f'Pareto(α={alpha}) → Фреше (ξ=1/α)') axes[1].legend(fontsize=8) # 3. Равномерное → Вейбулл (обратный) samples_unif = np.random.uniform(0, 1, size=(n_blocks, n_block)) block_maxima_unif = samples_unif.max(axis=1) # Нормировка: b_n = 1, a_n = 1/n a_n_u = 1 / n_block norm_max_unif = (block_maxima_unif - 1) / a_n_u # отрицательные! # Вейбулл: GEV с xi = -1 axes[2].hist(norm_max_unif, bins=50, density=True, alpha=0.7, range=(-5, 0.1), label='Нормированные максимумы') x_w = np.linspace(-5, 0.1, 300) axes[2].plot(x_w, genextreme.pdf(x_w, 1), 'r-', lw=2, label='Вейбулл (ξ=-1)') axes[2].set_title('Uniform(0,1) → Вейбулл (ξ<0)') axes[2].legend(fontsize=8) for ax in axes: ax.set_xlabel('Нормированный максимум') ax.set_ylabel('Плотность') plt.suptitle('Теорема Гнеденко: три типа предельных распределений максимума', fontsize=12) plt.tight_layout() plt.show() ```

X_i ~ Cauchy(0,1). К какому типу GEV сходится нормированный максимум?

Распределение Коши - степенной хвост P(X>x) ~ 1/(πx) при x→∞ (α=1). Хвостовой индекс ξ = 1/α = 1. Поэтому максимум из Коши сходится к Фреше с ξ=1. Отсутствие математического ожидания не мешает EVT - теорема Гнеденко требует только существования функции распределения.

Python: VaR и CVaR при нормальном и тяжёлом хвосте

Почему нормальное приближение опасно для риска

```python import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm, t, genpareto np.random.seed(42) n = 10_000 alpha = 0.99 # уровень VaR # Три модели доходностей normal_returns = np.random.randn(n) student_returns = np.random.standard_t(df=3, size=n) # тяжёлый хвост # Подгонка GPD к хвосту студента from scipy.stats import genpareto threshold = np.percentile(student_returns, 90) exceedances = student_returns[student_returns > threshold] - threshold xi_est, _, sigma_est = genpareto.fit(exceedances, floc=0) print(f'GPD fit: ξ={xi_est:.3f}, σ={sigma_est:.3f}') fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # VaR сравнение for data, label, color in [ (normal_returns, 'N(0,1)', 'blue'), (student_returns, 't(df=3)', 'red') ]: var = np.quantile(data, alpha) cvar = data[data >= var].mean() data_sorted = np.sort(data) emp_cdf = np.arange(1, n+1) / n axes[0].plot(data_sorted, 1 - emp_cdf, label=f'{label}: VaR={var:.2f}, CVaR={cvar:.2f}', color=color, alpha=0.7) # Теоретические хвосты x = np.linspace(-5, 10, 1000) axes[0].plot(x, 1 - norm.cdf(x), 'b--', lw=2, alpha=0.5, label='N(0,1) теория') axes[0].plot(x, 1 - t.cdf(x, df=3), 'r--', lw=2, alpha=0.5, label='t(3) теория') axes[0].set_xlim(0, 8) axes[0].set_yscale('log') axes[0].set_xlabel('x') axes[0].set_ylabel('P(X > x)') axes[0].set_title('Хвостовые вероятности: нормальный vs тяжёлый хвост') axes[0].legend(fontsize=7) axes[0].grid(True) # Квантили при разных уровнях alphas = np.linspace(0.90, 0.999, 50) var_normal = norm.ppf(alphas) var_student = t.ppf(alphas, df=3) axes[1].plot(alphas, var_normal, 'b-', label='N(0,1) VaR', lw=2) axes[1].plot(alphas, var_student, 'r-', label='t(3) VaR', lw=2) axes[1].set_xlabel('Уровень α') axes[1].set_ylabel('VaR_α') axes[1].set_title('VaR: нормальный vs тяжёлый хвост') axes[1].legend() axes[1].grid(True) plt.tight_layout() plt.show() # 99.9% VaR: норм vs t(3) print(f'99.9%-VaR: N(0,1)={norm.ppf(0.999):.2f}, t(3)={t.ppf(0.999, df=3):.2f}') # N(0,1): 3.09, t(3): 10.21 - разница более чем в 3 раза! ```

Максимальный суточный убыток банка имеет $\xi = 0.4$ (GPD хвост). Что это означает для управления риском?

При ξ=0.4 > 0: тяжёлый хвост (Фреше). Дисперсия конечна при ξ < 0.5 ✓. Среднее конечно при ξ < 1 ✓. Но CVaR = VaR/(1-ξ) = VaR/0.6 - на 67% больше VaR. Нормальное приближение серьёзно недооценивает риск экстремальных потерь. Именно поэтому EVT обязателен в риск-менеджменте.

Экстремальные значения - хвосты распределений

EVT завершает картину: ЦПТ для центра, EVT для хвостов.

  • Концентрация меры — Хёффдинг ограничивает хвосты снизу, EVT описывает их реальную форму
  • Информационно-теоретические методы — KL-дивергенция между нормальным и тяжёлым хвостом - мера опасности применения нормальной модели
  • Сходимость случайных величин — Теорема Гнеденко - сходимость по распределению для максимумов: полный аналог ЦПТ

Итоги

  • **Теорема Гнеденко:** нормированный максимум сходится к GEV с параметром $\xi$ (Гумбель/Фреше/Вейбулл)
  • **Три типа:** $\xi=0$ Гумбель (лёгкий хвост), $\xi>0$ Фреше (тяжёлый, Power law), $\xi<0$ Вейбулл (ограниченный)
  • **GPD:** хвосты сверх порога - обобщённое Парето; Power law при $\xi > 0$
  • **VaR/CVaR:** VaR = квантиль, CVaR = среднее в хвосте; EVT даёт экстраполяцию за пределы данных

Вопросы для размышления

  • «Чёрные лебеди» Нассима Талеба - редкие экстремальные события с огромным влиянием. Как EVT формализует это понятие? В каком смысле распределения с ξ > 0 «генерируют» чёрных лебедей?
  • CVaR когерентна (субаддитивна), VaR - нет. Что это означает практически: почему портфель из двух активов может иметь VaR больше суммы VaR составляющих?
  • Power law встречается везде - богатство, трафик, землетрясения. Есть ли механизм, порождающий их? Как «предпочтительное присоединение» (Барабаши-Альберт) порождает Power law в сетях?

Связанные уроки

  • stat-05-hypothesis
Теория экстремальных значений

0

1

Войти