Гонщики «Ф-1» разных эпох несравнимы? Наш блогер рискнул выявить сильнейшего по уникальной математической модели
От редакции: выявление лучших пилотов в истории «Формулы-1» – одна из самых любимых и острых тем в среде гоночных фанатов. Кто лучше – Сенна или Прост, Фанхио или Кларк, Шумахер или Хэмилтон? Наиболее закаленные в спорах болельщики давно считают, что определить величайшего пилота объективно невозможно – разные уровни машин, подготовки спортсменов, факторы надежности техники и прогресса спорта в целом чрезмерно усложняют любые попытки сравнивать героев настоящего и прошлого в лоб.
Однако наш читатель Михаил Пивненко уверен, что выявить лучших гонщиков все-таки можно – с помощью рейтинга Эло, который давно используется в шахматах.
Что послужило катализатором идеи?
Я долго исследовал различные наборы данных о «Ф-1», включая историческое количество обгонов в Гран-при, внутрикомандные результаты гонок и квалификаций в текущем сезоне, прогресс лучшего круга в квалификации и гонке на треке и так далее. В середине 2023-го на Kaggle я наткнулся на работу нескольких энтузиастов – они обрабатывали официальные данные «Ф-1» в Python и выкладывали свои визуализации. Но эти работы были поверхностные и не раскрывали потенциал данных. Я связался с автором блога и получил от него ссылку на исходный ресурс. Автор в разговоре упомянул попытки рассчитать рейтинг Эло среди пилотов для выявления лучшего из лучших. Еще один участник блога также рассчитывал Эло, но они оба не пытались вникнуть в детали, которые мешали получить достойный результат.
Концепция
Я видел статью Рейтинги всех пилотов по принципу из шахмат и мне понравился один из комментариев, цитирую: «Вот что бывает когда математические модели используются идиотами. Это не рейтинг пилотов, это рейтинг машин с поправкой на пилота» Полностью согласен – доминирующая машина искажает рейтинг как вибрации стокфиша сами догадываетесь где у Ханса Моке Ниманна.
В своей концепции я придерживался следующих правил:
Каждая квалификация – это отдельно взятая партия между пилотами за рулем двух или более машин одного конструктора
Каждая гонка – это отдельно взятая партия между пилотами за рулем двух или более машин одного конструктора
Результаты каждой партии заканчиваются победой или поражением двух участников
Математическая модель Эло распределяет рейтинг после каждой партии с нулевой суммой, поэтому Эло конструктора остается неизменным, а один из пилотов получает частичку рейтинга своего напарника
Основы математической модели, описание официальных данных, трудности, связанные с очисткой данных, а также шахматные нюансы ЭЛО приведены в конце этой статьи для заинтересовавшихся читатей.
Так с чего же стартуют пилоты? С 1500 рейтинга Эло при первом своем попадании в Гран-при!
Далее рейтинг растет или убывает в зависимости от рейтинга напарника. В противостоянии с сильным напарником пилот заработает много рейтинга за каждую победу в квалификации и гонке, а потеряет при поражении чуть-чуть. В борьбе с равным по Эло оппонентом прибавки и потери Эло будут одинаковы. В противостоянии со слабым напарником больше рискует потерять сам пилот, а доминация дает небольшую, но регулярную прибавку рейтинга.
В качестве примера давайте рассмотрим одного из самых худших пилотов современности – Макса Ферстаппена. Он статистически хуже всех своих напарников и абсолютная посредственность на трассе.
Карьеру в Toro Rosso Макс начал совместно с таким же новичком сезона Карлосом Сайнсом, поэтому рейтинг обоих пилотов стартовал с 1500 и менялся в соответствии с совместными результатами квалификаций и гонок. Можно отметить, что они шли вровень до ГП Японии 2015, потом Карлос полностью уничтожил Макса, а после ГП России 2016 их пути разошлись (навсегда?).
Как мы видим Макс проиграл 47 очков рейтинга Сайнсу, поэтому после ГП России рейтинг Ферстаппена стал 1453 (1500 - 47), а Сайнса 1547 (1500 + 47) соответственно.
Следующим напарником был более рейтинговый на тот момент Риккардо (1668 на момент начала противостояния). Как мы видим уже за первый неполный совместный сезон Дэниэл просто унизил Макса. Сезон 2017 похож по развитию сюжета против Сайнса - очередное унижение голландского пилота.
Далее Ферстаппен проиграл Гасли и Албону, скатившись на дно рейтинга всех времён.
Серхио Перес за три полных сезона оказался ровней своему криворукому напарнику, поэтому их рейтинги почти не изменились
Какой вывод можно сделать из примера выше? Чем сильнее оппонент и чем выше его рейтинг, тем больше можно поднять свой рейтинг. Доминация над слабым напарником не так эффективна, а еще более рискованная в случае локальных поражений. Теперь перейдем к самому вкусному – визуализации результатов исследования и выявлению лучших по номинациям рейтинга Эло.
Лучшие из лучших
Основными критериями выбора лучших – три характеристики:
Среднее Эло за время выступлений
Эло на момент завершения карьеры
Пиковое Эло за время выступлений
Среднее Эло за всю карьеру
Лучшие в этом списке определенно являются топ-пилотами, которые стабильно побеждали своих напарников, при этом их карьера обошлась без явных провалов и внутрикомандных поражений.
Явно выделяется Сенна. Он разгромно побеждал всех своих напарников, особенно досталось Алену Просту (28:4 квалы и 19:13 гонки) и Майклу Андретти (13:0 и 11:2). У 5 из 10 напарников Айртон выиграл квалификации под ноль. Обидно, что три технических схода на «Уильямсе» 1994 года подарили Дэймону Хиллу 37 очков Эло под конец карьеры.
Михаэль второй абсолютно заслуженно и с запасом. Его основные потери Эло были с Баррикелло и Массой, да и общий процент побед 74% в квалах (для сравнения у Сенны 89%) и 64% в гонках (у Сенны 66%). Росберг выиграл разгромно (43:15 в квалах и 36:22 в гонках), но по рейтингу на начало 2010 года был уже выше Михаэля, так как достойно выступил против Уэббера и уничтожил Вурца. Как итог — Михаэль даже проиграв остался с +3 Эло от Росберга.
Льюис и Алонсо снова близки как в памятном 2007-м. Для многих будет неожиданностью 6-е место Хайнца-Харальда Френтцена, но это был очень сильный пилот, который не стал чемпионом сам, но выступал в командах с чемпионами мира и статистически побеждал их, собирая урожай Эло. Также в топ-10 вошли соответственно очередности: Алези, Френтцен, Прост, Бергер, Макс Ферстаппен и Нико Росберг. Если окинуть взглядом топ-27, то там много знакомых имен в следующем порядке: Расселл, Фитипальди, Хаккинен, Панис, Патрезе, Трулли, Феттель, Жак Вильнев, Пике-старший, Леклер, Вандорн, Баттон, Норрис, Модена, Кеке Росберг, Боттас и Хант.
Важно! У меня было сильное желание ввести сглаживание современных сезонов с историческими, добавив еще одну компоненту в дерево решений ИИ, что сказалось бы на коэффициенте K.
Сдерживающими факторами стали: мнение редактора, что преданья старины глубокой не позволят прокатиться на волне хайпа современных пилотов, которые известны молодой аудитории sports.ru и реальность шахматной вселенной – рейтинг топ-10 в классику значительно выше чемпионов прошлого. Например, великие чемпионы мира Капабланка, Ботвинник, Ласкер и Таль достигали пикового рейтинга 2700-2725 за всю карьеру, более поздние чемпионы, Карпов и Фишер – 2780, а Каспаров* (признан иноагентом в России) – 2851. Рейтинга 2700 хватило бы на 37 место в текущем рейтинге сразу позади узбекского гроссмейстера Синдарова.
Карпов и Фишер в своей пиковой форме боролись бы за пятую строчку с Яном Непомнящим и действующим чемпионом Дин Лиженем. 12 из играющих ныне гроссмейстеров пробивали рейтинг 2816 в своей пиковой форме. В рапиде и блице рейтинги еще выше, 55 человек на данный момент имеют рейтинг выше 3000 в пулю. Причина проста – чем больше партий (Гран-при), тем выше вероятность набрать заветные очки.
Давайте разбираться, а действительно ли современные пилоты и гроссмейстеры заслуживают быть выше чемпионов и выдающихся личностей прошлого? На мой субъективный взгляд – да! Шахматная молодежь училась с использованием компьютеров, а не книг, также в их руках было больше партий для изучения и компьютер заметно ускорял процесс обучения. Аналогично пилоты «Ф-1» имеют доступ к большему числу данных и проводят тысячи часов на симуляторе каждый год. Два вида спорта сильно сплетены, несмотря на столь явные различия. В прошлом талант имел больший вес и разрывы между результатами были огромны. В наши дни пелотон очень близок, как и рейтинги топ-100 гроссмейстеров. Как бы это не прагматично звучало, но количество перешло в качество, поэтому современный шахматист или пилот имели бы солидную фору перед чемпионами прошлого. Руки прочь от ИИ сказал я себе и оставил честные нетронутые результаты.
Эло на момент окончания карьеры
Очевидно, что Хэмилтон сейчас на пике своей карьеры после семи чемпионств с Мерседесом, 35-очковый отрыв от второго места Айртона – наглядное подтверждение. Прост третий в 40 очках позади Сенны. Бергер четвертый, так как смог выиграть по Эло у Сенны (+53), но проиграл на закате карьеры Алези (-46). Майк Хоутоун – пятый! Уверен, что большинство полезет сейчас в гугл, чтобы узнать кто это такой. Я отмечу следующее: 18:3 по квалам, 14:5 по гонкам, победитель Фанхио в том самом финише четырех машин в 5 секундах, чемпион мира-1958 в свой первый и последний полноценный сезон, умер через три месяца в автокатастрофе недалеко от Лондона. Шестой – Алекс Албон – доминатор над Логаном Саржентом. Дополнили топ-10: Петров, Боттас, Расселл и Ирвайн. Михаэль Шумахер только 18-й, а Фернандо Алонсо – 28-й (Окон за время плодотворного сотрудничества в «Альпин» откусил аж 203 рейтинга).
Если вы думаете, что я пройду мимо седьмого места Виталия Петрова, то вы ошибаетесь. В 2010-м он уступил Кубице и потерял 103 очка, но совместными усилиями Бруно Сенны и Ника Хайдфельда ушел в +155 за 2011-й. В 2012-м выступил на равных с имевшим топовый рейтинг за свою карьеру Хейкки Ковалайненом (1802), откусив у него 198 очков. Шикарные 1750 Эло, браво, Виталий!
Пиковый Эло, наверно, самый интригующий момент исследования. Кто же был лучшим на пике своих возможностей, в лучший сезон против лучших оппонентов?
Айртон Сенна – 2009 Эло. Гений и кумир многих пилотов на решетке даже сейчас. Среди его оппонентов-спонсоров топового рейтинга всегда были сильнейшие: де Анджелис (+109), Прост (+122), Бергер (-53), Андретти (кстати, как там поживает его команда?), Хаккинен и Дэймон Хилл.
Пик пришелся на квалификацию Гран-при Португалии 1992 года. Кто знает, каких высот он мог добиться, если бы жизнь трагически не оборвалась на 159-м Гран-при. Фернандо Алонсо для сравнения преодолел 380-й Гран-при и, думаю, первым перешагнет отметку в 400 в 2024-м.
Второй – Алонсо. Фернандо, безусловно, уникальный гонщик. Основными донорами в его карьере были Алекс Йонг (+75) и Жак Вильнев (+96) всего по три гонки каждый, Фелипе Масса (+90, в 2012-м в Спа Фернандо достиг 1940 Эло) и Нельсон Пике младший (+72). В 2018 на Гран-при Монако Алонсо смог улучшить свой результат – 1942 Эло. Интересно, что Вандорну (-20), Баттону (-20), Хэмилтону (-130) и Окону (-203) суммарно по рейтингу Фернандо проиграл, у остальных 10 оппонентов выиграл.
Третий – Михаэль Шумахер – 1934 Эло. Легенда и кумир, можно всю жизнь болеть против него, но не уважать нельзя. Пиковые годы карьеры пришлись на 1995-99 годы и сезон-2001, которые он закончил выше феноменальных 1900 рейтинга. Пик рейтинга Эло пришелся на квалификацию Сильверстоуна-1997.
Четвертый – Льюис Хэмилтон – 1903 Эло. Один из самых стабильных пилотов в истории «Формулы-1»: восемь сезонов выше 1850 Эло (2013, 2015, 2017-2022).
Пятый и последний из преодолевших планку в 1900 Эло – Жан Алези.
Топ-10 дополняют: Жак Вильнев, Бергер, Френтцен, Трулли и Найджел Мэнселл. Отдельно хочу отметить 20-е место Витторио Брамбиллы. Витторио – удивительный итальянский пилот, выступавший в 70-х в слабых конюшнях, выиграв внутрикомандное соперничество у 14 оппонентов, а проиграл только одному, будучи резервным пилотом в последний год карьеры.
Статистические монстры
Именно так называется последняя страница моего дашборда. В качестве отсечки одноразовых выскочек стоит фильтр на участие в 20 Гран-при. Информация отсортирована по проценту побед над напарниками в квалах и гонках, указано количество побед и поражений соответственно, а также средняя позиция в квалах и гонках, так можно идентифицировать героев слабых команд.
Отдельно хочется упомянуть феноменальные 44:0 от Фанхио на четырех разных машинах против 22 разных напарников, включая Стирлинга Мосса. Его средняя стартовая позиция внушает ужас – 1,55.
Фанхио, Аскари и Кларк стартовали в среднем с первого ряда. Сенна, Мосс, Хэмилтон, Стюарт, Прост, Хоутоун и Шумахер – в среднем со второго ряда.
Айртон Сенна выделяется на фоне монстров, которые одержали более 100 побед над напарниками в квалификации 141:18 и 89% побед.
Михаэль Шумахер, его легендарные соперники Мика Хаккинен и Фернандо Алонсо, Нельсон Пике, а также наш недавний знакомый Витторио Брамбилла расположились на границе 75% побед над напарниками.
В гонках первые две строчки также занимают Фанхио и Аскари. Это великие результаты без преувеличения, учитывая низкую надежность техники в 50-е годы.
Фанхио – единственный, кто в среднем приезжал на подиум. Кларк, Хэмилтон, Аскари, Ферстаппен, Стюарт и Шумахер в среднем заканчивали гонки в топ-6 (по старой системе начисления очков).
В клубе «более 100 побед над напарниками» выделяются Алонсо (68%) и Сенна (66%). Более 100 побед и более 60% побед у Шумахера, Пике, Хэмилтона, Проста и Феттеля. Также стоит отметить слабейшего в клубе – Фелипе Массу 104:167 и его 38% побед над напарниками.
Обратная связь
Объем информации, полученной от алгоритма Эло, огромный. Аналитические возможность анализа этой информации безграничны. В качестве примеров я могу разобрать:
рейтинги пилотов на временных отрезках, например, по десятилетия
рейтинги пилотов по национальностям или континентам
детальный анализ топовых действующих пилотов или героев прошлого
Предлагайте свои идеи в комментариях.
Надеюсь, что самые интересные мы сможем воплотить в следующих материалах на Sports.ru.
Для тех, кому не надоело читать – ниже приведены основы математической модели, описание официальных данных и трудности, связанные с очисткой данных.
Описание исходных данных
«Ф-1» делится следующими наборами данных:
• Справочники (трассы, конструкторы, пилоты, сезоны, статусы)
• Агрегаты за сезон (пилоты, конструкторы, тренд позиций по сезону)
Детальные данные:
Квалификации (включая Q1, Q2, Q3)
Спринты (по позициям отдельно от ГП)
Гонки (время, место, ссылки)
Пит-стопы
Времена каждого круга для каждого пилота
Результаты каждого Гран-при (квала+гонка по позициям, очкам и сходам)
Последний датасет – самый полный и важный в исследовании. Агрегаты я игнорировал – они есть в свободном доступе везде. Времена каждого круга – самый большой датасет, поэтому я скормил его ИИ, но об этом позже.
Очистка данных
Первые шишки пришлось набивать на проблемах с данными, о которых не позаботились другие авторы. Алгоритм пережил 21 версию, поэтому ченджлог был полон правок.
Начнем с того, что в далеком прошлом конструкторы выставляли вплоть до пяти машин на Гран-при, поэтому у многих ветеранов 50-х рейтинг гарцевал похлеще эмблемы «Феррари». Пришлось вводить ничьи между пилотами, а потом отказываться и от них из-за чрезмерного сглаживания рейтингов.
В итоге дееспособной оказалась модель, когда в партии участвовали лучший и худший пилот каждого конструктора в отдельно взятой квале или гонке. Следующий глюк доводил меня до бешенства – несколько позиций и результатов одного пилота в Гран-при. Помогли ссылки на википедию в датасете гонки – в текстовой версии я узнал, что пилот мог пересесть на машину напарника в случае поломки своей, при этом напарник сходил, но и первая машина пилота сходила по данным. Особенно этим грешил великий Хуан-Мануэль Фанхио. Пришлось выравнивать данные напильником.
Чудеса на виражах не закончились – в 70-х и 80-х некоторые команды выставляли всего один болид из-за финансовых трудностей. Я заметил это в дашборде, когда Сенна чудесным образом проиграл и выиграл у себя 6 раз на 11, 12 и 13 этапах 1984 года. Очередной раз убедился, что аналитический и алгоритмический циклы связаны и нужно перепроверять свои алгоритмы в визуализациях.
Конечно, были и мелкие правки по устранению хаоса, так как «Ф-1» начала собирать данные в 2009, за год осилив исторический фрагмент на двадцать лет вспять до 1990-го. В 2010 они завершили сбор исторических данных еще на 40 лет вплоть до 1950 и стали накапливать результаты инкрементально. Из-за этой чехарды в справочнике пилотов первый идентификатор достался Льюису Хэмилтону, наверняка это будеть бесить многих читателей – все вопросы к «Ф-1».
Алгоритм, баги и модель данных
Первая версия модели включала в себя time series пилотов и рейтинга Эло. Впоследствии она расширилась исходным Эло, Эло квалификации, Эло гонки и коэффициентом K из математической модели для отладки. Позднее я пришел к тому, что для красивой визуализации нужно добавить вторую time series в качестве лога изменений, включив в нее пилота, напарника, рейтинга Эло обоих, изменения Эло в каждой партии (квале или гонке), позиции пилота и напарника в квале и гонке, а также Ex – смоделированный прогноз противостояния согласно алгоритму Эло. Математическая модель наиболее читабельно представлена здесь.
Одной из важных итераций стал анализ результатов и резкие скачки рейтинга для пилотов пропускавших гонки или даже целые сезоны. Спасибо Фернандо Алонсо и его отпуску. Промежуточные массивы данных решили эту проблему.
Что такое K и Ex на пальцах и почему они так важны?
Для простоты возьмем меня с рейтингом 2001 на chess.com, а также великого и ужасного Магнуса Хенриковича Карлсена с его мечтой пробить 2900 когтем бобра!
Ex – это вероятность победы согласно математической модели.
Давайте посчитаем мои шансы против Магнуса на бумаге: 0.56% против 99.44% (шанс есть!)
K – это коэффициент распределения Эло нашего матча, чем больше K – тем больше можно получить или потерять рейтинга в случае победы/ничьи/поражения.
Шахматные федерации жестко регулируют K: 16 если в матче участвует международный мастер ФИДЕ и 32 для остальных смертных. Прибавки/потери рейтинга могут быть только целыми числами, поэтому всего округляются стандартным round(x,0). Отдельные энтузиасты считают рейтинг с одним и даже двумя знаками после запятой, но это не официально.
Давайте рассмотрим три исхода нашего заочного противостояния с Магнусом по переписке:
Очевидный результат: Магнус получит +0 к рейтингу (0.0896 округлится до нуля), а я -0.
Неожиданная ничья: Магнус получит -8, и зеркально +8 мне.
Вибрации стокфиша и моя уверенная победа позволят мне откусить максимально возможные в нашей паре 16 пунктов рейтинга.
Я использовал ИИ для генерации K и пришел к этому по следующим причинам. Доминация пилота над напарником рентачом в слабом коллективе зачастую выливалась в завышенный рейтинг – недавние примеры Расселл и Албон в Williams. Командная тактика явление неприятное, но присущее командам-чемпионам. Что делал ИИ:
анализировал самый большой датасет кругов и выявлял аномалии при смене позиций, учитывая датасет питстопов, чтобы отсеять андеркаты и оверкаты
выявлял таким образом командную тактику, сопоставляя темп каждого пилота
сглаживал K для доминаций сезонного типа, когда один из напарников вчистую проигрывал своему оппоненту весь сезон
диапазон разрешенных K от 16 до 48, график плотности приведен ниже
Работой алгоритма с использованием Machine Learning я остался доволен с 5 итерации. Распределение результатов было близко к нормальному, что наглядно демонстрирует график выше.
Отдельная благодарность KNIME за лучшее программное обеспечение для обработки данных. Кстати оно полностью бесплатное для частного использования как в моем случае:
Фото: Gettyimages.ru/Kamran Jebreili – Pool; imago sportfotodienst, Keystone Pictures USA/ZUMAPRESS.com, Marcus Brandt/dpa/Global Look Press
ELO рассчитан на то, что ты постоянно играешь матчи с разными соперниками, из-за чего ты так же относительно сравниваешься с другими. Он вообще нерепрезентативен в контексте повторяющейся битвы с одним и тем же напарником по ходу одного сезона (а иногда вообще нескольких)
Тот же Расселл выше Норриса/Леклера только из-за того, что 3 года набивал рейтинг против Кубицы и Латифи. Причем против Кубицы, у которого был высокий рейтинг за хорошие выступления в нулевых, хотя "новый" Кубица очевидно и близко не на уровне старого ездил.
Она учитывает следующее:
- Приехать первым ценно
- Приехать в лидирующей группе ценно
- Плевать, на то, каким ты приехал, если ты не приехал в лидирующей группе
- Плевать, насколько быстро ты ехал, если ты не доехал
- Квалификация это квалификация, а не часть гонки, фактически это посев
В матмодель просто необходимо добавлять результат гонки. Потому что иначе великий сезон Сенны в 1986 году (восемь поулов, борьба с Пике, Простом и Мэнселлом за чемпионский титул) нивелируется тем, что его напарником был Джонни Дамфриз с эло 1500, покинувший Ф-1 после того сезона и никогда больше там не выступавший
Нет, серьезно, сколько рейтинга набрал Сенна в сезоне-1986 по этой модели?
P.S. Даже на одном из ваших скриншотов, Сенна за последние три гонки сезона-93 получил минус двадцать один в рейтинг... Выиграв из этих трех гонок две, на третьей машине пелотона, против одного действующего чемпиона мира и трех будущих.
Короче, в этом и соль гонок)))
Как все пилоты пилоты проехали бы на одинаковых - было бы супер интересно. Могли бы в межсезонье какой-нибудь Порше Кубок сгонять на пару дней, я бы посмотрел.
Особенно по квалификациям. Габриэле Таркуини шестой в рейтинге. Лучшая стартовая позиция - 11-я. Зато такой парень как Рене Арну с 18 поулами в таблице не значится.
Прикол Эло в том, что шахматист играет с кучей разных людей, что Эло считается даже на районных турнирах, что в партии участвуют два человека, и что у шахматиста не может на девятнадцатом ходу взорваться ферзь.
1. Не все команды и не всегда имели 2 равноценные машины. Маловероятно, что Беннетон Херберта в 1984 был таким же, как у Михаэля.
2. Команды, которые стремятся наверх, машину второго пилота могут ипользовать как тест-лабраторию.
3. В разное время команды и правила по-разному относились к командной тактике.
4. Не в каждой команде пилоты изначально сопоставимого уровня. Один может быть талантливым и получать зарплату, второй - рента-драйвет. Это искажает качество обработки данных.
Что касается Стоффеля - вовремя в Формулу Е эвакуировался.