Описание проекта:
Компания «Чётенькое такси» собрала исторические данные о заказах такси в аэропортах. Чтобы привлекать больше водителей в период пиковой нагрузки, нужно спрогнозировать количество заказов такси на следующий час. Необходимо построить модель для такого предсказания. Значение метрики RMSE на тестовой выборке* должно быть не больше 48.
*тестовая выборка размером 10% от исходных данных.
Исходный датасет был перегруппирован: новый временной интервал 1 час. Все объекты за этот период были объединены и заказы просуммированы. Дубликаты и пропуски данных - отсутствовали. Хронологичный порядок соблюден в течение всего периода: 1 марта 2018 - 31 августа 2018. Имевшиеся выбросы (~1%) были заменены на максимальное значение, в пределах нормального распределения.
Анализ данных. Тренды, помимо пульсаций, имеют прослеживаемый линейный рост. Сезонность имеет одинаковую повторяемость: суточную, недельную и месячную, но в слабо выраженная. Это позволило определить перечень признаков и их размеры:
- сдвиг (количество заказов за 2 предыдущих часов);
- скользящее среднее (среднее количество заказов за 3 ближайших часа);
- месяц;
- день месяца;
- день недели;
- час.
Получившаяся выборка относительно небольшая и для подбора гиперпараметров моделей использовалась кросс вылидация, с учётом хронологического порядка. Были обучены три модели:
- Линейная регрессия (Linear Regression);
- Случайный лес (Random Forest Regressor);
- Модель градиентный бустинг (Light GBM), которая показала лучшей. Результат на тестовой выборке: время обучение 84 мс. и предсказания 5 мс., RMSE: 37.2. Большую часть временного ряда получается предсказать, за исключение выбросов.
Исходя из небольшого времени, требуемого для предсказания есть возможность снизить погрешность - уменьшив временной интервал, вернуться к исходному шагу в 10 минут. Данные, используемые в этом проекте, подойдут для этой задачи. К тому же следует уточнить первопричину появление выбросов. Это поможет понять как их обрабатывать и предсказывать.