ЭТО когда-нибудь случалось с вами? Вы и еще около 3000 человек пытаетесь добраться до дома после концерта Трэвиса Скотта или игры Packers.

Или любые другие события, которые это могут быть.

Но вы должны действовать быстро, иначе больше не будет доступных автомобилей. Итак, на какое приложение вы нажимаете? Элегантный черный дизайн Uber с культовой буквой «U» или ярко-розовой иконкой Lyft в виде жевательной резинки. К счастью для вас, мы найдем для вас ответ независимо от времени, дня и погоды, используя большие данные.

Основные цели анализа данных

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

Вот три наши основные цели:

  1. Исследование данных. Сравните и сопоставьте различные факторы, влияющие на цену Ubers и Lyft, с помощью различных визуализаций данных.
  2. Построение модели. Мы хотим построить различные модели машинного обучения и найти ту, которая лучше всего может предсказать стоимость конкретной поездки на такси.
  3. Применение в реальных условиях. Наконец, после анализа данных мы хотим сделать некоторые выводы из реальной жизни, а также можем предложить несколько предложений о том, при каких условиях приложение для совместного использования будет более рентабельным.

Введение данных

Мы получили данные с kaggle.com, веб-сайта, который содержит огромное количество интересных наборов данных для специалистов по данным. Используемый нами набор данных содержит данные в реальном времени с использованием запросов API от Ubers и Lyfts в Бостоне, Массачусетс. Он был собран примерно за неделю в ноябре 2018 года и сформирован в два отдельных набора данных: данные cab_ride и погода, которые позже мы должны объединить в один набор данных. .

  1. В поездке на такси указаны временные метки (время эпохи) при запросе данных, различные типы такси для Uber и Lyft и их цены для разных мест.

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

Очистка данных

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

Исследование данных

Цель этой страницы — показать, как различные факторы влияют на цену Ubers и Lyfts с помощью различных визуализаций данных. Анализируемые переменные включают план погоды, время суток, расстояние и тип автомобиля.

Первые две гистограммы отображают частоту вызовов Uber и Lyft в определенный час и на заданном расстоянии.

На графике слева показаны частоты расстояния, где красным цветом представлены все точки данных lyft, а синим — uber. В целом графики скошены вправо и имеют круглую бимодальную форму с пиками около 1 и 3 миль. Это говорит нам о том, что большинство названных автомобильных поездок довольно короткие. Есть очень мало поездок, которые больше, чем 5 миль. Хвост убер-графика более распространен. Это говорит нам о том, что, как правило, люди звонят в Uber, а не в Lyft, когда едут на большие расстояния.

На графике справа показано, в какое время дня наиболее популярно вызывать машину. Видно, что больше всего такси вызывают с 23:00 до 3:00. Это логично, потому что часто люди, выходя из дома, вызывают такси, а не едут на своей машине. Разница между графиками uber и lyft очень мала. Ближе к полуночи видно, что лифты называются чуть чаще, чем уберы. Дальнейший анализ переменных может показать, почему это может иметь место. Хотя проанализированный набор данных не включает эту информацию, было бы интересно посмотреть на среднее время, которое требуется машине, чтобы добраться до человека. Возможная причина увеличения числа вызываемых кабин lyft заключается в том, что в среднем требуется меньше времени, чтобы добраться до клиента. Однако выводы нельзя делать без дальнейшего анализа.

На этом графике просто показаны цены на поездки на автомобилях Uber и Lyft. Оба графика смещены вправо. На графике lyft наблюдается большая асимметрия, указывающая на то, что lyft в целом дороже, а все остальные переменные остаются постоянными. Это интересное наблюдение, потому что мы только что увидели, что в наборе данных uber наблюдается более сильный перекос вправо, а это означает, что приложение для обмена поездками с самыми дальними поездками не обязательно указывает на более дорогие поездки. Давайте посмотрим на цену в зависимости от расстояния, чтобы получить более точное представление о них.

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

Тенденция роста цены Uber в зависимости от расстояния менее крутая и резкая, чем данные Lyft. Поскольку расстояние продолжает увеличиваться (более 5,5 миль), цены на такси редко превышают 60 долларов. Напротив, на расстоянии около 3 км цена на Lyft быстро возрастает и превышает 60 долларов США. Это важно учитывать. Возможно, поездки на такси на большие расстояния более выгодны.

Также интересно, что данные uber разбросаны по всему графику, а данные lyft разделены на строки. Возможно, у lyft есть дискретное количество цен, которые может стоить данный lyft. Существует более крутой и быстрый рост цены по мере того, как расстояние достигает примерно 2,5 миль. В отличие от этого, Uber-тренд является довольно устойчивым восходящим трендом.

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

Средняя цена за милю Uber: 9,72 долларов США
Средняя цена за милю Lyft: 9,68 долларов США

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

Средняя цена Uber за милю (исключая короткие поездки): $9,25.

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

Средняя цена за милю UberX: 5,94 долл. США
​Средняя цена за милю обычного Lyft: 5,38 долл. США

Здесь мы просто смотрим на базовый уровень поездок с Uber и Lyft, в которых нет дополнительных затрат для типа автомобиля. Это объясняет различия в зависимости от типа автомобиля. Как правило, более роскошные автомобили стоят дороже. Интересно, что убер в очередной раз дороже. Это может быть связано с тем, что стоимость поездки на Uber выше, чем на lyft, но средняя цена за милю на lyft увеличивается из-за типа автомобиля. Это может объяснить график, где существует такое большое разнообразие цен на заданное расстояние на графике разброса цен на расстояние для данных lyft.

Конструкция модели

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

Модель дерева решений

Метод дерева решений начинается с одной переменной и идет от нее по нескольким путям. В нашей модели мы изучаем десять различных характеристик такси, таких как переменные погоды, дни недели и расстояние, чтобы предсказать стоимость поездки. Средняя абсолютная ошибка (MAE) составляет около 0,97 доллара, что указывает на высокую точность модели (0‹MAE‹1).

И мы также преобразовали это значение в среднюю процентную ошибку (MAPE), процентный эквивалент MAE, чтобы помочь людям лучше осмыслить производительность модели. Тогда процентная точность, которая определяется как (100%-MAPE), составляет около 90,54%. Это означает, что прогноз нашей модели в среднем отличается менее чем на 10% от фактических цен.

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

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

Модель случайного леса

Затем мы пробуем модель случайного леса, которая объединяет несколько деревьев решений для получения более надежной модели. Средняя абсолютная ошибка составляет 0,93 доллара, что немного меньше, чем MAE случайного леса (0,97 доллара), что указывает на то, что подход случайного леса обеспечивает лучшую прогностическую способность. А процентная точность составляет около 90,84%, что также выше, чем у модели дерева решений.

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

Расстояние›Температура›Ветер›Давление›Облака›Час›Влажность›День недели›Дождь (см. рисунок).

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

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

Модель линейной регрессии

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

Затем мы обнаружили, что средняя абсолютная ошибка множественной регрессии составляет 16,54 градуса.

Основываясь на средней абсолютной ошибке, можно предположить, что модель множественной регрессии не является точной моделью для прогнозирования цен на основе переменных в наборе данных. Наша средняя абсолютная ошибка в 16,54 доллара также показывает, что эта модель была очень неточной при прогнозировании цен. Это имеет смысл, потому что, опять же, у нас была одна переменная, которая была гораздо важнее остальных при определении цены, и большинство наших независимых переменных были категориальными. Мы также объясняем это явление, запустив тест на линейность(см. ниже): на графике справа видно, что цены, предсказанные нами на основе линейной регрессии, и фактическая цена являются сильно нелинейными, и все точки данных сильно разбросаны.

Карта и сеть

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

Сетевой график справа соединяет данную поездку от исходного местоположения до пункта назначения. Похоже, что кластеры в основном имеют одинаковый размер, а это означает, что нет четкого благоприятного места назначения/источника. Если бы у меня были инструменты, я хотел бы различать узлы на основе uber/lyft или другой переменной по цвету узла. Однако когда мы построили гистограмму различных пунктов назначения и частоты вызовов lyft/uber для каждого из них, разница была незначительной.

Будущие последствия

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

Вывод

Благодаря нашим визуализациям и анализу мы обнаружили, что у Uber есть базовая цена за поездки. Это означает, что Uber доставит вас куда угодно, даже через улицу, если вы готовы платить. С другой стороны, у Lyft есть минимальное расстояние, которое вы должны преодолеть, чтобы принять поездку. Учитывая это несоответствие, мы видим, что Uber дешевле, чем Lyft, если смотреть на цену за милю. Однако, если мы просто смотрим на базовые автомобили (UberX и Lyft), то Lyft дешевле. Возможно, вам стоит взять Uber, если вы заказываете особенный автомобиль, и Lyft, если вы используете базовое такси.

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