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

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

Проблемы.

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

Цели.

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

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

Аналитический подход.

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

Оценка показателей.

Чтобы оценить точность модели, мы будем использовать три показателя: RMSE, MAE и MAPE. Эти метрики предоставляют обзор производительности регрессионной модели.

  • RMSE (среднеквадратичная ошибка) вычисляет среднеквадратичное значение ошибки, которое обеспечивает меру общего отклонения между прогнозируемыми и фактическими значениями.
  • MAE (средняя абсолютная ошибка) вычисляет среднюю абсолютную разницу между прогнозируемыми и фактическими значениями, обеспечивая прямую меру точности модели.
  • MAPE (Mean Absolute Percentage Error) вычисляет среднюю процентную разницу между прогнозируемым значением и фактическим значением, что позволяет нам оценить относительную величину ошибки.

Понимание данных.

  • Набор данных представляет собой данные о велосипедных кредитах в системе Capital Bikeshare в период с 2011 по 2012 год.
  • Каждая строка данных представляет информацию, связанную со временем аренды, погодой и соответствующим сезоном.

Предварительная обработка данных.

На этом этапе мы настроим или очистим набор данных, чтобы данные были готовы к использованию для анализа и моделирования. Вот некоторые из вещей, которые необходимо сделать:

  • Проверка отсутствующих значений и повторяющихся данных (в наборах данных отсутствует 0 значений и повторяются).
  • Корректировка имен и значений некоторых столбцов для облегчения чтения данных (weathersit для погоды, dteday для даты, hr для часа, temp для температуры, hum для влажности и cnt для подсчета).
  • Изменение некоторых типов данных в функциях для соответствия значениям (преобразование типа данных «дата» в DateTime и создание новых столбцов для разделения данных месяца и дня, а также изменение типов данных функций «праздник», «год» и «месяц» в категорию ).
  • Объедините значения в функциях для целей моделирования (объедините сильный дождь с погодой с небольшим дождем).
  • Отбрасывайте функции, которые не имеют отношения к рассматриваемой проблеме (случайные и зарегистрированные не имеют отношения к проблеме, а функция даты представлена ​​столбцами года, месяца и дня).
  • Проверьте корреляцию между данными (atemp и temp имеют высокую корреляцию или мультиколлинеарность, поэтому atemp или температура ощущения будут снижены, и продолжайте использовать фактическую температуру).
  • Проверьте наличие выбросов в числовых данных (есть выброс во влажности, значение влажности которого равно 0, и это невозможно в этом мире, поэтому мы опустим значение влажности 0, в нашей цели есть выброс, который является счетчиком, это высокая единица велосипеда за час , так что это возможно, и мы продолжим моделирование, используя это.

Моделирование.

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

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

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

Кодировка

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

Бенчмаркинг

мы используем 8 моделей для тестирования, которые включают линейную регрессию, регрессор K-соседей, регрессор дерева решений, регрессор случайного леса, регрессор XGB, повышение градиента, легкий GBM и ускорение кошки, и это результат:

По результатам эталонной модели модель CatBoost имеет самые низкие значения MAE, MAPE и RMSE (чем ниже значения MAE, MAPE и RMSE, тем выше производительность модели), что указывает на то, что модель CatBoost является лучшей моделью, и дальнейшее моделирование будет выполняться с Модель CatBoost.

Базовая модель CatBoost

Category Boost — это алгоритм машинного обучения, специально разработанный для эффективной обработки категорийных функций. Это расширение платформы повышения градиента, имеющее сходство с такими алгоритмами, как XGBoost и LightGBM. CatBoost выделяется своей способностью автоматически обрабатывать категориальные переменные, не требуя явного кодирования, что делает его ценным инструментом для реальных наборов данных со смешанными типами данных.

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

Модель CatBoost будет протестирована на тестовых данных из набора данных, и вот результат:

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

Настройте модель CatBoost

Выполните настройку гиперпараметров с параметрами depth (максимальная глубина дерева решений), iteration (максимальное количество итераций, которые должна выполнять модель), l2_leaf_reg (управляет силой регуляризации L2 или штрафом L2, применяемым к весам листьев в дереве решений) и Learning_rate (насколько быстро модель учится на предыдущих ошибках прогнозирования). после бесчисленных проб и ошибок мы получили лучший параметр:

и, следовательно, результат, когда лучший параметр применяется к модели CatBoost:

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

  • MAE: Модель имеет значение MAE 25,64 до настройки и 24,47 после настройки. снижение на 4,8%.
  • MAPE: модель получила оценку MAPE 24,08% до настройки и снизилась до 23,5% после настройки, с уменьшением значения на 0,5%.
  • RMSE: Модель имела показатель RMSE 41,78 до настройки, а после настройки RMSE немного снизился до 39,8. Произошло небольшое улучшение способности модели точно предсказывать количество велосипедных единиц.

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

Ограничение модели

Наличие больших ошибок приводит к значительной разнице между значениями RMSE и MAE. Это также можно наблюдать на графиках, где фактические количества, по прогнозам, будут намного выше или ниже. Однако значение MAPE в 23,5 % для модели CatBoost после настройки считается «разумным прогнозированием», поскольку оно находится в диапазоне 20–50 % (Lewis, 1982).

Основываясь на приведенном выше графике и таблице, можно увидеть, что эффективность прогнозирования не очень хороша для прогнозирования количества единиц велосипеда ниже 50, при этом значение MAPE достигает 45,48%. За пределами этого диапазона модель считается хорошей, поскольку она может прогнозировать количество велосипедов со значением MAPE, близким к MAPE тестовых данных.

Важность функции

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

Заключение.

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

Показателями оценки, используемыми в этой модели, являются значения MAE, MAPE и RMSE. Судя по значению MAPE, полученному моделью после настройки гиперпараметров (23,5%), можно сделать вывод, что при использовании модели для оценки количества велосипедных единиц, которые должны быть предоставлены в диапазоне значений, которые были обучены на модели (максимальное количество велосипедных единиц 970), то расчетное количество в среднем будет отсутствовать примерно на 23,5% от числа, которое должно быть.

При просмотре результатов кластеризации на основе целевого диапазона и остаточной визуализации модель имеет ограничение, при котором модель может хорошо предсказывать только количество единиц велосипеда выше 50 единиц с результатами оценочного значения метрики (MAPE). что по-прежнему неплохо и попадает в разумную категорию. Конечно, не исключается возможность того, что полученные прогнозы могут промахнуться и дальше. Смещение создается из-за ограниченных характеристик, содержащихся в наборе данных, связанных с целью (количество/количество арендованных велосипедов), таких как характеристики, которые могут представить обстоятельства, при которых потенциальные клиенты решают воспользоваться услугами по аренде велосипедов, например, местоположение велостанций, расстояние между велостанциями, время использования велосипедов.

Рекомендация.

у нас есть несколько рекомендаций:

  • добавить данные и заполнить набор данных, используемый набор данных относится только к диапазону 2011–2012 гг. и не регистрирует все моменты времени в течение года, тогда как во временном диапазоне 2011–2012 гг. полный набор данных должен иметь столько точек данных, сколько: 731* дни x 24 часа = 17,544, тогда как доступный набор данных состоит только из 12,165 точек данных. Хотя набор данных является полным в днях, поскольку уникальное значение даты 731 соответствует количеству дней в 2011 и 2012 годах, мы видим, что отсутствие данных связано с неполными данными в часах.
  • Добавьте функции, которые имеют лучшую корреляцию с целью (количество), например, расположение велосипедных станций и расстояние между велосипедными станциями, запись времени использования велосипеда.
  • Созданную модель можно использовать для разработки других моделей. Например, прогнозирование общего спроса и предложения велосипедов, арендованных на каждой велосипедной станции. Которые позже могут быть использованы в качестве ориентира для Capital Bikeshare при предоставлении велосипедов на каждой велосипедной станции или как соображение для добавления велосипедных станций в более стратегически важных местах.