Как мы используем машинное обучение в Transit для улучшения прогнозов в реальном времени для автобусов STM в Монреале 🙂🚍👉🤩🚍

Автобус. Уже поздно. Еще рано. Это в пяти минутах ходьбы. Шесть минут? Две минуты ... Хорошо, теперь вы это видите. И вот оно. Отлично.

У нас в Transit одна задача: предоставлять вам точное расчетное время прибытия. Когда ваше расчетное время прибытия выключено? Гильотины выкатываются, вилы собираются. Неважно, в каком городе вы находитесь: прогнозы движения транспорта (или Уберса, или вашего собственного автомобиля) в реальном времени никогда не кажутся идеальными на 100%. Вы сами это видели: расчетное время прибытия поднимается и опускается, как йо-йо, привязанные к пого-стикам. 📈🙃📉

Почему? Это не потому, что у вашего автобуса плохой GPS, или ваше приложение не работает, или потому, что спутники упали с неба. Это связано с тем, что при расчете ETA в реальном времени необходимо учитывать СТОЛЬКО переменных.

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

Как мы используем машинное обучение, чтобы улучшить наши прогнозы STM в реальном времени примерно на 15% 🤖

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

Но хотя GPS упрощает сбор данных об общественном транспорте, если вы даете пассажирам только «среднее» время ожидания автобуса ... использование данных GPS просто означает расписание с лучшим средним расчетным временем прибытия.

Гонщики не хотят получать среднее расчетное время прибытия. Они хотят, чтобы расчетное время прибытия отражало их текущие условия. Начните с машинного обучения.

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

Что крутого в машинном обучении? Он выплюнет формулы, которые человек никогда бы не подумал. Одно дело найти формулу, подходящую для одной или двух переменных. Но что, если у вас есть десятки переменных? Внезапно вы больше не имеете дело с этим простым двумерным графиком x и y. Вы имеете дело с трехмерными, четырехмерными, 20-мерными графиками… а в случае общественного транспорта эти 20 переменных меняются в реальном времени.

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

Благодаря нашему обширному опыту в области общественного транспорта (и нашим внутренним мастерам машинного обучения) мы хотели создать формулу расчета расчетного времени прибытия, которая никогда не была такой плохой, чтобы вы опоздали на автобус из-за этого. Мы начали с нашим родным городом Монреалем. Мы использовали два источника данных шины для обучения нашей модели:

  1. Данные из СТМ
  2. Данные транзитных пассажиров, использующих GO

У нас есть удивительное количество данных для №2. Мы являемся самым популярным транспортным приложением в Монреале, и многие наши водители используют нашу функцию «GO» для создания данных о своих маршрутах в режиме реального времени.

Ежемесячно более 175 000 поездок STM дополняются сверхточными данными GO. Это позволяет нам обновлять местоположение каждую секунду, а не каждые 30 секунд.

Поскольку местоположения автомобилей GO обновляются чаще, чем местоположения агентств, они полезны для пассажиров, которые ищут свой автобус. Но до сих пор у нас не было возможности интегрировать эти лучшие местоположения в прогнозы ETA, предоставленные STM. Ни в коем случае… до Айсера и Хуана.

Что хорошего?

Прежде чем построить наш черный ящик предсказаний волшебного автобуса, Айсер и Хуан должны были установить ориентир. Насколько хороши были наши прогнозы? Во-первых, мы должны были установить, что такое «хороший прогноз»!

По мере приближения автобуса к остановке мы допускаем меньшую погрешность. В конце концов: чем ближе время посадки, тем меньше у вас возможностей отреагировать. С 10-минутным хедз-апом вы можете компенсировать минуту времени, идя быстрее. Но с 30-секундным хедз-апом, чтобы автобус приехал на 1 минуту раньше, чем ожидалось?

Вам нужно будет найти альтернативный транспорт ...

Затем мы рассмотрели все прогнозы, сделанные STM, и все фактическое время в пути. Мы обнаружили, что ~ 75% ETA, генерируемых STM, попадали в окно «приемлемого прогноза», определенное Айсером и Хуаном. Вполне нормально. Может ли машинное обучение сделать это еще лучше?

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

  1. Время суток (чтобы оценить час пик по сравнению с обычным трафиком)
  2. День недели (воскресенье ≠ понедельник, пробки)
  3. Возраст отчета GPS (быстрое обновление GO ›› медленное обновление STM)
  4. Задержка расписания (когда автобус действительно приезжает, а не когда должен) и
  5. Переменные местоположения (которые могут выявить корреляцию между линиями, проходящими на одной улице, и учесть разницу во времени в пути между, скажем, шоссе и тихой улицей).

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

Модель начинается с создания случайных прогнозов ETA на основе данных параметров (полностью случайных!). Затем он смотрит на фактическое время прибытия (или «основную истину»), чтобы увидеть, как это произошло. Модель автоматически обновит свою формулу прогноза, изменяя вес, присвоенный каждому из различных параметров, чтобы лучше соответствовать данным в следующей попытке. Промойте и повторите миллион раз, пока не получите наилучшую формулу. Машинное производство. Никаких мозгов!

Когда наша формула предсказания была установлена, она была готова к большому времени. Мы запускаем его в производство для всех наших гонщиков в Монреале. Когда гонщики ищут ETA, мы опрашиваем параметры в реальном времени (время суток, день недели, местоположение и т. Д.), Вводим их в формулу, а затем выдаем ETA. Результат? Transit теперь может улучшить прогнозы STM на ~ 15% за счет более точных данных о местоположении (спасибо, гонщики GO! 📡) и лучшей формулы прогнозирования (спасибо, машины! 🤖)

Это на 15% меньше терпения на автобусной остановке. На 15% меньше пропущенных автобусов. На 15% ближе к приложению с идеальной надежностью. И наша система прогнозирования со временем станет только лучше ...

Хотя «искусственные» формулы прогнозирования не могут учесть изменения в исторических схемах движения с течением времени (без того, чтобы их выбросить и полностью переписать 🤢), наша модель машинного обучения может использовать обратную связь от гонщиков в реальном времени для улучшения автоматически. Небольшая модернизация карандашей и секундомеров.

Так что мы рады, что вы это попробуете. Чтобы увидеть влияние на поведение гонщика. Мы надеемся, что вы сможете начать составлять бюджет, учитывая все меньшую и меньшую погрешность встроенного расчетного времени прибытия. Но даже несмотря на то, что наши машины умны, они не идеальны. Иногда они ошибаются. Хорошо, что у нас есть команда инженеров, которая разбирает эти ошибки, чтобы сделать ваше расчетное время прибытия еще лучше.

Как только мы усовершенствуем рецепт, мы отправим его в города за пределами Монреаля. Какое для этого расчетное время прибытия? Может, тебе стоит спросить машину… 🤞🤖

Одно приложение. Все режимы. Лучшие данные о транзите во вселенной.

Никогда раньше не использовал Transit? Попробуйте для iOS 🍏 и Android 👾
Вы агентство? Дайте своим гонщикам более точные прогнозы ETA и более продуманные планы поездок. , лучшие мобильные билеты и настолько плавное взаимодействие с приложением, что оно вызовет ваши похвалы. Узнайте, почему лучшие транспортные агентства объединяются с Transit.