Машинное обучение для бега - анализ данных и введение.

Göteborgsvarvet - крупнейший полумарафон в мире. В мае 2019 года гонка отметила свой 40-летний юбилей, собрав более 50 000 бегунов и 200 000 зрителей.

Как зритель, вы можете следить за списком бегунов и следить за их прогрессом на протяжении забега. Это возможно благодаря контрольно-пропускным пунктам вдоль трассы, которые бегуны проходят каждые 5 километров. Это интересный способ следить за своими друзьями, когда вы их не видите. Вы также увидите прогнозируемое время финиша для ваших бегунов, которое основано на их среднем темпе на данный момент.

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

Мы исправим это в этой серии блогов, которая разделена на три части:

  • Часть 1. Анализ данных (вы здесь)
    Что мы можем узнать, просто посмотрев на данные с разных сторон?
  • Часть 2 - Анализ гордыни
    Какие возрастные и гендерные группы переоценивают свои способности больше всего? Эта часть также включает в себя разработку некоторых функций, которые будут очень полезны в нашей модели прогнозирования, описанной в части 3.
  • Часть 3 - Прогноз времени финиша бегуна
    Насколько хорошо мы можем предсказать время финиша бегуна до и во время забега?

Гонка

Göteborgsvarvet - это полумарафон по центральным частям Гетеборга. У него довольно сложная кривая высоты по сравнению с другими полумарафонами в крупных городах. Если мы используем данные о высоте из Google Maps, мы можем построить график высоты гонки. Недостатком данных о высоте от Google является то, что они основаны исключительно на земной поверхности, как показано ниже:

Набор данных

Чтобы ответить на вышеперечисленные вопросы, у нас есть табличный набор данных, состоящий из ~ 39000 бегунов (по одному в каждой строке - включая только бегунов, которые действительно стартовали). 35% бегунов - женщины (13 600). В него включены данные только за 2019 год, что является жестким ограничением. Если бы у нас были исторические данные за последние 20 лет или около того, мы могли бы сделать гораздо больше.

Хотя есть несколько бегунов со всего мира, большинство из них - из Швеции и Центральной Европы:

Помимо национальности и родного города (указываемых каждым бегуном при регистрации), у нас есть следующая информация:

Общая информация

  • Возраст
  • Пол
  • Начальный номер
  • Стартовая группа
  • Компания

Время работы каждого бегуна:

  • 5 km
  • 10 km
  • 15 km
  • 20 km
  • Финиш (21 км)

Мы сделаем много разных складок этих данных, чтобы понять это. Визуализация набора данных дает нам хорошее представление о популяции бегунов - это поможет нам при разработке функций для модели машинного обучения в части 3.

Давайте поближе познакомимся с нашими бегунами:

Распределение времени на финише по полу

Распределение по возрасту

Возрастное распределение очень интересно, поскольку ни одна кривая (мужская или женская) не принадлежит нормальному распределению. Вероятно, можно было бы написать эссе о том, почему мы видим такое внезапное сокращение бегунов в возрасте 30–40 лет, но я предполагаю, что дети и семья тратят больше времени. Также очень уместно отметить, что людей в возрасте 25–29 лет немного больше, чем в любом другом возрасте (статистика из Шведской возрастной структуры). Мы видим аналогичную бимодальную кривую для мужчин с меньшим первым пиком по сравнению с женщинами.

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

Время окончания против возрастной плотности

Давайте посмотрим на график зависимости возраста от времени окончания немного по-другому, чтобы увидеть, сможем ли мы узнать что-то еще:

Распределение времени на финише по возрастным группам

Мы можем наблюдать самый большой разброс для молодых и старых бегунов, а среднее время финиша составляет около двух часов. Обнадеживает тот факт, что бегуны в возрасте 32–48 лет не намного медленнее, чем бегуны более молодого возраста. Вы станете свидетелями психологии во всей ее красе, если внимательно посмотрите на пики для каждой возрастной группы около двухчасовой отметки на приведенном выше графике.

Давайте посмотрим поближе на время финиша около 2 часов.

Количество бегунов за время финиша около 2:00:00

Плюс / минус две минуты вокруг двухчасовой отметки, похоже, есть значительная разница в распределениях. Используя только данные с 1:58:00 до 2:02:00, процент бегунов, которые только что сделали это, составляет около 57% (суммируя каждую сторону и разделив левую часть на общую - используя ведра плюс / минус две минуты по центру).

Используя это измерение, давайте посмотрим, в какое время финиша этот психологический эффект сильнее всего. Вместо использования фиксированного 4-минутного окна мы нормализуем размер окна по времени вехи, используя в качестве основы наше 4-минутное окно для нашей двухчасовой вехи (получается около 3%).

Психологический эффект в разное время финиша

Мы видим, что эффект наиболее силен на отметках в 5 и 10 минут. Это потому, что люди обычно ставят цели в четное время, например, 2:00:00.

Тенденция на графике состоит в том, что процент успеха увеличивается со временем финиша, а это означает, что средний процент, который сделал его, медленно увеличивается по мере того, как мы достигаем более медленного времени финиша. В этом есть смысл. Если бы мы нарисовали линию тренда, мы бы увидели, что она ломается на 50% около 2:05:00 (что также примерно соответствует среднему времени для всех бегунов).

Еще одно интересное наблюдение заключается в том, что между вехами есть кажущиеся случайными пики. Например, посмотрите на 2:07:00. Это результат того, что бегуны устанавливают цели темпа, а не время финиша. Бегая со скоростью ровно 6 минут на километр, вы получаете общее время финиша 2:06:35.

Этот сюжет не означает, что более медленные бегуны лучше достигают своих целей или что быстрые бегуны не заботятся о своих целях. Поскольку время окончания соответствует нормальному распределению, естественно, что больше людей заканчивают на более медленной стороне окна (для времени завершения быстрее, чем в среднем). Например, при нормальном распределении более вероятно, что вы найдете бегуна между 1:35:00 и 1:36:00, чем между 1:34:00 и 1:35:00. Точно так же более вероятно, что вы найдете бегуна между 2:44:00 и 2:45:00, чем между 2:45:00 2:46:00. Имейте это в виду, когда мы смотрим на один и тот же сюжет, но сгруппированы по женщинам и мужчинам:

Психологический эффект в разное время финиша в зависимости от пола

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

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

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

Что мы могли бы сделать, так это просмотреть данные и выяснить, склонны ли мужчины и женщины ставить конкретные цели по времени финиша или по темпам. Когда я это сделал, я не обнаружил статистически значимой разницы.

Ниже приведен аналогичный график, но показывает эффект для каждой возрастной группы на отметке 10 минут около 2 часов:

Психологический эффект 10-минутных вех для разных возрастных групп

Мы видим, что возраст 16–24 лет имеет самый высокий коэффициент успешности на 2-часовом этапе, несмотря на более медленное среднее время завершения (02:04:17), чем в 3 других группах. Однако когда дело доходит до отметки 1:50:00, возраст, кажется, имеет значение - возрастная группа 56–64 лет полностью доминирует среди более молодых бегунов на этом этапе. Мы получим некоторые идеи о том, что может вызвать это, во второй части этой серии сообщений в блоге.

Мы рассмотрели некоторые, но не все (стартовая группа, темп) свойства наших бегунов. Это помогло нам понять их. Но что делает бегуна быстрым? Какие показатели отличают быстрых бегунов от медленных? Что мы можем узнать, просто глядя на данные других людей?

Есть вещи, которые вы можете и не можете изменить в себе - например, вы не можете стать моложе, вы не можете изменить пол (ну…), и вы не можете изменить свои физические свойства на эфиопские.

Итак, что вы можете изменить? Подготовка - это ключ к успеху, и, конечно же, хороший совет - больше тренироваться перед гонкой и работать над своей техникой. Если мы сделаем выводы, глядя на средние показатели населения Скандинавии, вам следует переехать в Куллавик или Осло. Но переезд в другой город не сделает вас более быстрым бегуном, по крайней мере, не сразу. Вместо этого мы посмотрим на данные контрольных точек и посмотрим, есть ли что-нибудь, что вы можете сделать для своего темпа на протяжении всей гонки. Это будет продолжено во второй части. Позвольте мне подразнить вас этим сюжетом.

Изменение темпа - время окончания в зависимости от возраста

Продолжить чтение: