Задача регрессии обучения с учителем.

Фон

Растущее повсеместное распространение информационных технологий за последние два десятилетия привело к массовому расцвету так называемой экономики совместного использования, создав возможности для большого количества людей коллективно использовать физические объекты или услуги, которые ранее были доступны только в форме частной собственности. Мы видели, как появилось несколько компаний, которые воспользовались этим изменчивым ландшафтом, каждая из которых позволяет добавлять разные товары к общему достоянию: Uber, Lyft и Turo для автомобилей и поездок, Airbnb для домов и квартир, Lime. и Bird для самокатов и многое другое. Рост экономики совместного использования основывается на давней тенденции «биты заменяют атомы», поскольку достижения в области программного обеспечения позволяют создавать все больше и больше полезностей с использованием того же количества физического материала. Если эта идея будет реализована в полной мере, она позволит обслуживать гораздо больше людей одним и тем же количеством товаров, и этот факт, вероятно, станет еще более важным в ближайшие годы, когда мы боремся с большим дефицитом жизненно важных товаров и пытаемся сократить наше потребление до минимума. бороться с изменением климата.

Ttareungyi, Сеул, общественная система проката велосипедов в Южной Корее, выдвигает на первый план особенно интересный сектор растущей экономики совместного использования, эффективное коллективное владение товарами, обеспечиваемое умными технологиями, а не просто коллективное использование. С момента запуска в 2015 году Ttareungyi быстро росла, и сейчас у нее более 2,78 миллиона пользователей. По словам представителя правительства Южной Кореи, он стал «необходимым средством жизни и транспорта для граждан» (Eun-ji, 2021), а также помог уменьшить заторы и уменьшить выбросы углекислого газа в городе, предложив потенциальную модель для других города борются со смогом, пробками и плотной урбанизацией.

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

Масштаб этой проблемы и сложный набор факторов, влияющих на спрос, делают это приложение идеальным для машинного обучения. В этой статье я демонстрирую это, используя Random Forest Regressor от SciKit Learn и XGB Regressor от XGBoost, чтобы построить модели для прогнозирования спроса на велосипеды в системе Ttareungyi.

Данные и очистка данных

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

После того, как данные были считаны, они были разделены с помощью утилиты SciKits train_test_split, чтобы случайным образом убрать 25 процентов данных для последующей проверки модели. Затем все строковые точки данных были преобразованы в соответствующие целочисленные значения, чтобы сделать их интерпретируемыми моделью, а столбцы числовых данных о погоде (температура, осадки и т. д.) были масштабированы с помощью инструмента SciKit Learn StandardScaler.

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

Выбор модели и параметров

Изучив несколько возможных моделей регрессии, я выбрал два варианта регрессора дерева решений: регрессор случайного леса от SciKit Learn, а также усиленный регрессор XGB от XGBoost. Обе эти модели хорошо подходили к размеру моего набора данных и позволяли мне использовать вычислительные преимущества ансамблевых методов. Они также оба предлагают преимущество, позволяющее легко ранжировать функции, что дало мне способ количественно оценить важность различных функций.

Чтобы настроить регрессор случайного леса, я написал функцию для итеративного изменения критерия, n_estimators, max_depth и min_samples_split, записывая оценку OOB (из коробки) r² для каждой модели, чтобы приблизить производительность к невидимым данным. Настроенные параметры описаны ниже:

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

n_estimators: контролирует количество деревьев в случайном лесу.

max_depth: определяет максимальную глубину каждого дерева в лесу.

min_samples_split: определяет количество выборок, необходимых для разделения внутреннего узла.

С помощью этого метода были определены оптимальные параметры: критерий = «mse», n_estimators = 130, max_depth = 18 и min_samples_split = 11. Для регрессора XGBoost та же процедура использовалась для уточнения параметров n_estimators, max_depth и бустера. N_estimators и max_depth управляют той же механикой, что и для регрессора случайного леса, в то время как параметр бустера определяет, какой алгоритм повышения используется. Были определены оптимальные параметры: n_estimators=70, max_depth=5 и booster=’dart’. Хотя этот процесс требовал значительных вычислительных ресурсов, он помог мне найти оптимальные параметры модели способом, который был бы непомерно трудоемким при выполнении вручную.

Проверка модели и результаты

После развертывания в наборе данных XGBoost Regressor имел показатель R2 0,93 для данных обучения и 0,87 для данных тестирования. Random Forest Regressor показал 0,97 на обучающих данных, 0,87 на тестовых данных и оценку OOB 0,87. Хотя у них были схожие характеристики производительности R2 на тестовых данных, две модели различались в определении важности функций.

Рейтинги функций обеих моделей можно увидеть на рисунках 2 и 3.

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

Нанесение двух наиболее важных характеристик, температуры и времени работы, на график в зависимости от количества арендованных велосипедов дает график на рисунке 4. Отчетливо виден пик спроса между 19–24°C на оси температуры и два пика спроса в 8 часов утра. и 6 часов вечера можно увидеть на часовой оси.

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

Заключительное замечание

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

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

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

Ссылки

[1] Ын-джи, Бахк. Служба проката велосипедов в Сеуле становится безопаснее благодаря растущему спросу. Koreatimes, 31 марта 2021 г., https://www.koreatimes.co.kr/www/nation/2021/04/281_306366.html.