Закон больших чисел: сходимость частоты к p
Разбираем, почему частота неизбежно стягивается к вероятности, и наблюдаем это вживую.
Закон больших чисел — при росте числа независимых испытаний частота события сходится по вероятности к его вероятности $p$.
В прошлом уроке мы заметили: чем больше бросков, тем ближе доля успехов к теоретическому значению. Это не совпадение, а фундаментальный закон. Он объясняет, почему страховые компании, казино и опросы общественного мнения вообще работают: на больших числах случайность усредняется и поведение становится предсказуемым. Страховщик не знает, попадёт ли в аварию конкретный клиент, но точно знает долю аварий на сто тысяч клиентов — и на ней строит тарифы. Казино может проиграть отдельную ставку, но на миллионе ставок его математическое преимущество обращается в стабильную прибыль почти без риска. Социолог опрашивает не всю страну, а пару тысяч человек, и закон больших чисел гарантирует, что доля ответов в выборке близка к доле во всём населении. Во всех трёх случаях работает одна и та же идея: индивидуальная случайность непредсказуема, но коллективная — почти детерминирована.
Формулировка
Пусть в каждом испытании событие $A$ происходит с вероятностью $p$. Обозначим $\hat{p}_n$ — долю появлений $A$ в первых $n$ испытаниях. Закон больших чисел утверждает, что для любого сколь угодно малого $\varepsilon \gt 0$
$$P\bigl(|\hat{p}_n - p| \ge \varepsilon\bigr) \to 0 \quad \text{при } n \to \infty.$$
Иначе говоря, вероятность того, что частота заметно отклонится от $p$, стремится к нулю. Частота не обязана попасть точно в $p$, но крупные отклонения становятся всё менее вероятными.
Наблюдаем сходимость
Будем бросать монету и печатать накопленную долю орлов на отметках $10, 100, 1000, \dots$ Видно, как число прижимается к $0{,}5$.
import random
random.seed(1)
heads = 0
checkpoints = [10, 100, 1000, 10000, 100000, 1000000]
n = 0
for target in checkpoints:
while n < target:
n += 1
if random.random() < 0.5:
heads += 1
print(f"n={target:>7} частота={heads/n:.4f}")Вывод:
n= 10 частота=0.4000 n= 100 частота=0.5300 n= 1000 частота=0.4970 n= 10000 частота=0.5031 n= 100000 частота=0.5009 n=1000000 частота=0.5002
Уже к миллиону бросков частота отличается от $0{,}5$ лишь в четвёртом знаке. Колебания не исчезают совсем, но их амплитуда падает.
Как быстро сходится
Скорость сходимости задаёт типичный масштаб отклонения частоты от $p$, который убывает как
$$\sigma_{\hat{p}_n}=\sqrt{\frac{p(1-p)}{n}}.$$
Корень в знаменателе означает: чтобы повысить точность в 10 раз, число испытаний нужно увеличить в 100 раз. Поэтому первые цифры после запятой стабилизируются быстро, а каждый следующий знак даётся всё дороже.
Как работает под капотом
Каждый бросок — независимая случайная величина, равная 1 при успехе и 0 при неудаче. Среднее таких величин и есть частота. Чем больше слагаемых в среднем, тем сильнее «хорошие» и «плохие» отклонения гасят друг друга: положительные и отрицательные ошибки в среднем компенсируются. Математически это следует из того, что дисперсия среднего убывает обратно пропорционально $n$. Закон больших чисел — это утверждение именно о среднем большого числа независимых слагаемых, и мы строго докажем его инструменты в разделе про математическое ожидание.
Частые ошибки
Самая коварная — «закон малых чисел»: ожидание, что закономерность больших чисел проявится уже на короткой серии. Десять бросков ничего не гарантируют. Вторая ошибка — думать, что закон обещает равенство числа орлов и решек. Он обещает сходимость доли к $0{,}5$, а абсолютная разница между числом орлов и решек обычно как раз растёт с $n$ (медленнее, чем сам $n$). Третья — забыть про условие независимости: если броски зависимы, частота может сходиться к другому числу или не сходиться вовсе.
Итог
- Закон больших чисел гарантирует сходимость частоты к вероятности $p$.
- Сходится именно доля, а не абсолютная разница числа успехов и неудач.
- Точность растёт как $1/\sqrt{n}$: каждый новый знак стоит в 100 раз больше испытаний.
- Условие — независимость и одинаковость испытаний.