Введение

Ежедневно общественный транспорт перевозит огромное количество людей. Было подсчитано, что трамваи в городе Коломне за 76 лет работы перевезли более 2,5 миллиардов пассажиров [1]. Высокая загруженность городского транспорта свидетельствует о его привлекательности, однако она же является и отталкивающим фактором для горожан, поскольку переполненные автобусы и трамваи некомфортны для пассажиров, в связи с чем они предпочитают использовать личный транспорт или такси.

Прогнозирование загруженности общественного транспорта — одно из приоритетных направлений в информировании пассажиров. Для пассажира важно понимать, будет ли транспорт загружен сильнее обычного или, наоборот, будет свободен. Современное развитие технологий машинного обучения и доступность больших данных открывают новые возможности для решения этой задачи. В последние годы наблюдается активный рост исследований, посвящённых применению методов искусственного интеллекта для прогнозирования пассажиропотока: от классических статистических моделей до сложных архитектур глубокого обучения, учитывающих пространственно-временные зависимости, погодные условия и сетевые взаимодействия маршрутов. Особую актуальность приобретает учёт внешних факторов, таких как метеорологические условия и расписание смежных видов транспорта.

В работе [2] показано, что интеграция данных о погоде и временных атрибутов в модели на основе LSTM позволяет существенно повысить точность прогноза пассажиропотока на автобусных маршрутах.

Аналогичные выводы сделаны в исследовании [3], где проведено сравнительное тестирование алгоритмов машинного обучения (случайный лес, градиентный бустинг, нейронные сети) для прогнозирования загрузки трамваев: авторы подтверждают эффективность ансамблевых методов при работе с нелинейными зависимостями в транспортных данных.

Важным направлением развития является переход от прогнозирования на уровне отдельного маршрута к сетевым моделям, учитывающим взаимодействие линий. В работе [4] предложен фреймворк для прогнозирования загруженности в масштабах всей транспортной сети. Он демонстрирует, что учёт пересечений маршрутов и их альтернатив позволяет снизить ошибку предсказания на 15–20% в коридорах с высокой конкуренцией линий.

Кроме того, перспективным подходом является комбинирование долгосрочных прогнозов с данными реального времени: в работе [5] показано, что корректировка базового прогноза на основе отклонений, наблюдаемых в текущем режиме, повышает устойчивость модели к непредсказуемым событиям и аномалиям в пассажиропотоке.

Основная цель данной работы — исследовать методы машинного обучения для прогнозирования загруженности трамваев по выбранным маршрутам на примере трамвайной сети города Коломны. В отличие от перечисленных исследований, акцент сделан на адаптации моделей к условиям малого города с ограниченным объёмом данных, а также на обеспечении интерпретируемости результатов для конечных пользователей.

Сбор данных

Современные маршрутные транспортные средства оснащены GPS-трекерами, которые периодически отправляют данные о местоположении каждого транспортного средства в центр организации дорожного движения, где они сохраняются в базе данных. Формат отправляемых трамваем данных содержит:

  • код маршрута (уникальный идентификатор трамвайного маршрута);
  • координаты (широта и долгота);
  • бортовой номер трамвая;

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

Также стоит учитывать, что в городе присутствует и другой вид транспорта, движение которого влияет на движение трамваев. В Коломне значительную роль играют пригородные поезда из Москвы — они единовременно привозят большое количество пассажиров, большинство из которых направляются к трамваям. Для получения информации о поездах можно воспользоваться сторонними сервисами расписаний общественного транспорта — как правило, они предоставляют API на бесплатной основе. Схематичное представление структуры процедур сбора данных приведено на рисунке 1.

C:\Data\Rimma\KIAM\HtmlPub\PreprintsToHtml\Source\prep2026_12\New folder\fig1.png

Рис. 1. Схема сбора данных

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

Существуют несколько способов сбора данных о загруженности общественного транспорта [6]. В таблице 1 представлено сравнение наиболее часто используемых способов, проанализированы их преимущества и недостатки.

Таблица 1

Методы сбора данных о загруженности общественного транспорта

Метод Описание Преимущества Недостатки
Анкетный Размещение на веб-сайте инструмента, где пользователи могут отмечать, сколько людей сейчас в транспорте, либо оценивать верность прогноза, а также интерактивная форма с открытыми вопросами: на каких участках большой пассажиропоток Простота реализации, вовлеченность пользователей Низкая точность, ограниченный охват
Отчетно-статистический Подсчет числа проданных билетов (регистраций проезда), прохождений через датчики около дверей, подсчет через камеры видеонаблюдение Высокая объективность, автоматизация процесса Необходимость инфраструктуры
Талонный Выдача каждому пассажиру талона на входе и сдача его на выходе Точность учета количества пассажиров Трудоемкость, необходимость контроля, невозможность проводить сбор на постоянной основе
Табличный Использование команды исследователей, который вручную считают число пассажиров и записывают в таблицу Возможность детализации данных Субъективность, низкая скорость, невозможность проводить сбор на постоянной основе
Визуальный То же, что и табличный, но вместо подсчета людей в таблицу заносится примерная загруженность (в баллах) Быстрота сбора данных, отсутствие необходимости точного подсчета Субъективность, невысокая точность, невозможность проводить сбор на постоянной основе
Опросный То же, что и табличный, но помимо счета людей исследователи опрашивают пассажиров, где они выходят и куда едут Дополнительные данные о маршруте движения пассажиров Увеличение временных затрат, невозможность проводить сбор на постоянной основе

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

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

Предварительная обработка данных

Данный этап посвящен наполнению датасета новыми данными, полученными из собранных на первом этапе.

Временная метка разбивается на несколько параметров. Параметр «время» представляет собой количество минут, прошедшее с начала суток. Отдельными параметрами записываются число, месяц, количество дней с начала года и дата без года. Кроме того, добавляются параметры дня недели и флаг выходного дня.

Для координат определяются участок пути (улица) и ближайшая остановка. Для каждой остановки известно количество мест притяжения (points of interest) вблизи неё, например, торговые центры (ТЦ), школы, парки — эта информация хранится в базе данных. По бортовому номеру трамвая можно восстановить его модель, а она содержит в себе данные о количестве мест (сидячих и стоячих) и об его низкопольности (отсутствию ступенек на входе). Информация обо всех моделях содержится в базе данных.

Наконец, номер маршрута содержит информацию о его длине.

После обработки датасет содержит в себе столбцы с параметрами, которые описаны в таблице 2.

Таблица 2

Столбцы датасета

Параметр Наименование Описание Единицы измерения
tram_no Номер маршрута Номер трамвайного маршрута, напр., № 7 —
weekday Тип дня WDS — будние дни, OFF — выходные —
day_of_week День недели День недели сокращенно: MON, TUE, … —
precipitation Осадки Интенсивность осадков, от 0 до 3 усл. ед.
thunder Гроза Интенсивность грозы, от 0 до 3 усл. ед.
wind Ветер Скорость ветра м/с
temperature Температура Температура воздуха на улице °C
route_length Длина маршрута Длина трамвайного маршрута (длина его траектории) метры
stop Остановка Остановочный пункт, для которого были собраны данные —
pois Места притяжения Кол-во мест притяжения (ТЦ, школ, парков) рядом с остановкой шт
time Время Количество минут, прошедшее с начала суток (0–1440) минуты
train Поезд Время, прошедшее с прибытия последнего поезда (только для остановок рядом с ж/д платформой) минуты
odometer Пробег Путь, который прошел трамвай с начала маршрута метры
start Начало Флаг начальной остановки (1 если остановка первая в маршруте) —
end Конец Флаг конечной остановки (1 если остановка последняя в маршруте) —
interval Интервал Интервал движения трамваев по этой остановке (средний интервал в это время) минуты
interval_same Интервал маршрута Интервал движения трамваев того же маршрута (средний интервал в это время) минуты
inbound Вошло Кол-во вошедших пассажиров шт.
outbound Вышло Кол-во вышедших пассажиров шт.
passengers Пассажиры Кол-во пассажиров в трамвае (после того, как все вошли и вышли) шт.
wheelchair Низкопольность Низкопольность трамвая (1 если трамвай низкопольный) —
seating Сидячих мест Количество мест для сидения в трамвае шт.
standing Стоячих мест Количество стоячих мест (указано в документации производителя трамвая) шт.
month Месяц Месяц (1–12) —
day День День месяца (1–31) —
day_mon Дата День и месяц без года (напр., 25.03) —

Для улучшения качества анализа и прогнозирования были добавлены новые параметры:

  • route_percent: доля пути маршрута, которую проехал трамвай (0 — начало маршрута, 1 — конец), находится по формуле (1);
    r o u t e _ p e r c e n t = o d o m e t e r r o u t e _ l e n g t h
    (1)
  • passengers_before: количество пассажиров на предыдущей остановке, находится итеративно для каждой строки датасета (предыдущее значение параметра passengers);
  • day_of_year: день с начала года.

Журналы данных за период с сентября 2024 года по июнь 2025 года, информация о местоположении трамвайных остановок и количестве points of interest, расписание поездок, информация о вагонах трамваев и данные о погоде были собраны и обработаны для этого анализа в датасет. Его срез приведен на рисунке 2.

A screenshot of a chart

AI-generated content may be incorrect.

Рис. 2. Датасет обработанных данных (первые пять строк)

Исследовательский анализ данных

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

Матрица корреляции признаков для датасета загруженности представлена на рисунке 3.

A screen shot of a graph

AI-generated content may be incorrect.

Рис. 3. Матрица корреляции параметров загруженности

Выводы, которые можно сделать из матрицы корреляций:

  • Параметр tram_no имеет сильную корреляцию с interval_same и route_length, то есть интервал движения и длина маршрута трамвая коррелируют с его номером. Это логично: у каждого маршрута свой интервал движения и своя длина. Возможно, параметр tram_no из датасета следует убрать, так как для прогностической модели маршрут определяется не номером, а математическими параметрами;
  • Параметр train коррелирует с inbound и start, причем с inbound отрицательная корреляция. Это значит, что чем меньше минут назад уехал электропоезд, тем больше людей в среднем войдет в трамвай.
  • Целевой параметр passengers слабо коррелирует с другими параметрами. Наиболее сильная корреляция заметна с параметрами end, route_percent, interval_same и passengers_before.

На рисунке 4 представлен график зависимости passengers и route_percent.

A graph with a line going up

AI-generated content may be incorrect.

Рис. 4. График среднего количества пассажиров по участкам маршрута

Из-за небольшого размера датасета чётко проследить зависимость сложно, однако в среднем тенденция показывает, что трамвай загружен по большей части в первой трети маршрута. В последней трети его загруженность снижается, а под самый конец близка к 0 (на конечной все выходят).

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

A chart of red squares

AI-generated content may be incorrect.

Рис. 5. Средняя загруженность трамваев по дням недели и времени суток

По выходным людей больше днём (в 11–12 часов), а в будние дни — утром и вечером. Разумным видится следующее объяснение: в будние дни утром все едут на работу и учёбу, вечером — возвращаются с работы. В выходные дни все едут в какие-либо места развлечений, но возвращаются все в разное время, поэтому загруженность распределяется на оставшуюся часть суток равномерно.

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

A graph with blue squares and black text

AI-generated content may be incorrect.

Рис. 6. Первые семь остановок по средней разнице числа пассажиров

График показывает, что такая остановка только одна (с кодом 0101aF), в среднем на ней заходит сразу 15 человек, а это примерно половина всех сидячих мест в трамвае. Кроме того, на второй по средней разнице числа пассажиров остановке (с кодом 0300aF) более значительное стандартное отклонение — при среднем значении разницы числа пассажиров 8 иногда это значение может достигать 27, что сравнимо с количеством сидячих мест в трамвае. Несмотря на это, высокой заполненности не наблюдается, что говорит о грамотной организации трамвайной сети.

Для исследования зависимости загруженности от количества мест притяжения (points of interest, POI) были построены отдельные матрицы корреляции, представленные на рисунке 7. Были отдельно построены матрицы для утреннего разъезда (до 11 часов утра), вечернего разъезда (с 16 часов) и для промежуточного времени.

A screen shot of a graph

AI-generated content may be incorrect.
A screen shot of a graph

AI-generated content may be incorrect.
A screen shot of a graph

AI-generated content may be incorrect.

Рис. 7. Матрицы корреляции параметров загруженности и POI
(слева — утренний разъезд, посередине — день, справа — вечерний разъезд)

Интерес представляют первые три строки матрицы — корреляция пассажиропотока и количества объектов рядом с остановкой. Выводы, которые можно сделать из матрицы корреляций:

  • Самое темное синее пятно расположено на пересечении passengers и pois_site (достопримечательности) — то есть возле достопримечательностей трамваи ходят пустые;
  • Также мало пассажиров во время вечернего разъезда у ж/д станций;
  • Светлые пятна можно наблюдать на пересечении следующих строк/столбцов:
    • outbound/pois_buss в утренний разъезд: чем больше автобусных станций, тем больше люди выходят из трамваев. Возможно, утром люди используют трамвай для того, чтобы добраться до автобусной станции и дальше ехать на автобусе.
    • inbound/pois_buss, outbound/pois_buss: чем больше автобусных станций, тем больше люди входят и выходят (то есть большой размен);
    • inbound/pois_mall в утренний разъезд, outbound/pois_mall в утренний разъезд: чем больше ТЦ, тем больше люди входят и выходят (то есть большой размен);
    • inbound/pois_rail: чем больше ж/д станций, тем больше люди входят;
    • passengers/pois_domk, особенно днём: чем больше домов культуры, тем больше людей едет в трамвае (при этом показатели inbound и outbound низкие — можно предположить, что к домам культуры у людей низкий интерес).
  • В утренний разъезд много людей выходят у торговых центров — видимо, пассажиры едут за покупками именно утром. В вечерний разъезд мало людей входят у торговых центров, что может означать, что люди завершают шопинг к вечеру.

Обучение моделей

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

Результаты обучения представлены на рисунке 8.

A screenshot of a graph

AI-generated content may be incorrect.

Рис. 8. Метрики качества алгоритмов МО

Для предсказания загруженности метрики у трех моделей довольно схожи: по RMSE лучше себя показывает линейная регрессия, по MAE — случайный лес. Рассмотрим эти метрики:

R M S E = 1 n ∑ i = 1 n ( y i − y i ^ ) 2 .
(2)
M A E = 1 n ∑ i = 1 n | y i − y i ^ | .
(3)

RMSE сильнее наказывает за крупные ошибки, поскольку возведение в квадрат увеличивает вклад больших отклонений. Это делает её чувствительной к выбросам и экстремальным ошибкам.

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

Если важно минимизировать влияние крупных выбросов и считать ошибку равномерно распределённой, лучше подходит MAE. Однако в данной работе необходимо учитывать именно серьёзные ошибки и снизить риск их появления, поэтому предпочтительнее использовать RMSE, так как она усиливает «штраф» за крупные отклонения.

Для обеспечения независимости моделей от параметра номера маршрута были выполнены следующие изменения:

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

Данное обновление позволяет алгоритму быть независимым от номеров существующих маршрутов. Метрики качества для такой модели представлены на рисунке 9.

A screenshot of a graph

AI-generated content may be incorrect.

Рис. 9. Метрики качества для модели, обученной без номера маршрута

Здесь «умные» модели показывают однозначно лучшие результаты. Таким образом, модели стали независимыми от номера маршрута, и теперь они ориентируются только на то, какие остановки есть впереди.

На рисунке 10 показано, какие характеристики модели считают наиболее значимыми.

A graph with blue and black text

AI-generated content may be incorrect.

Рис. 10. Гистограммы значимости характеристик

У модели линейной регрессии для предсказания загруженности в первую пятерку значимых параметров входят параметры даты (day_mon_DD.MM), что является плохим признаком: модель не понимает, почему в одни дни людей много, а в другие мало. Другие важные параметры — тип дня (weekday), флаги первой и последней остановки маршрута (start, end), процент от маршрута (route_percent).

Случайный лес самым значимым параметром считает число пассажиров на предыдущей остановке (passengers_before). Рассмотрим также другие значимые параметры:

  • route_percent (доля от маршрута, которую проехал трамвай): загруженность связана с тем, какую часть пути проезжает трамвай;
  • 0101aF и 0101aB: коды одной из важных остановок города (в одну и в другую сторону), на первой из них много людей заходят, на второй — выходят;
  • end: флаг конечной остановки. Редкий, но важный параметр, так как на конечной всегда выходят все;
  • odometer и route_length также оказались сами по себе важными параметрами. Возможно, чем длиннее маршрут, тем больше людей он везет (так как больше остановок содержит, то есть больше людей привлекает).

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

A screenshot of a graph

AI-generated content may be incorrect.

Рис. 11. Метрики качества для моделей, обученных без параметра day_mon

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

A graph with blue and white text

AI-generated content may be incorrect.

Рис. 12. Гистограмма значимости характеристик модели линейной регрессии, обученной без параметра day_mon

В обновленной модели три самых важных параметра: флаги начальной и конечной остановки и процент пути, что является базовым набором параметров для предсказания. Следующие по важности параметры связаны с погодой, а уже затем – с днем недели.

Рассмотрим качество моделей по параметрам MAPE и R2, так как они оценивают качество предсказания модели, а не просто ошибки.

MAPE показывает среднюю относительную погрешность в процентах:

M A P E = 1 n ∑ i = 1 n | y i − y i ^ y i | * 100 % .
(4)

Эта метрика полезна, когда важна оценка ошибок относительно исходных величин, особенно если масштабы зависимой переменной сильно варьируются. Однако MAPE имеет недостаток: деление на ноль или близкое к нулю значение yi, что может привести к нестабильным результатам или даже бесконечным величинам.

Значение R2 показывает, какую долю дисперсии может объяснить модель:

R 2 = 1 − S S E S S T = 1 − ∑ i = 1 n ( y i − y i ^ ) 2 ∑ i = 1 n ( y i − y i ¯ ) 2 .
(5)

R2, близкое к 1, означает, что модель объясняет большую долю вариации данных. R2, близкое к 0, свидетельствует о том, что модель никак не улучшает точность предсказания по сравнению с использованием среднего значения всех точек.

Модель случайного леса объясняет 87% вариации данных, а средняя относительная погрешность предсказаний количества пассажиров — 31%.

На рисунке 13 представлены облака точек для датасета предсказания загруженности.

A group of blue and white graphs

AI-generated content may be incorrect.

Рис. 13. Облака точек для параметра количества пассажиров

Из рисунка 13 видно, что экстремальные значения загруженности (40–60) достигаются на первых 40% маршрута. После 3 км пути пассажиров в трамвае не больше 40, после 12 км — не больше 20-25. Наиболее загруженные маршруты длиной 2 км, 12 км и 15 км. Загруженность снижается с уменьшением параметра train (время, прошедшее с прибытия последнего поезда). По итогам исследования была выбрана модель случайного леса.

Программная реализация

Выбранная лучшая модель машинного обучения была загружена на сервер приложения, работающий под управлением Apache. Для прогнозирования загруженности создан отдельный скрипт, который загружает готовую модель из файла и использует её для предсказания. Хотя на вход модели требуется множество параметров (таблица 2), на вход скрипта подаются три аргумента: дата и время, номер рейса и остановка. Все остальные параметры скрипт определит сам, используя сторонние API и базу данных с расписанием. Программа на сервере написана на Python, так как этот язык имеет большое количество библиотек для машинного обучения. В этой работе использовались pandas и scikit-learn.

Подключение к API осуществляется через HTTP GET-запросы — именно такой формат предоставляют большинство сервисов открытых API. Для уменьшения количество обращений к ним (а оно, как правило, ограничено на бесплатных тарифах) результаты кэшируются в локальную базу данных. Например, данные о погоде обновляются по API только раз в час, остальное время они подгружаются из БД. Данные о расписании поездов обновляются раз в сутки.

Для хранения данных используются СУБД MySQL. В базу данных вносится информация о движении трамваев на текущий день, в том числе и о загруженности, а в хранилище данных они перемещаются в полночь — для сохранения данных.

Клиентская сторона получает от сервера JSON-структуру с данными, необходимыми для формирования интерфейса пользователя программы с расписанием, в том числе и прогнозируемой загруженностью, рассчитанной обученной моделью. На рисунке 14 представлен пример такой JSON-структуры — массив из словарей, каждый из которых содержит информацию об отправлении трамвая. Целочисленное поле crowded означает загруженность по шкале от 0 до 4.

A screenshot of a computer program

AI-generated content may be incorrect.

Рис. 14. Пример JSON-структуры с предсказанной загруженностью

Модель машинного обучения была внедрена в пользовательский веб-сервис. Результаты ее работы показаны на рисунке 15. Пользователям в данный момент доступны два варианта её работы: обозначения загруженности в расписании (слева) и в режиме обзора маршрута (справа). Загруженность показывается в формате значков с человечками.

Screenshot of a screenshot of a map

AI-generated content may be incorrect.

Рис. 15. Результат работы прогностической модели

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

Таблица 3

Соответствие показателей загруженности вербальным показателям

Число пассажиров Значение crowded Вербальный показатель Описание Значок
менее 33% сидячих мест 0 Мало пассажиров

Много свободных мест.

Можно сесть почти на любое место, с любой стороны.

менее 66% сидячих мест 1 Не очень много пассажиров

Есть ещё свободные места.

Можно сесть, но выбор ограничен.

менее 90% сидячих + 10% стоячих мест 2 Много пассажиров

Мало сидячих и стоячих мест.

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

менее 60% стоячих мест 3 Очень много пассажиров

Мало стоячих мест.

Сесть негде, придётся стоять.

более 60% стоячих мест 4 Салон заполнен Места закончились.

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

Заключение

В данной работе был проведён анализ данных о загруженности трамваев и построены прогностические модели для предсказания загруженности. Случайный лес продемонстрировал лучшие результаты с учётом специфики предметной области, метрика R² = 0.87, MAPE = 31%.

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

Библиографический список

  1. 1. МУП «Коломенский трамвай». Официальный сайт. — URL: http://moet-k.ru/ (дата обращения: 21.02.2026).
  2. 2. Shanthappa N. K., Mulangi R. H., Manjunath H. M. Deep learning-based public transit passenger flow prediction model: integration of weather and temporal attributes // Public Transport. - 2025. - Vol. 17. - P. 367-390. - DOI: 10.1007/s12469-024-00365-8.
  3. 3. Dedeturk B. K., Adanur Dedeturk B., Akbaş A. A Comparative Analysis of Passenger Flow Forecasting in Trams Using Machine Learning Algorithms // Bitlis Eren Üniversitesi Fen Bilimleri Dergisi. — 2024. — Vol. 13, № 1. — P. 1–14. — DOI: 10.17798/bitlisfen.1292003.
  4. 4. Gallo F., Sacco N., Corman F. Network-Wide Public Transport Occupancy Prediction Framework with Multiple Line Interactions // IEEE Open Journal of Intelligent Transportation Systems. — 2023. — Vol. 4. — P. 815-832. — DOI: 10.1109/OJITS.2023.3331447.
  5. 5. Hoppe J., Schwinger F., Haeger H., Wernz J., Jarke M. Improving the Prediction of Passenger Numbers in Public Transit Networks by Combining Short-Term Forecasts with Real-Time Occupancy Data // IEEE Open Journal of Intelligent Transportation Systems. — 2023. — Vol. 4. — P. 153-174. — DOI: 10.1109/OJITS.2023.3251564.
  6. 6. Польгун М.Б., Остроух А.В., Николаев А.Б., Ефименко Д.Б. Автоматизация процессов диспетчерского управления городским пассажирским транспортом // Промышленные АСУ и контроллеры. - 2013. - №5. - С. 10–16.