← Назад к вопросам

Что такое Байесовская теорема и когда она применяется?

2.7 Senior🔥 151 комментариев
#Статистика и теория вероятностей

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Байесовская теорема: основы

Байесовская теорема (Bayes' Theorem) — это математическая формула, которая описывает вероятность события на основе предварительного знания об условиях, которые могут быть связаны с этим событием.

Формула:

P(A|B) = P(B|A) * P(A) / P(B)

Где:

  • P(A|B) — апостериорная вероятность (вероятность A при условии B)
  • P(B|A) — вероятность B при условии A
  • P(A) — априорная вероятность A
  • P(B) — полная вероятность B

Смысл: Мы обновляем нашу веру (априорная вероятность) на основе новых данных (likelihood) и получаем более точную оценку (апостериорная вероятность).

Классический пример: медицинский тест

Сценарий:

  • Заболеваемость редкой болезнью: 1% населения
  • Тест точный на 99% (если болезнь есть, тест показывает положительно в 99%)
  • Тест ошибается в 5% случаев, когда болезни нет (ложно-положительный результат)

Вопрос: Если тест положительный, какова реальная вероятность что у человека болезнь?

Интуиция: "99% точный тест, значит 99%?" — НЕПРАВИЛЬНО!

Расчет по Байесу:

  • P(болезнь) = 0.01 (априор)
  • P(тест+|болезнь) = 0.99 (чувствительность)
  • P(тест+|нет болезни) = 0.05 (ложно-положительный)
  • P(тест+) = P(тест+|болезнь) * P(болезнь) + P(тест+|нет) * P(нет)
       = 0.99 * 0.01 + 0.05 * 0.99 = 0.0099 + 0.0495 = 0.0594

P(болезнь|тест+) = (0.99 * 0.01) / 0.0594 = 0.0099 / 0.0594 = 0.167 = 16.7%

Только 16.7%! Хотя тест показывает положительно. Почему? Потому что болезнь редкая, и большинство положительных результатов — ложные срабатывания.

Практические примеры в аналитике

Пример 1: Выявление фрода в платежах

Задача: Заказ стоит 10000 рублей. Система определила его как потенциальный фрод (подозрение). Какова реальная вероятность фрода?

P(фрод) = 0.5% (априор: в целом 0.5% всех заказов — фрод)
P(фрод-флаг|фрод) = 0.95 (95% фрод выявляется)
P(фрод-флаг|нет фрода) = 0.02 (2% легитимных заказов помечаются как фрод)

P(фрод|фрод-флаг) = (0.95 * 0.005) / (0.95 * 0.005 + 0.02 * 0.995)
                 = 0.00475 / (0.00475 + 0.0199)
                 = 0.00475 / 0.02465
                 = 19.3%

Даже с флагом фрода реальная вероятность только 19.3%. Нужно больше сигналов для блокировки.

Пример 2: Email spam detection

Задача: Письмо содержит слово "бесплатно". Какова вероятность что это спам?

P(спам) = 30% (в целом 30% писем — спам)
P("бесплатно"|спам) = 0.8 (80% спама содержит это слово)
P("бесплатно"|не спам) = 0.1 (10% легитимных писем содержат это слово)

P(спам|"бесплатно") = (0.8 * 0.3) / (0.8 * 0.3 + 0.1 * 0.7)
                    = 0.24 / (0.24 + 0.07)
                    = 0.24 / 0.31
                    = 77.4%

Применение в разных областях

1. Персонализация рекомендаций

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

2. A/B тестирование

Байесовский подход позволяет вычислить вероятность что вариант A лучше B раньше, чем frequentist подход.

import pymc as pm
import numpy as np

# Байесовское A/B тестирование
with pm.Model() as model:
    p_A = pm.Beta('p_A', alpha=1, beta=1)
    p_B = pm.Beta('p_B', alpha=1, beta=1)
    
    # Наблюдаемые данные
    obs_A = pm.Binomial('obs_A', n=1000, p=p_A, observed=120)  # 120 конверсий из 1000
    obs_B = pm.Binomial('obs_B', n=1000, p=p_B, observed=150)  # 150 конверсий из 1000
    
    trace = pm.sample(2000)
    
# Получаем распределение вероятностей

3. Определение причины проблемы

Проблема: API упал. Какова вероятность что это из-за переполнения памяти?

P(memory_overflow) = 10% (историческая частота)
P(API_down|memory) = 0.9 (90% раз когда память переполняется, API падает)
P(API_down|other) = 0.3 (30% раз других причин тоже приводят к падению)

P(memory|API_down) = (0.9 * 0.1) / (0.9 * 0.1 + 0.3 * 0.9)
                   = 0.09 / (0.09 + 0.27)
                   = 0.09 / 0.36
                   = 25%

Байесовский vs Frequentist подход

АспектБайесFrequentist
ВероятностьСтепень веры (субъективно)Частота событий
АприорУчитывает предыдущее знаниеИгнорирует
ИнтерпретацияP(A|B) — вероятность гипотезыP(данные|гипотеза)
ВыборкаМожно остановить когда ответ ясенНужно зафиксировать размер
ИспользованиеРеальные данные, когда информация ограниченаБольшие объемы данных

Когда использовать Байеса

Используй:

  • Когда у тебя есть предыдущие знания (историческая частота)
  • Когда нужна вероятность гипотезы (не данных)
  • Когда выборка маленькая
  • Когда нужно быстро принять решение

Не используй:

  • Когда нет информации о априоре
  • Когда много данных и частотный подход работает
  • Когда нужна полная объективность

Заключение

Байесовская теорема — мощный инструмент, который помогает обновлять нашу веру на основе новых данных. Это основа многих алгоритмов в ML, рекомендациях и аналитике. Главное — правильно выбрать априорную вероятность и не путать P(A|B) с P(B|A).

Что такое Байесовская теорема и когда она применяется? | PrepBro