Линейность математического ожидания
Знакомимся с самым мощным и недооценённым инструментом теории вероятностей.
Линейность ожидания — свойство $\mathbb{E}[X+Y]=\mathbb{E}[X]+\mathbb{E}[Y]$, верное всегда, даже если $X$ и $Y$ зависимы.
Есть теорема, которая кажется слишком простой, чтобы быть полезной, — а на деле решает задачи, перед которыми пасует прямой подсчёт. Это линейность математического ожидания. Её сила в том, что она не требует независимости: складывать ожидания можно всегда. Сравните с дисперсией: чтобы сложить дисперсии, нужна независимость слагаемых, иначе появляется поправка на корреляцию. У ожидания такого ограничения нет вовсе — и это превращает его в почти волшебный инструмент. Многие задачи, которые в лоб требуют громоздкого перебора всех исходов или хитрых сумм по сочетаниям, после разбиения величины на простые слагаемые решаются в две строки. Именно поэтому опытные решатели, увидев вопрос «сколько в среднем...», первым делом пытаются представить искомую величину как сумму чего-то простого. В этом уроке мы отработаем этот приём на двух классических задачах, перед которыми прямой подсчёт практически бессилен.
Формулировка
Для любых случайных величин и констант:
$$\mathbb{E}[aX+bY]=a\,\mathbb{E}[X]+b\,\mathbb{E}[Y].$$
В отличие от дисперсии, здесь нет оговорки про независимость — формула справедлива даже для сильно связанных величин. Это делает её универсальным «разбивателем» сложных величин на простые слагаемые.
Приём индикаторов
Главный трюк: представить сложную величину как сумму индикаторов — величин, равных 1, если некоторое событие произошло, и 0 иначе. Ожидание индикатора равно вероятности события: $\mathbb{E}[\mathbb{1}_A]=P(A)$. Тогда ожидание суммы — это просто сумма вероятностей.
Классическая задача: бросаем кубик до тех пор, пока не выпадут все 6 граней (задача о коллекционере купонов). Сколько бросков в среднем нужно? Ответ красиво выводится через линейность:
$$\mathbb{E}[T]=\sum_{k=1}^{6}\frac{6}{6-k+1}=6\left(1+\frac12+\frac13+\frac14+\frac15+\frac16\right)=14{,}7.$$
Каждое слагаемое — ожидаемое число бросков, чтобы получить новую, ещё не виденную грань. Проверим симуляцией.
import random
random.seed(12)
def rolls_to_collect_all():
seen = set()
count = 0
while len(seen) < 6:
seen.add(random.randint(1, 6))
count += 1
return count
n = 500000
avg = sum(rolls_to_collect_all() for _ in range(n)) / n
print("Среднее число бросков:", round(avg, 4))
print("Теория 14.7: ", round(6*(1+1/2+1/3+1/4+1/5+1/6), 4))Вывод:
Среднее число бросков: 14.7041 Теория 14.7: 14.7
Симуляция подтвердила: чтобы собрать все шесть граней, в среднем нужно около 15 бросков — и последняя, недостающая грань обычно заставляет долго ждать.
Почему это работает без независимости
Ожидание — это сумма (или интеграл) по исходам, а сумма линейна по своей природе: переставить порядок суммирования значений всегда можно. Зависимость влияет на совместное распределение, но ожидание суммы зависит лишь от каждого слагаемого по отдельности. Поэтому корреляция меняет дисперсию, но не трогает ожидание.
Ещё пример: ожидаемое число совпадений
Сколько в среднем человек из $n$ вытянут «свою» шляпу, если шляпы раздать случайно? Пусть $X_i=1$, если $i$-й получил свою. Тогда $\mathbb{E}[X_i]=\frac{1}{n}$, и по линейности $\mathbb{E}[\sum X_i]=n\cdot\frac{1}{n}=1$ — ровно один человек в среднем, независимо от размера компании. Прямой подсчёт через перестановки был бы кошмаром, а линейность даёт ответ в одну строку.
Как работает под капотом
В симуляции коллекционера мы не пользуемся формулой ряда гармонических чисел — мы честно бросаем кубик, пока множество seen не наберёт все 6 граней, и усредняем число бросков. То, что среднее сходится к $6H_6$, подтверждает разбиение на индикаторы: ожидание полного времени равно сумме ожиданий времён ожидания каждой новой грани, хотя эти времена зависимы (чем больше собрано, тем дольше ждать следующую).
Частые ошибки
Первая ошибка — думать, что линейность требует независимости, и не применять её там, где она спасла бы. Вторая — переносить «линейность» на произведение: $\mathbb{E}[XY]\neq\mathbb{E}[X]\mathbb{E}[Y]$ в общем случае (равенство только для независимых). Третья — путать линейность ожидания с аддитивностью дисперсии: ожидание складывается всегда, дисперсия — только для независимых.
Итог
- Ожидание линейно: $\mathbb{E}[X+Y]=\mathbb{E}[X]+\mathbb{E}[Y]$ всегда, без условий.
- Приём индикаторов сводит сложную величину к сумме вероятностей.
- Коллекционеру купонов нужно в среднем $6H_6\approx 14{,}7$ бросков.
- Для произведения линейности нет: $\mathbb{E}[XY]\neq\mathbb{E}[X]\mathbb{E}[Y]$ в общем случае.