Содержание курса 13 / 22

13 / 22 · Предельные теоремы

Закон больших чисел

Почему средние стабилизируются около математического ожидания: слабый закон из неравенства Чебышёва, усиленный закон и что добавляет сходимость почти наверное, леммы Бореля–Кантелли, которые разделяют эти два вида сходимости, оценка математических ожиданий и интегралов методом Монте-Карло с ошибкой порядка 1/√n в любой размерности и средние, которые не стабилизируются: нет среднего, тяжёлые хвосты.

На этой странице 10

Вводная заметка показала, как доля орлов в бросках монеты приближается к половине, и назвала вероятность частотой в длинной серии испытаний. Закон больших чисел превращает это наблюдение в теорему: среднее независимых копий случайной величины сходится к её математическому ожиданию. Именно он делает вероятность измеримой, валидационный результат — осмысленным, а симуляцию — методом вычислений. В этой заметке мы формулируем закон в двух формах, объясняем два вида сходимости, которые они используют, и превращаем закон в метод Монте-Карло.

Обозначения. X1,X2,…X_1, X_2, \dots — н.о.р. величины со средним μ\mu (и, где это нужно, дисперсией σ2\sigma^2); Xˉn=(X1+⋯+Xn)/n\bar X_n = (X_1 + \dots + X_n)/n. Событие происходит почти наверное (almost surely), если его вероятность равна 1.

Слабый закон#

Для любого ε>0\varepsilon > 0

P(∣Xˉn−μ∣≥ε)→0при n→∞.P\big(\lvert \bar X_n - \mu \rvert \ge \varepsilon\big) \to 0 \quad \text{при } n \to \infty .

Среднее сходится по вероятности (converges in probability) к μ\mu: при большом nn отклонение любого фиксированного размера маловероятно. При конечной дисперсии доказательство занимает одну строку предыдущей заметки: неравенство Чебышёва ограничивает вероятность величиной σ2/(nε2)\sigma^2/(n\varepsilon^2). Хинчин показал, что достаточно конечного среднего, без каких-либо предположений о дисперсии.

Усиленный закон#

Слабый закон говорит об одном большом nn за раз. Он оставляет открытым вопрос, не может ли конкретная бесконечная последовательность бросков вечно совершать отклонения от среднего — всё более редкие, но не прекращающиеся. Усиленный закон (strong law) это исключает:

P(Xˉn→μ)=1.P\big(\bar X_n \to \mu\big) = 1 .

Среднее сходится почти наверное: с вероятностью 1 последовательность средних как числовая последовательность имеет предел μ\mu. Колмогоров доказал это при том же предположении, что и Хинчин, — конечном среднем. Из сходимости почти наверное следует сходимость по вероятности, но не наоборот.

На практике это различие редко важно: оба закона говорят, что одна длинная симуляция или одна большая валидационная выборка дают среднее, близкое к математическому ожиданию. Оно важно для алгоритмов, которые бесконечно продолжают одну траекторию, таких как стохастический градиентный спуск или цепь Маркова: там вопрос в том, сходится ли именно эта траектория.

Леммы Бореля–Кантелли#

Дополнительный материал: инструмент, который различает два вида сходимости, и идея простейшего доказательства усиленного закона. Остальная часть заметки на него не опирается.

Разницу легче всего увидеть на индикаторах. Пусть A1,A2,…A_1, A_2, \dots — независимые события и Xn=1AnX_n = \mathbb 1_{A_n}. Если P(An)→0P(A_n) \to 0, то Xn→0X_n \to 0 по вероятности. Сходится ли Xn→0X_n \to 0 почти наверное, т. е. перестают ли события в конце концов происходить, решают леммы Бореля–Кантелли (Borel–Cantelli lemmas): если ∑nP(An)<∞\sum_n P(A_n) < \infty, то почти наверное происходит лишь конечное число событий AnA_n; если события независимы и ∑nP(An)=∞\sum_n P(A_n) = \infty, то почти наверное их происходит бесконечно много.

Рисунок

Сходимость по вероятности и почти наверное

Моменты событий в двух последовательностяхВерхние шесть строк: штрихи разбросаны до конца оси. Нижние шесть строк: штрихи только в самом начале.P(Aₙ) = 1/n: сумма расходится, события продолжаютсяP(Aₙ) = 1/n²: сумма сходится, события прекращаются11010²10³10⁴10⁵Моменты событий в двух последовательностяхВерхние шесть строк: штрихи разбросаны до конца оси. Нижние шесть строк: штрихи только в самом начале.P(Aₙ) = 1/n:сумма расходится, события продолжаютсяP(Aₙ) = 1/n²:сумма сходится, события прекращаются11010²10³10⁴10⁵
Независимые события Aₙ, n от 1 до 100 000, по шесть прогонов; штрих отмечает каждое n, при котором Aₙ произошло (ось логарифмическая). В обоих случаях P(Aₙ) → 0, так что индикатор Aₙ сходится к нулю по вероятности. Сверху P(Aₙ) = 1/n: сумма вероятностей расходится, и в каждом прогоне события продолжают случаться сколь угодно поздно (между 10⁴ и 10⁵ хотя бы одно — с вероятностью 0.9). Снизу P(Aₙ) = 1/n²: сумма конечна, и после нескольких первых шагов событий нет; это сходимость почти наверное.

При P(An)=1/nP(A_n) = 1/n ожидаемое число событий до 10510^5 равно 1+12+⋯+1105≈12.11 + \frac12 + \dots + \frac{1}{10^5} \approx 12.1, и они не прекращаются: вероятность хотя бы одного события между 10410^4 и 10510^5 равна 1−104105=0.91 - \frac{10^4}{10^5} = 0.9. При P(An)=1/n2P(A_n) = 1/n^2 ожидаемое общее число равно π2/6≈1.64\pi^2/6 \approx 1.64, и почти всё оно приходится на первые шаги. Простейшее доказательство усиленного закона применяет первую лемму к событиям {∣Xˉn−μ∣≥ε}\{\lvert \bar X_n - \mu \rvert \ge \varepsilon\}, вероятности которых убывают достаточно быстро, если хвосты распределения достаточно лёгкие, например при конечном четвёртом моменте; если конечно только среднее, доказательство требует более тонкого рассуждения.

Оценка методом Монте-Карло#

Интегралы становятся математическими ожиданиями, если выбрать распределение. Площадь четверти круга x2+y2≤1x^2 + y^2 \le 1 в единичном квадрате равна P(U12+U22≤1)=π/4P(U_1^2 + U_2^2 \le 1) = \pi/4 для независимых равномерных U1,U2U_1, U_2, поэтому π\pi оценивается учетверённой долей случайных точек, попавших внутрь:

Рисунок

Число π методом Монте-Карло

Точки в квадрате и четверть кругаИз 2000 точек 1583 внутри четверти круга; оценка π равна 3.166.4 · 1583 / 2000 = 3.166π = 3.142, стандартная ошибка ≈ 0.037Точки в квадрате и четверть кругаИз 2000 точек 1583 внутри четверти круга; оценка π равна 3.166.4 · 1583 / 2000 = 3.166π = 3.142, стандартная ошибка ≈ 0.037
2000 равномерных точек в единичном квадрате; синие попали в четверть круга x² + y² ≤ 1, площадь которой π/4. Доля попаданий 1583/2000 даёт оценку 4 · 1583/2000 = 3.166 со стандартной ошибкой около 0.037; фактическая ошибка этой оценки, |оценка − π|, равна 0.024. Закон больших чисел гарантирует, что оценка сходится к π, а ошибка убывает как 1/√n.

С миллионом точек оценка равна 3.14133.1413 при стандартной ошибке 0.00160.0016: метод Монте-Карло медленный — три верных знака за миллион сэмплов, а каждый следующий знак обходится в сто раз дороже. Его сила в том, что скорость 1/n1/\sqrt n не зависит от размерности. Сетке с 10 точками на ось в 10 измерениях нужно 101010^{10} точек; оценка объёма 10-мерного единичного шара, π5/120=2.55\pi^5/120 = 2.55, методом Монте-Карло по миллиону случайных точек куба [−1,1]10[-1, 1]^{10} равна 2.532.53. Относительная стандартная ошибка, 2%, велика (фактическая ошибка в этом запуске — 0.9%) потому, что внутрь шара попадает лишь одна точка из 400: оценивать вероятность редкого события простым сэмплированием дорого, и именно эту задачу решает выборка по значимости (importance sampling).

Тот же принцип проходит через всё машинное обучение. Функция потерь на отложенных данных — оценка риска методом Монте-Карло, градиент по мини-батчу — оценка полного градиента, доля правильных ответов на валидационной выборке — оценка вероятности верного ответа, а функция потерь вариационного автоэнкодера после репараметризации — оценка математического ожидания по латентным кодам.

Когда средние не сходятся#

Закону нужно конечное среднее, а его скорость зависит от хвостов.

  • Нет среднего. У распределения Коши из заметки о математическом ожидании его нет, и среднее nn сэмплов стандартного распределения Коши снова имеет стандартное распределение Коши — с тем же разбросом, что и один сэмпл. Его средние по 10210^2, 10410^4 и 10610^6 сэмплам в коде ниже равны −0.01-0.01, −0.33-0.33 и 2.862.86: больше данных не помогает.
  • Среднее есть, дисперсии нет. Распределение Парето с показателем хвоста 1.51.5 имеет среднее 3 и бесконечную дисперсию. Его средние сходятся, но медленно и скачками — всякий раз, когда приходит одно огромное значение: 3.223.22, 3.743.74, 3.043.04 при тех же объёмах выборки. Так ведут себя доходы, размеры файлов и число подписчиков аккаунта, а вместе с ними и посчитанные по ним средние.
  • Зависимость. Средние зависимых значений, например последовательных состояний цепи Маркова, всё равно сходятся при условиях, которые изучает заметка о цепях Маркова, но эффективное число сэмплов, как правило, меньше nn.

Что изменилось#

ДоС законом больших чисел
Вероятность как частотанаблюдениетеорема: Xˉn→μ\bar X_n \to \mu почти наверное
Сходимостьинтуитивнаяпо вероятности (слабый закон) и почти наверное (усиленный закон), их разделяют леммы Бореля–Кантелли
Математические ожидания и интегралывычисляются аналитическиоцениваются усреднением сэмплов, ошибка σ/n\sigma/\sqrt n в любой размерности
Когда не работаетнет среднего (Коши), бесконечная дисперсия (медленно), зависимость (меньше эффективных сэмплов)

Ограничения#

  • Закон ничего не говорит о скорости. Насколько Xˉn\bar X_n близко к μ\mu при данном nn, говорят неравенства предыдущей заметки или центральная предельная теорема следующей.
  • Одинаковая распределённость — это предположение. Если распределение дрейфует, как поведение пользователей между обучением и развёртыванием, среднее сходится к среднему меняющейся цели или вообще ни к чему.
  • Метод Монте-Карло медленный для редких событий и малой допустимой погрешности. Относительная ошибка растёт, когда целевая вероятность уменьшается; для этого и существуют снижение дисперсии, выборка по значимости и квазислучайные последовательности.

Что нужно запомнить#

  • Слабый закон: P(∣Xˉn−μ∣≥ε)→0P(\lvert \bar X_n - \mu \rvert \ge \varepsilon) \to 0 (сходимость по вероятности); усиленный закон: P(Xˉn→μ)=1P(\bar X_n \to \mu) = 1 (сходимость почти наверное). Обоим нужно только конечное среднее.
  • Леммы Бореля–Кантелли: если ∑P(An)<∞\sum P(A_n) < \infty, то почти наверное происходит лишь конечное число AnA_n; для независимых событий из ∑P(An)=∞\sum P(A_n) = \infty следует, что почти наверное их происходит бесконечно много.
  • Метод Монте-Карло: E[g(X)]≈1n∑g(Xi)E[g(X)] \approx \frac1n \sum g(X_i) сходится, если E∣g(X)∣<∞E\lvert g(X) \rvert < \infty; при конечной дисперсии его стандартная ошибка равна σ/n\sigma/\sqrt n, где σ\sigma — стандартное отклонение g(X)g(X); скорость не зависит от размерности.
  • Без среднего (Коши) средние не стабилизируются; при бесконечной дисперсии они стабилизируются медленно и скачками.

Код#

Два вида сходимости, два интеграла методом Монте-Карло и средние, которые ведут себя плохо:

import numpy as np, math

rng = np.random.default_rng(0)

# independent events with P(A_n) = 1/n and 1/n^2, n up to 100,000: how many happen, 1,000 runs each
N = 100_000
n = np.arange(1, N + 1)
c1 = [int((rng.random(N) < 1 / n).sum()) for _ in range(1000)]
c2 = [int((rng.random(N) < 1 / n**2).sum()) for _ in range(1000)]
print(round(float(np.mean(c1)), 2), round(float(np.sum(1 / n)), 2), round(float(np.mean(c2)), 2), round(math.pi**2 / 6, 2))   # 12.05 12.09 1.68 1.64
print(1 - 10_000 / 100_000, round(1 - float(np.prod(1 - 1 / n[100:] ** 2)), 4))   # 0.9 0.0099: an event after 10^4 (1/n); after 100 (1/n^2)

# Monte Carlo: pi from the unit square, and the volume of the 10-dimensional unit ball
u = rng.random((2, 1_000_000))
print(round(4 * float(((u**2).sum(axis=0) <= 1).mean()), 4), round(4 * math.sqrt(math.pi / 4 * (1 - math.pi / 4) / 1e6), 4))   # 3.1413 0.0016
x = rng.uniform(-1, 1, (1_000_000, 10))
share = float(((x**2).sum(axis=1) <= 1).mean())
print(round(share * 2**10, 3), round(math.pi**5 / 120, 3), round(math.sqrt(share * (1 - share) / 1e6) / share, 3))   # 2.527 2.55 0.02

# no mean: Cauchy averages wander; a finite mean with infinite variance (Pareto, mean 3) converges slowly
c = rng.standard_cauchy(10**6)
p = rng.pareto(1.5, 10**6) + 1
print([round(float(c[:k].mean()), 2) for k in (10**2, 10**4, 10**6)], [round(float(p[:k].mean()), 2) for k in (10**2, 10**4, 10**6)])
# [-0.01, -0.33, 2.86] [3.22, 3.74, 3.04]

Дальше#

Закон больших чисел говорит, куда идёт среднее; правило 1/n1/\sqrt n — насколько далеко от цели оно обычно находится. Ни то ни другое не говорит, какую форму имеют его колебания. Следующая заметка показывает, что эта форма почти всегда одна и та же — нормальное распределение, каким бы ни было распределение отдельных слагаемых, — и превращает этот факт в интервалы погрешности.

Литература#

  • J. K. Blitzstein, J. Hwang. Introduction to Probability, 2nd ed. CRC Press, 2019. Глава 10 (закон больших чисел).
  • W. Feller. An Introduction to Probability Theory and Its Applications, Vol. 1, 3rd ed. Wiley, 1968. Глава X (закон больших чисел), глава VIII (леммы Бореля–Кантелли).
  • A. N. Shiryaev. Probability-1, 3rd ed. Springer, 2016. Глава 2, §10 (виды сходимости).
  • A. N. Shiryaev. Probability-2, 3rd ed. Springer, 2019. Глава 4, §1–3 (законы нуля или единицы и усиленный закон больших чисел).
  • C. P. Robert, G. Casella. Monte Carlo Statistical Methods, 2nd ed. Springer, 2004. Глава 3 (интегрирование методом Монте-Карло).