Формула полной вероятности

Учимся собирать вероятность события из вкладов разных сценариев — ступенька к формуле Байеса.

Формула полной вероятности выражает вероятность события через сумму его условных вероятностей по всем взаимоисключающим гипотезам, взвешенных их вероятностями.

Часто событие может произойти разными путями. Завод собирает деталь на одной из трёх линий с разным процентом брака; письмо приходит либо от друга, либо от спамера. Чтобы найти общую вероятность, нужно сложить вклады всех сценариев. Это делает формула полной вероятности — мост между условной вероятностью и теоремой Байеса. Её логику легко прочувствовать на бытовом примере. Допустим, вы оцениваете вероятность опоздать на работу. Она зависит от способа добраться: на метро опоздания редки, на автобусе чаще, пешком — как повезёт. Чтобы получить общую вероятность опоздания, вы мысленно взвешиваете каждый сценарий тем, как часто им пользуетесь, и складываете. Если метро вы выбираете в половине случаев, автобус — в трети, а пешком ходите изредка, итоговая вероятность опоздать соберётся именно из этих взвешенных вкладов. Формула полной вероятности — это ровно такой подсчёт, только записанный аккуратно и пригодный для любой задачи с несколькими сценариями.

Идея разбиения

Пусть гипотезы $H_1, H_2, \dots, H_m$ образуют полную группу: они взаимоисключающи и покрывают все возможности, так что $\sum_i P(H_i)=1$. Тогда вероятность любого события $A$ собирается из вкладов каждой гипотезы:

$$P(A)=\sum_{i=1}^{m} P(H_i)\,P(A\mid H_i).$$

Каждое слагаемое — это «вероятность пойти по пути $H_i$» умноженная на «вероятность $A$, если мы уже на этом пути». Сумма по всем путям и даёт полную вероятность.

Задача о двух урнах

В первой урне 7 белых и 3 чёрных шара, во второй — 2 белых и 8 чёрных. Мы случайно выбираем урну (поровну) и тянем шар. Какова вероятность вытащить белый? По формуле:

$$P(\text{бел})=\frac{1}{2}\cdot\frac{7}{10}+\frac{1}{2}\cdot\frac{2}{10}=\frac{9}{20}=0{,}45.$$

import random
random.seed(4)

urn1 = ["W"]*7 + ["B"]*3
urn2 = ["W"]*2 + ["B"]*8

n = 600000
white = 0
for _ in range(n):
    urn = urn1 if random.random() < 0.5 else urn2
    if random.choice(urn) == "W":
        white += 1
print("Симуляция P(белый):", round(white / n, 4))
print("Теория 0.45:       ", 0.45)

Вывод:

Симуляция P(белый): 0.4503
Теория 0.45:        0.45

Симуляция в точности воспроизвела «двухступенчатый» эксперимент: сначала выбор урны (гипотеза), потом извлечение шара (событие при гипотезе). Доля белых сошлась к $0{,}45$.

Дерево вероятностей

Формулу удобно представлять деревом: от корня расходятся ветви-гипотезы с весами $P(H_i)$, от каждой — ветви исходов с весами $P(A\mid H_i)$. Вероятность листа — произведение весов вдоль пути, а $P(A)$ — сумма всех листьев, где случилось $A$. Это та же формула, но нарисованная.

           1/2          7/10  W   -> 0.35
          /----- Урна1 -----\
 root ---*                    3/10  B
          \----- Урна2 -----/
           1/2          2/10  W   -> 0.10
                        8/10  B

Складывая листья с белым: $0{,}35+0{,}10=0{,}45$ — тот же ответ.

Как работает под капотом

В коде ветвление urn1 if random.random() < 0.5 else urn2 моделирует выбор гипотезы, а random.choice(urn) — событие при выбранной гипотезе. Вложенная случайность естественно складывает вклады: половину времени мы тянем из урны с долей белых $0{,}7$, половину — из урны с долей $0{,}2$. Усреднение по многим повторениям и реализует ту самую сумму $\sum P(H_i)P(A\mid H_i)$, только численно.

Частые ошибки

Первая ошибка — забыть домножить условную вероятность на вес гипотезы: нельзя просто усреднить $\frac{7}{10}$ и $\frac{2}{10}$, если урны выбираются неравновероятно. Вторая — взять гипотезы, которые пересекаются или не покрывают все случаи; формула требует именно полной группы взаимоисключающих событий. Третья — перепутать $P(A\mid H_i)$ и $P(H_i\mid A)$: первое известно из условия, второе мы будем искать формулой Байеса в следующем уроке.

Итог

  • Формула полной вероятности собирает $P(A)$ из вкладов всех гипотез.
  • Гипотезы должны образовывать полную группу взаимоисключающих событий.
  • Каждый вклад — это $P(H_i)\cdot P(A\mid H_i)$.
  • Дерево вероятностей — наглядная форма той же формулы.
Проверьте себя
1. Что требуется от гипотез в формуле полной вероятности?
AОни должны быть независимы
BОни должны образовывать полную группу взаимоисключающих событий
CИх должно быть ровно две
DОни должны быть равновероятны
2. Чему равно каждое слагаемое в формуле полной вероятности?
AP(A | H_i)
BP(H_i) · P(A | H_i)
CP(H_i) + P(A)
DP(A) / P(H_i)
3. В задаче о двух равновероятных урнах (доли белых 0,7 и 0,2) чему равна P(белый)?
A0,9
B0,45
C0,7
D0,2