Понимание бизнеса

Контекст

Совместное использование велосипедов - это система, в которой велосипеды предоставляются в разных местах (также называемых станциями) для сдачи в аренду населению. Многие города по всему миру внедрили совместное использование велосипедов, чтобы уменьшить заторы и выбросы углекислого газа. Capital Bikeshare — это система проката велосипедов, обслуживающая Вашингтон, округ Колумбия. Начав работу в 2010 году с 400 велосипедов на 49 станциях, она стала крупнейшей системой проката велосипедов в США до 2013 года. подрядчик под названием Motivator LLC.

Постановка задачи

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

Цели

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

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

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

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

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

Данные

Обратитесь к этому блокноту Jupyter для полной обработки данных.

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

Набор данных состоит из 11 столбцов и 15 536 строк, что соответствует количеству почасовых точек данных с января 2011 г. по сентябрь 2012 г. (24 часа x 639 дней = 15 536). Столбец dteday исключается из дальнейших шагов, поскольку признаки даты уже извлечены в других столбцах (месяц, день недели). Столбцы месяц, день недели, рабочий день, праздник, сезон и погода являются категориальными признаками. Температура, влажность и количество колонок являются непрерывными функциями, а время работы колонки — дискретной функцией. Целевой или ответной переменной является количество столбцов.

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

Поезд, тестовый сплит

Данные обучения содержат данные с января 2011 г. по июнь 2012 г., а данные тестирования содержат данные с июля 2012 г. по сентябрь 2012 г.

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

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

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

Эталонная модель

Выбор эталонной модели осуществляется путем перекрестной проверки временных рядов. Мы выбрали наиболее эффективную модель на основе их перекрестной проверки MAE и времени подбора. Выбранная модель — Extra Gradient Boosting (XGBoost), представляющая собой ансамблевую модель обучения, которая последовательно обучает базовых учащихся, исправляя ошибки из предыдущей модели. Эта модель представляет собой «дополнительную» форму повышения градиента из-за дополнительного уровня случайности при построении деревьев решений, например, возможность рандомизировать подвыборку признаков и порог разделения.

Разработка функций

Во временных рядах общим признаком, который можно использовать для моделирования, является признак запаздывания. Функция задержки — это целевая переменная в предыдущем (отложенном) периоде времени. Например, в нашем случае это будет подсчет пользователей велосипеда час назад (может быть больше, два, три часа назад). Требуемая задержка — это то, что мы повторяли, чтобы получить оптимальную производительность модели или минимальную MAE при перекрестной проверке.

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

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

Функция count_lag_1 (или счетчик с отставанием на час) вносит наибольший вклад в производительность модели или показатель MAE, за которым следуют час, рабочий день и день недели. Мы также обнаружили, что использование комбинации этих функций дает наименьший показатель MAE при перекрестной проверке. Наконец, мы переобучаем модель, используя эти четыре функции на всех обучающих данных, и наблюдаем за производительностью на невидимых или тестовых данных.

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

Проверьте полные этапы моделирования и анализа здесь.