Разработка AI-системы прогнозирования пассажиропотока
Прогнозирование пассажиропотока решает операционные задачи общественного транспорта: когда нужно больше вагонов, где разместить дополнительный персонал, как оптимизировать расписание. Точность ML-систем: MAPE 8-15% для 1-часового горизонта, что позволяет за 1-2 часа принимать оперативные решения.
Задачи по типу транспорта
Метрополитен:
- Прогноз входящего/исходящего потока на каждой станции по 15-минутным интервалам
- Прогноз загрузки вагонов на перегонах
- Оптимизация интервала отправления составов
Наземный транспорт (автобус, троллейбус, трамвай):
- Прогноз пассажиропотока на остановках
- Прогноз загрузки по маршрутам
- Planирование выпуска подвижного состава
Ж/д и авиа:
- Прогноз продаж билетов (тесно связан с demand forecasting)
- Прогноз пассажиропотока на вокзалах/аэропортах для staffing
Источники данных
Транзакционные данные:
- AFC (Automatic Fare Collection): данные турникетов — время, станция, тип билета
- Валидация в автобусах: Validator ID, маршрут, время
- Продажи билетов через мобильные приложения и кассы
Технические данные:
- CCTV с подсчётом людей (Vision-based people counting)
- Wi-Fi трекинг: anonymized сессии устройств
- APC (Automatic Passenger Counting): датчики в дверях транспортных средств
Внешние данные:
- Спортивные события, концерты (event calendar)
- Погода
- Мероприятия в городе (парады, демонстрации)
- Переключение между видами транспорта (если закрыта ветка метро)
Модели прогнозирования
Временные паттерны: Поток на станции имеет устойчивые паттерны:
- Часовые: утренний пик 07:30-09:30, вечерний 17:30-19:30
- Дневные: будни vs. выходные принципиально различаются
- Сезонные: летом поток снижается на 15-25%, праздники
# LightGBM с богатым feature set
features = {
# Лаги
'passengers_lag_15min': passengers_t_minus_1,
'passengers_lag_1h': passengers_t_minus_4,
'passengers_same_time_yesterday': passengers_same_period_yesterday,
'passengers_same_time_last_week': passengers_same_period_week_ago,
# Время
'hour': hour,
'minute': minute,
'day_of_week': dow,
'is_holiday': holiday_flag,
'month': month,
# Внешние
'weather_rain': rain_intensity,
'temperature_c': temperature,
'stadium_event_distance_time': event_proximity_score,
# Станция/маршрут
'station_type': encode(terminal_transfer_intermediate),
'line_id': line_embedding
}
Graph Neural Network: Для метро: граф-модель сети. Поток на станции зависит от потока на соседних станциях — пассажиры делают пересадки, и закрытие одной станции перераспределяет поток.
Аномальные события и корректировки
Event Detection: Резкий рост пассажиропотока перед закрытием станции / после концерта → аномалия.
def detect_flow_anomaly(actual, predicted, threshold_sigma=3.0):
residuals = actual - predicted
z_score = (residuals - residuals.rolling(168).mean()) / residuals.rolling(168).std()
return z_score.abs() > threshold_sigma
Обнаруженная аномалия → оператор ЦУП получает алерт → коррекция операционного плана.
Planned events: Предзаложенные мероприятия вводятся как known future covariates (TFT). Система автоматически предсказывает +30% пассажиропотока в час после завершения концерта в «Лужниках».
Операционные применения
Регулирование интервала: При прогнозируемом пике → ЦУП получает рекомендацию: "Через 45 минут на станции 'Спортивная' ожидается поток +85% к норме. Рекомендуется сократить интервал с 3 до 1.5 мин."
Staffing на станциях: Прогноз пассажиропотока → расчёт потребности в агентах на кассах, контролёрах → планирование смен.
Дашборд ЦУП:
- Heatmap пассажиропотока по сети в реальном времени vs. прогноз
- Прогноз на 1/2/4 часа вперёд
- Алерты при ожидаемых аномалиях
- История точности прогноза
Интеграция:
- АСУПО (АСУ пассажирских операций) — российский стандарт для метро
- ACS (Access Control System): API для получения транзакционных данных
- ЕЦТО (Единый центр транспортного обслуживания)
Метрики:
- MAPE 15-мин прогноза: < 10%
- Peak accuracy: < 15% для пиковых часов (самое сложное)
- Early warning time: операционное предупреждение за 60-90 мин
Сроки: базовая модель на AFC-данных для 1 станции/маршрута — 3-4 недели. Система для всей сети с GNN, event-aware и ЦУП-интеграцией — 4-5 месяцев.







