Original size 1136x1600

Скаковые лошади через призму Umamusume: Pretty Derby

PROTECT STATUS: not protected
The project is taking part in the competition
big
Original size 850x510

Кадры из аниме «Umamusume: Pretty Derby»

Концепция

Порой для популяризации какого-либо явления необходим мощный медийный толчок. Ярким примером может служить фильм «Маска» (1994), после выхода которого собака породы джек-рассел-терьер, которая засветилась в фильме, невероятно возросла в популярности.

Такое произошло и в мире скачек после релиза видеоигры «Umamusume: Pretty Derby». В этом проекте реально существовавшие знаменитые лошади представлены в образе девушек-лошадей, чей внешний вид и характер вдохновлены их историческими прототипами. Успех игры вызвал волну интереса к историям этих лошадей, их победам и наследию, что привлекло новую аудиторию к самому виду спорта.

big
Original size 1800x141

Японские лошадиные скачки (кэйба) и до этого пользовались популярностью у себя на родине. Однако глобальное распространение игры, родом из Японии, привлекло внимание международной аудитории к самому феномену «кэйба».

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

Я выбрала тему анализа скаковых лошадей через призму «Umamusume: Pretty Derby», так как именно через призму фанатов, ранее не знакомых со скачками в Японии, мне кажется наиболее интересным изучить датасеты, собранные из уважения к первоисточнику своей любимой игры.

Original size 480x203

Кадры из аниме «Umamusume: Pretty Derby»

Первый датасет, выбранный мною для исследования, собран фанатом Umamusume и включает в себя информацию о смертности и возрасте реальных скаковых лошадей в настоящее время: https://docs.google.com/spreadsheets/d/1TiSduoOsexJUy0gs8Q8vy-N9ACw5d4CMKZiai4gKNyE/edit?usp=sharing

Второй датасет включает в себя информацию о карьерах реальных лошадей, представленных в игре в виде героинь: https://docs.google.com/spreadsheets/d/1B58Y9BoQ-0f-tvjHgaIa-SjWAd7Et6Kgk004bVqpjhM/edit?usp=sharing

Всего данных в обоих датасетах собрано о 133 лошадях, что сложно было бы обработать, не прибегая к программированию.

Воспользовавшись фанатскими датасетами, давайте разберем, каких именно лошадей представляют героини «Umamusume: Pretty Derby»?

Данные из выбранных датасетов я решила представить в виде следующих графиков:

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

ʊ Облако слов, чтобы наглядно показать достижения скаковых лошадей.

ʊ Точечная диаграмма, чтобы показать взаимосвязь победного темпа и уровневого счета скаковых лошадей.

ʊ Столбчатая диаграмма, чтобы показать наиболее частые причины смерти скаковых лошадей.

ʊ Комплексный дашборд из гистограммы, линейной диаграммы, столбчатой диаграммы и боксплота для анализа смертности, возраста и выживаемости скаковых лошадей.

Original size 3000x1000

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

Объясняющий формат использовался для выводов, которые я делала на основе знания контекста «Umamusume: Pretty Derby» и соотнесения их с представленными объективными данными со своей позиции.

Обработка данных

Original size 1804x872

Первым делом я импортировала файлы с датасетами .csv формата, которые предварительно перенесла на диск для работы с Colab.

Стилизация

Original size 1600x867

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

В качестве шрифта был выбран Helvetica Roman для основного текста и Helvetica Bold для заголовков.

Original size 1804x1130

Жеребцы и кобылы в игре

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

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

Original size 867x790

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

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

Но стоит отметить, что кобыл больше двадцати процентов.

Следовательно, запоминающиеся скачки проводились и среди кобыл. Например, в игре представлены многие из тех, кто завоевал Тройную Тиару, престижный титул, доступный исключительно кобылам, что подчёркивает их вклад и уникальные достижения.

Original size 1804x1432

Для визуализации в виде круговой диаграммы я взяла датафрейм death_df и посчитала количество значений в столбце GENDER IRL с помощью value_counts (), так я получила базовые данные для построения.

Затем я создала график с помощью функции umamusume_plot, задав заголовок. Для самой диаграммы я использовала метод pie (), так как нам нужна именно круговая диаграмма. В качестве данных я передала значения из gender_counts, а в качестве подписей категории. Отображение процентов настроила на один знак после запятой. Выбрал два цвета из своего словаря палитры C: фиолетовый и зеленый.

Чтобы выделить секторы красиво, добавила небольшое разделение через explode, а диаграмму повернула на 90 градусов, чтобы она начиналась сверху.

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

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

Ключевые достижения

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

Original size 1062x690

В облаке слов, отображающем достижения, можно заметить, что одними из самых крупных и заметных элементов являются названия Arima Kinen, Japanese Derby, Takarazuka Kinen, а также слова Stakes и Sho.

Безусловно, победа в Arima Kinen является большим достижением для любой лошади, и то же самое можно сказать о победе в Japanese Derby и Takarazuka Kinen. Эти престижные соревнования представлены и в игре, где участие в них особенно важно и требует от героини наивысшего мастерства, а получаемые награды действительно превосходят все ожидания.

Stakes и Sho это части названий различных скачек, которые можно буквально перевести как «ставки» и «награда» с английского и японского соответственно. Это в какой-то степени отражает ценности скачек: награды и ставки.

Если же обратиться к словам, занимающим в облаке не так много места, то становится понятно, насколько редким является статус «непобеждённой» лошади. Лишь единицам удаётся сохранить его на протяжении всей карьеры.

Original size 1804x1394

Для создания облака слов я произвела следующие шаги: для начала мне нужно было собрать весь текст в одну строку. Я взяла датафрейм career_df, выбрала столбец ’Highlight/Accomplishment’, удалила пропущенные значения и склеила все записи через пробел, так получилась длинная текстовая строка со всеми описаниями.

Затем я подумала о том, что некоторые ключевые термины, такие как названия крупных скачек, должны оставаться целыми фразами, а не разбиваться на отдельные слова. Для этого я подготовила список составных терминов, вроде ’Triple Crown’ или ’Arima Kinen’, и в цикле заменила в тексте все пробелы внутри них на нижние подчёркивания. Так ’Triple Crown’ превратился в ’Triple_Crown’, и теперь WordCloud будет воспринимать это как одно слово.

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

Для самого облака слов я использовала WordCloud. Фон выбрала светлый из палитры, цветовую карту выбрала «viridis», так как она наиболее близкая к стилизации проекта. Ограничила количество слов до 150, чтобы визуализация не была перегруженной. Оси скрыла, чтобы они не отвлекали от визуализации.

Победный темп и уровневый счет

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

Original size 1270x889

На графике наблюдается умеренная положительная корреляция между победным темпом лошади и её уровневым счётом.

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

Большинство лошадей с низким победным темпом (0–20%) имеют и невысокий уровневый счёт. В зоне среднего темпа (20–50%) наблюдается наибольшая плотность и неоднородность: при схожем проценте побед уровневый счёт лошадей варьируется очень широко. Это указывает, что победный темп это не единственный определяющий фактор. Лошади с высоким темпом (60–100%) в среднем обладают более высоким уровнем, но и здесь есть исключения, например, случаи с 100% побед при низком счёте, что может объясняться малым числом стартов или низким классом забегов.

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

Original size 1804x1462

Начало графика снова с подготовки данных: в датафрейме career_df столбцы Win Rate и Grade Score хранились как строки, причём в Win Rate иногда попадался символ ’X’, который нужно было удалить. Я применила pd.to_numeric с обработкой ошибок, чтобы преобразовать оба столбца в числовой формат, и создала новые столбцы Win Rate Numeric и Grade Score для чистоты расчётов.

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

Для визуализации использовала scatter. По оси X отложила процент побед, по Y отложила уровень счёта. Чтобы точки лучше читались, настроила их размер (s=128), прозрачность (alpha=0.7) и цвет в зависимости от Grade Score, используя снова «viridis». Для точек задала edgecolors и ширину линии в 1 пиксель, чтобы они выделялись на фоне.

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

Для цветовой шкалы использовала colorbar. Я стилизовала её под общую тему, как и всегда: подпись, цвет делений и рамка согласованы с палитрой. Легенду разместила в правом верхнем углу, добавив светлый фон и фиолетовую рамку.

Для количественной оценки связи рассчитала кодом коэффициент корреляции Пирсона и вывела его значение в левом верхнем углу графика в зелёной закруглённой плашке.

Но скаковые лошади это не только их карьера, это и их жизнь после. От чего скаковые лошади умирают после заката своей карьеры?

Причины смерти

Original size 1489x889

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

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

Довольно много причин смерти неизвестно, но это нельзя назвать удивительным. Этому есть логичное объяснение: владельцы могли сознательно пожелать сохранить эту информацию в тайне, или же внешние факторы помешали её обнародованию. Ведь мир скачек известен своей закрытостью, многие владельцы глубоко чтят принципы конфиденциальности. Показательно, что некоторые из них отказали в правах на использование образа своих легендарных лошадей создателям «Umamusume: Pretty Derby». На этом фоне даже то, что была скрыта лишь причина смерти прототипов, кажется уступкой, за которую стоит сказать спасибо.

Original size 1804x1326

Тут сначала я упростила данные в столбце CAUSE OF DEATH, так как некоторые записи содержали дополнительные уточнения в скобках. Я создала новый столбец MAIN CAUSE, взяв только часть строки до первой открывающей скобки и удалив лишние пробелы, так я получила чистые, обобщённые причины.

Затем я посчитала частоту каждой причины с помощью value_counts () и ограничилась топ-12, чтобы график не стал перегруженным и был более наглядным. Эти данные я подготовила для визуализации в виде столбчатой диаграммы.

Создав график через umamusume_plot, я задала заголовок и подписи осей. Для окраски столбцов я использовала цикличную палитру, чтобы она всё ещё подходила под стилизацию, но не выглядела кучно. Подписи по оси X повернула на 45 градусов и выровняла по правому краю, чтобы они не перекрывались и хорошо читались.

Над каждым столбцом я добавила числовое значение: количество случаев. Для улучшения восприятия данных я включила сетку с низкой прозрачностью.

Раз большинство лошадей умирает в старости, логично, что до этого они живут ещё долгую жизнь. Что же можно сказать по графикам возраста легендарных лошадей?

Возраст и смертность

Original size 1590x1180

Взглянув на этот дашборд, можно сразу заметить, что две наибольших возрастных группы это 21-25 и 26-30 лет.

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

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

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

Original size 1804x1762

Я решила попробовать впервые провести комплексный анализ кодом создав не один график, а создав дашборд из четырёх взаимосвязанных графиков. Для начала мне нужно было корректно рассчитать возраст: я написала функцию calculate_age, которая возвращает текущий возраст для живых лошадей (беря значение из IF ALIVE, HOW OLD TODAY?) и возраст на момент смерти для остальных. Применив эту функцию к датафрейму, я создала столбец AGE, преобразовав результат в числовой формат.

Чтобы группировать данные, я добавила столбец AGE_GROUP, разбив возраст на интервалы от 0 до 35 лет с шагом в 5 лет, а последнюю категорию сделала для возрастов 36+. Заголовок дашборда оформила с помощью suptitle, использовав тёмный цвет и полужирный шрифт.

Каждый график я настроила отдельно через список plot_configs:

ʊ Гистограмма распределения возрастов

ʊ Кривая выживаемости

ʊ Столбчатая диаграмма смертности по возрастным группам

ʊ Боксплот распределения возраста по полу

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

0

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

Для первого графика я взяла подготовленные данные и настроила шаг в 2 года. Столбцы сделала фиолетовыми с оранжевой обводкой.

Второй график я построила, рассчитав функцию распределения. Сортировала возрасты по возрастанию, вычислила долю выживших на каждом шаге и нарисовала плавную линию с маркерами, которые отмечаются через каждые 5 точек.

Третий график я создала, сгруппировав данные по категориям, которые подготовила ранее. Каждой группе присвоила цвет из циклической палитры. Над каждым столбцом добавила абсолютное количество смертей и процент от общего числа. Подписи по оси X повернула.

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

Выводы

«Umamusume: Pretty Derby» выступает как призма, которая, будучи направленной на скачки, не искажает их, а, напротив, фокусирует внимание глобальной аудитории на ключевых параметрах этой области (слава, рекорды, судьба лошадей), делая их доступными для осмысления фанатов через анализ и сбор данных. Это исследование яркий пример того, как фанаты становятся «этнографами» и «аналитиками» объекта своего увлечения, начиная азартом в игре и заканчивая сбором информации о реальных знаменитых лошадях, которую действительно можно наглядно представить и изучить.

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

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

И, судя по представленным данным, можно подытожить, что среднестатистическая лошадь, которую представляет героиня «Umamusume: Pretty Derby», это жеребец, победитель Arima Kinen, со средним победным темпом и уровневым счетом, умерший от старости.

Original size 498x271

Кадр из аниме «Umamusume: Pretty Derby»

Источники

Для помощи с кодом и его оптимизацией использовался Deepseek.

Для генерации изображения на обложке использовался Illustrious-XL-V2.0-Stable.

Иллюстрации и кадры из «Umamusume: Pretty Derby» принадлежат Cygames.

Папка с блокнотом и датасетами: https://drive.google.com/drive/folders/16Fi3tEqjGU_NKVlBVNOwWIPQbCOiwsDK?usp=drive_link

Original size 1600x246