Машинное обучение для бега. Разработка функций и анализ высокомерия.

Это вторая часть серии прогнозов времени финиша:

В этом посте мы углубимся в анализ темпа, чтобы увидеть, сможем ли мы понять бегунов еще больше.

Давайте продолжим с того места, где мы остановились:

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

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

Зеленый крест? Это я, и хотя я могу стать моложе, безусловно, есть возможности для улучшения, двигаясь дальше вправо на диаграмме. Проведение подобного анализа особенно увлекательно, когда вы можете найти себя в данных и узнать, как их можно улучшить.

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

Профиль среднего темпа по полу

Предыдущие исследования гендерных различий в марафонском темпе показывают, что мужчины переоценивают себя больше, чем женщины. Однако результаты, показанные на приведенном выше графике, не так значительны, как представленные Дж. Хабблом и Дж. Чжао. Это соответствует исследованию Время финиша Люблянского марафона и полумарафона - гендерные различия для полумарафонов менее значительны, чем для обычных марафонов.

Hubris Analysis

Что означает переоценка?

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

Давайте определим высокомерие как потерю бегуном темпа относительно их первоначального темпа (первые 5 километров).

Процент разницы темпа относительно начального темпа по полу

Действительно, кажется, что мужчины выгорают больше женщин на более поздних этапах забега, но женщины теряют темп между 5–10 и 10–15 километрами больше, чем их первоначальный темп. Какой пол наиболее высокомерен?

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

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

Посмотрим, демонстрируют ли возрастные группы такой же эффект:

Разница в процентном темпе относительно начального темпа

Подобный эффект здесь виден, но только на последнем километре гонки.

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

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

В качестве упрощенной единственной метрики высокомерия мы вычисляем среднюю потерю темпа между 5 и 20 километрами по сравнению с первыми 5 километрами.

Средняя потеря темпа на 5–20 км по сравнению с начальным темпом

Зачем мы это делаем?

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

Гордыня против времени финиша

В реальном сценарии мы ничего не знаем о темпе бегуна, пока он / она не пройдет контрольную точку. Допустим, у бегуна был темп от 10 до 15 километров, который был равен темпу первого этапа (5 км). Хотя мы ничего не знаем об успехах этого бегуна на оставшейся части забега, статистика говорит нам, что в среднем этот бегун будет иметь лучшее время финиша, чем другие бегуны.

Особенности с более глубоким смыслом

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

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

Общая характеристика - это, например, пол, возраст, стартовая группа или темп первого этапа бегуна. Для меня это значения:

  • Пол: Мужской
  • Возраст: 28
  • Начальная группа: 5
  • Темп (5 км): 4 мин 40 с

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

Некоторые примеры функций, связанных с высокомерием, для автора.

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

Для чего нужны эти функции?

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

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

Простой пример модели - Start Group

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

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

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

Далее идет часть 3, которая включает обучение модели, анализ производительности и несколько примеров прогнозов. Модель умудряется предсказать мое время финиша за 30 секунд до начала гонки (только общие функции) и улучшается по мере продвижения гонки (когда она может включать определенные функции).

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