Модель Дикса — Коулса: что это такое простыми словами

Обновлено: 24.10.2026 · чтение ~7 мин

Суть модели Дикса — Коулса

Модель Дикса — Коулса — это умная надстройка над классическим распределением Пуассона для футбольных счетов. В отличие от базового варианта, она вводит зависимость между голами команд. Ключевой элемент — скорректированная интенсивность λ_ij(t), которая не просто перемножает силу атаки хозяев и защиты гостей, а динамически меняется в зависимости от текущего счета и времени. Это позволяет точнее оценивать вероятность редких исходов, например, счета 0:0 или 1:0, где стандартный Пуассон часто ошибается.

Чтобы учесть, что гол одной команды меняет поведение другой (кто-то раскрывается, кто-то тянет время), вводится весовой параметр τ(λ, μ, γ). Он корректирует совместную вероятность забитых мячей. Если хозяева ведут в один мяч, τ снижает вероятность того, что гости тут же отыграются, отражая реальную динамику матча. Это критически важно для live-аналитики, где счет диктует сценарий игры.

Динамика силы во времени

Сила команд не статична. Модель применяет экспоненциальное взвешивание к прошлым матчам: недавние игры влияют на рейтинг гораздо сильнее, чем матчи годичной давности. Коэффициент затухания (обычно около 0,006–0,03) определяет, как быстро команда «забывает» старые результаты. Условный пример: поражение в прошлые выходные ударит по рейтингу в 10 раз сильнее, чем проигрыш в начале прошлого сезона. Это делает прогноз актуальным к текущей форме.

Математическая структура и параметры

В основе модели лежат четыре базовых вектора параметров. Для каждой команды i заданы атакующий рейтинг α_i и оборонительный β_i. Чем выше α, тем чаще команда создаёт моменты; чем ниже β, тем надёжнее защита. Условный пример: у «Зенита» α=1.4, β=0.8, у «Спартака» α=1.1, β=1.0. Это значит, что петербуржцы в среднем опаснее впереди и чуть лучше сзади. Сумма всех α и β обычно фиксируется для идентифицируемости, чтобы шкала была уникальной.

Чтобы старые матчи не искажали картину, вводится функция формы ω(t)=exp(−κ·t), где t — время в днях, а κ>0 — скорость «забывания». При κ=0.01 вес игры месячной давности составит около 0.74, а полугодовой — 0.22. Это позволяет модели гибко реагировать на текущую форму, не выбрасывая историю целиком.

Все коэффициенты — α, β, а также параметры взаимодействия ξ и ζ для голов в близкие интервалы времени — оцениваются методом максимального правдоподобия. Мы максимизируем логарифм правдоподобия L по всем параметрам θ: ищем такие значения, при которых вероятность именно тех счётов, что случились в выборке, максимальна. На практике это численная оптимизация (например, BFGS), где градиент L вычисляется автоматически.

Отличие от базовой модели Пуассона

Стандартная пуассоновская модель исходит из допущения, что количество голов одной команды никак не зависит от голов другой. В реальности это не так: если соперник забил три мяча к 20-й минуте, темп игры меняется, и распределение вероятностей искажается. Базовая формула просто перемножает шансы, из-за чего неверно оценивает редкие, но важные счета. Дикс и Коулс ввели поправку на зависимость. Их метод пересчитывает вероятности для самых частых низких исходов — 0:0, 1:0, 0:1 и 1:1. Вместо слепого перемножения используется параметр «сцепления», который корректирует веса этих счетов в зависимости от общей результативности матча. Для беттера это дает преимущество на рынках тоталов. Если базовая модель занижает шанс 0:0, переоценивая 2:1, то Дикс — Коулс возвращает баланс. Повышается точность при ставках на ТМ 2.5, где исход часто решают один-два гола, а также на точный счет, где маржа букмекера обычно выше.

Сравнение на условном примере

СчетБазовый ПуассонДикс — Коулс
0:0ЗаниженаКорректируется вверх
1:0 / 0:1ИскаженаСбалансирована
2:2 и вышеПочти без измененийПочти без изменений

Практическая реализация и данные

Минимум данных — это сырые результаты за два-три полных сезона: даты, хозяева, гости и счета. Важна свежесть: матчи старше 12 месяцев получают экспоненциальный вес, иначе модель живет вчерашним днем. Для РПЛ хватит 480–560 игр, чтобы стабилизировать оценки. Инструменты под задачу давно известны. В R используют engsoccerdata для выгрузки и bivpois для оценки, в Python — NumPy и SciPy с оптимизатором minimize. Главное — корректно задать функцию правдоподобия с динамическим весом времени.

Проверка на переобучение

Калибровку ведите на in-sample (например, сезон 2024/25), а проверяйте на out-of-sample (2025/26). Если на обучении лог‑правдоподобие растет, а на тесте падает — вы переобучили шум. Исправляют это регуляризацией или урезанием памяти времени.

    • Разделите массив: обучение — 70% хронологически ранних игр, тест — 30% поздних.
    • Оцените параметры, зафиксируйте их и посчитайте вероятностные счета на тесте.
    • Сравните по ранговой вероятности (RPS): чем ниже, тем точнее ранжированы исходы.

Выводы

Модель Дикса — Коулса по-прежнему остается золотым стандартом футбольной аналитики. Она дает объективную оценку силы команд, не опираясь на xG, а работая напрямую с ударами и голами. Это делает её независимой от модных метрик и шумов ожидаемых голов.

На рынках тоталов она точнее базового Пуассона, так как учитывает корреляцию счета через параметр. В live-режиме веса устаревающих событий позволяют быстро пересчитать вероятности после гола. Условный пример: если вес гола падает вдвое за 15 минут, модель за 10 минут «забывает» быстрый старт фаворита и корректирует тотал вниз.

Независимость от xG[/pro] Чувствительность к правилам[/con]

Главная слабость — чувствительность к изменениям. Введение новых правил фиксации офсайда или трактовки фолов меняет интенсивность моментов. Без регулярной перенастройки на свежих данных модель начинает систематически ошибаться. Её нельзя настроить раз и навсегда: калибруйте веса и пороги минимум раз в месяц, иначе преимущество исчезнет.

Частые вопросы

В чем главное отличие модели Дикса — Коулса от простого распределения Пуассона?

Простое распределение Пуассона предполагает, что количество голов, забитых каждой из команд, — это независимые события. Модель Дикса — Коулса вводит поправку на зависимость между счетами в конце матча, корректируя совместное распределение вероятностей. Это позволяет точнее учитывать, как низкий счет одной команды влияет на вероятный счет другой в последние минуты игры.

Как рассчитать параметр корреляции тау в модели Дикса — Коулса?

Параметр тау (τ) рассчитывается путем максимизации функции правдоподобия для тех матчей, где зависимость между голами наиболее вероятна, обычно при низких счетах. Математически это весовая функция, которая равна 1, если зависимость не проявляется, и меньше 1, если гол одной команды снижает вероятность гола другой. На практике его значение находят численными методами оптимизации, например, алгоритмом BFGS, вместе с рейтингами силы.

Какие данные нужны для построения модели Дикса — Коулса на Python?

Вам необходим исторический массив данных, содержащий дату матча, названия хозяев и гостей, а также количество забитых ими голов. Для более точного прогноза на 24 октября 2026 года рекомендуется использовать данные минимум за последние 2–3 полных сезона, чтобы учесть текущую форму лиг. Дополнительно можно включить веса матчей, чтобы снижать влияние устаревших результатов.

Почему модель Дикса — Коулса лучше предсказывает счет 0:0?

Стандартный Пуассон часто переоценивает вероятность счета 0:0, так как не учитывает психологический эффект: если одна команда забивает, другая вынуждена раскрываться, что увеличивает общий тотал. Модель Дикса — Коулса вводит отрицательную корреляцию для низких счетов, математически «штрафуя» совместную вероятность нуля голов у обеих команд. Это делает прогноз 0:0 более реалистичным и близким к наблюдаемой статистике.

Как часто нужно обновлять рейтинги силы команд в этой модели?

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