Добавить в корзинуПозвонить
Найти в Дзене

Consensus meta-filtering: как работает Trio в StarkTennis

Даже лучшая 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. Простой ансамбль: усреднить 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. Радикально другой подход: не усреднять, а **фильтровать**. Сигнал проходит
Оглавление

Проблема 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 в текущей production сейчас использует 3 реально независимых варианта на HC/Total линию: BASE (XGBoost ensemble), CatBoost, LineMove. Дополнительные Quantile v1 и PureMath — отдельные семейства-модели, не мержатся в Trio напрямую. Roadmap: добавить XGBoost-retrain и PureMath-suffix как полноценные 4-й и 5-й варианты для усиления signal до 4/5 и 5/5 консенсуса.

Математика 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 на малой выборке).

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

На 31 settled Trio picks (HC + Total семейства): 20W/10L/1 void, WR 66.7%, ROI +49.8% от unit stake, real PnL +14 946₽. Среднее odds 2.32. Для сравнения — те же модели без consensus filter: 164W/186L из 350 picks, WR 46.9%, ROI +4.4%. Trio дает +20 percentage points WR и +45 pp ROI. Ограничения: (1) Picks редкие (1-3 в день на всю базу матчей). (2) Одновременно Trio и base picks тех же моделей совпадают в ~8% матчей — нельзя ставить обе (double exposure same bet). (3) Текущий Trio = 3-вариантный (BASE+CatBoost+LineMove); planned expansion до 5-вариантного с добавлением XGBoost-retrain и PureMath-suffix для 4/5 и 5/5 consensus levels.

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

**Можно ли понизить порог с ≥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ты.

**Сколько всего вариант-моделей в Trio-группе?**

До 5 вариантов одного семейства: CatBoost, XGBoost, LineMove, Quantile v1, PureMath. Triggering threshold — ≥3 из 5. Если 4/5 — strong consensus (реже случается, WR исторически +7-10pp выше baseline Trio). Если 5/5 — unanimous max signal (редкий случай, но на дистанции WR 85%+). В UI эти сценарии помечаются значком консенсуса.

Полная аналитика: starktennis.ru

Disclaimer: материалы носят образовательный характер. Не являются инвестиционным или букмекерским советом. 18+.