@DmitriyTitov

Какую модель машинного обучения лучше использовать для прогнозирования движения рейсового транспорта?

Здравствуйте.
У меня есть данные о движении транспорта по фиксированным маршрутам за некоторое время. То есть есть данные начала и окончания движения по маршруту в течение дня за несколько месяцев. При этом продолжительность поездки меняется в течение дня в зависимости от загруженности дорог, а также зависит от дня недели - в выходные дороги свободнее и загрузка иная чем в будни. Кроме того, возможно существует некоторая сезонность - этого я пока не знаю.
Задача состоит в том, чтобы прогнозировать время движения по маршруту в зависимости от времени суток и дня недели.
Какой алгоритм или модель машинного обучения применяют для таких случаев? И какие факторы могут быть у модели кроме собственно времени суток (и, возможно, дня недели)?
Я видел статью, в которой говорилось, что машинное обучение вообще тут не при чём, но что тогда?
Буду благодарен за любую наводку.
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
@OLZ1
Здравствуйте.
Прочтите (Как устроен краткосрочный прогноз на Яндекс.Пробках), возможно появятся новые идеи для оптимизации идеи.
Для разработки прогнозных моделей при наличии временных рядов наиболее популярными являются модели авторегрессии, проинтегрированного скользящего среднего (ARIMA) (для одномерных временных рядов с трендом и без сезонных компонентов) и SARIMA (с трендовыми и / или сезонными компонентами).
Ссылки:
1. statsmodels.tsa.statespace.sarimax.SARIMAX
2. statsmodels.tsa.statespace.sarimax.SARIMAXResults
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
Мне видится, что у вас мало данных для точного прогнозирования.

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

Приложения, которые нынче занимаются прогнозированием расписания, когда какой транспорт приедет, имеют в распоряжении гораздо больше информации:
  1. Информацию о пробках.
  2. Информацию о GPS координатах каждого транспорта.

Конечно, точность всё равно не 100%. И порой случаются накладки. Например, мимо остановки может проехать фантомный автобус, или, наоборот, может приехать автобус, которого не существует по данным приложения. Но всё равно точность прогнозирования гораздо выше, чем если основываться лишь на ретроспективном анализе.
Ответ написан
Griboks
@Griboks
Первым делом вам надо придумать некую математическую модель, которая бы описывала длительность рейса.

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

Про машинное обучение рассказывать долго, но идея простая:
1. классифицировать
2. обучить
3. прогнозировать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы