Consensus meta-filtering: идея ≥3 моделей согласны

Trio meta-модель: ≥3 независимых моделей согласны — единственный фильтр. Математика ансамбля, независимость, early результаты.

Проблема single model

Даже лучшая ML модель имеет calibration error. XGBoost HC Cover -3.5 даёт probability 0.65 — но реальная вероятность может быть 0.58 или 0.72. Источники ошибок: (1) train-test distribution shift (исторические паттерны меняются), (2) feature noise (incomplete data для некоторых матчей), (3) fundamental uncertainty — тенисной матч имеет irreducible randomness. Ставка на одной модели = exposure ко всем её персональным слабостям. Статистически: 45-55% WR на single model picks даже при положительном long-term ROI.

Ensemble averaging

Простой ансамбль: усреднить probability от нескольких моделей. Если HC -3.5 XGBoost даёт P=0.65, CatBoost P=0.60, LineMove P=0.62 → ensemble P=0.62. Это снижает variance отдельных моделей, но ставит на ту же линию для каждого матча. Проблема — ансамбль всё равно может ошибаться на out-of-distribution matches, просто чуть менее драматически. Эта стратегия даёт +3-5% ROI over single model, но это marginal.

Consensus filtering (Trio идея)

Радикально другой подход: не усреднять, а **фильтровать**. Сигнал проходит ТОЛЬКО если ≥3 независимых моделей одного семейства (HC / Total / Winner) дают одинаковый pick (одну сторону форы / тотала / winner). Если только 2 согласны — skip. Если 1 согласен — skip. Это резко снижает количество picks (с 200 в неделю до 20-30), но оставшиеся имеют в среднем WR 70-80% vs 50-55% single model. Rationale: независимые модели с разными inductive bias ошибаются ПО-РАЗНОМУ. Если 3+ сошлись на одном mistake = очень редкое событие (скоростная корреляция).

Независимость — ключевое условие

Если 3 модели тренировались на одинаковом dataset с одинаковыми features — они НЕ независимы. Их консенсус почти всегда совпадает (корреляция >0.9). Trio не работает в таком случае. Для реальной независимости требуются: (1) Разные алгоритмы (XGBoost vs CatBoost vs LightGBM quantile). (2) Разные feature sets (classical features vs с добавлением LineMove signals). (3) Разные paradigms (ML vs Pure Math Monte Carlo). Pure Math особенно ценен — вообще не ML, не overfit на history. StarkTennis гарантирует 4 variant per HC line с разной inductive bias.

Математика consensus

Если каждая модель имеет WR 55% на single bet, и 3 модели независимы, probability всех 3 правы на matched pick: 0.55³ = 0.166 (ложный консенсус на 17% матчей). Probability все 3 ошибаются: 0.45³ = 0.091. Итого Trio WR = 0.166 / (0.166 + 0.091) = 0.646 → 65% WR. Это улучшение +10pp vs single model. На практике больше: модели не идеально независимые (shared features), так что 3+ consensus даже сильнее. Empirical WR в StarkTennis на первых 9 Trio picks: 78% (выше theoretical 65% — возможно luck на малой выборке).

Результаты и ограничения

Первые 9 Trio picks в StarkTennis (HC + Total семейства): 7W/2L/0 void, WR 78%, ROI +139.9%, PnL +9920₽. Это early sample — нужно 30-50 picks для statistical significance. Ограничения: (1) Picks редкие (5-10 в неделю) — capital не работает на полную. (2) Одновременно Trio и base picks тех же моделей совпадают в ~8% матчей — нельзя ставить обе (double exposure same bet). (3) Требует 3+ variants per family — Winner пока имеет только 1 модель (Pure Math), Winner Trio не срабатывает. В roadmap — обучить winner_catboost / winner_linemove для full Winner Trio coverage.

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

Можно ли понизить порог с ≥3 до ≥2 variants?

Технически да, но тогда это не Trio а Duo. Sample size ставок растёт в 3-4x, но WR падает до ~60%. Trio-style разрабатывался именно для максимальной уверенности. Duo есть альтернативный путь если нужно больше action.

Работает ли Trio на других sports?

Концепт универсальный. Любая sport с несколькими marketами (spread/total/winner) и возможностью построить 3+ независимых моделей per market — benefits from consensus filtering. В StarkBasket мы планируем то же самое когда добавим winner_catboost и winner_linemove varianты.

Что если 4 модели согласны, а 3 нет?

Trio триггерится при ≥3. Не требует unanimous (4/4). Если все 4 сошлись — это Double-Trio сценарий, ещё сильнее сигнал. Но ≥3 достаточно для emit.

Смотри также: модели StarkTennis

Другие статьи блога

Посмотреть live прогнозы

Теория — полезно, практика — полезнее. Все модели StarkTennis работают в реальном времени:

📊 Открыть миниапп

Telegram канал: @cxcap. Обновление каждые 30 минут. Всё бесплатно.