めぐるバス遅延予測システム

しくみ

概要

本アプリは、公共交通オープンデータセンターが提供する都営バスのリアルタイム位置情報・時刻表データと 気象データを組み合わせ、機械学習で遅延時間を予測するWebアプリケーションです。

バスの遅延は、路線特性や時間帯に加え、天候にも影響されます。 雨天時は道路の混雑や乗降時間の増加により遅延が発生しやすく、 気温も乗客数の変動を通じて運行に影響を与える、とされています。

本アプリでは、2024年12月15日 〜 2025年3月30日の運行実績データをLightGBMモデルで学習しました。

システム構成

システム構成図:データ収集パイプライン、フロントエンド、バックエンド、APIエンドポイントの関係を示す

使用データ

データ種別説明
東京都交通局 バスロケーション情報バスの位置情報(5分で取得)
東京都交通局 バス停情報都営バスの時刻表
東京都交通局 バス時刻表時刻表データ
天気データ1時間ごとの気象情報(OpenWeather)

モデルの構築

まず、5分間隔で取得したバスのリアルタイム位置情報(JSONファイル群)を読み込みます。次に、このデータを時刻表データおよびバス停IDをキーとして結合し、各バスがどのバス停にいつ到着したかを特定します。さらに、予定時刻をキーとして天気データを結合することで、運行時点の気象条件を付与します。これらの処理を経て、約678万件の前処理済みデータセットを構築しました。

1. データ収集・結合

データの収集と結合は以下の手順で行いました。はじめに、JSONファイル群として蓄積されたバスのリアルタイム位置情報を読み込みます。次に、各レコードを時刻表データとバス停IDで照合し、バスの通過記録と運行スケジュールを紐付けます。最後に、予定時刻をキーとして1時間ごとの気象データを結合し、運行時の天候情報を付与します。

2. 遅延時間の算出

遅延時間は、実際のバス停通過時刻から時刻表上の予定出発時刻を差し引いて算出しています。この値が正の場合はバスが遅延していることを示し、負の場合は予定より早く到着したことを意味します。

3. 特徴量エンジニアリング

最終的に使用した特徴量:

カテゴリ特徴量
路線情報バス路線ID、路線パターンID、時刻表ID
バス停情報出発バス停、到着バス停、始発バス停、終点バス停
時刻情報年、月、日、時、分、曜日(予定出発・到着時刻から抽出)
運行情報カレンダー種別、バス停順序、深夜便フラグ、ノンステップバスフラグ
気象情報天気ID、天気概要、気温、体感温度、気圧、湿度、風速、風向、雲量

評価結果

精度指標

指標説明
RMSE2.47分平均二乗誤差の平方根
MAE1.51分平均絶対誤差

予測誤差はMAEで約1.5分、RMSEでも約2.5分程度に収まっています。

特徴量重要度(上位10件)

モデルが予測に重要視した特徴量:

順位説明
1運行系統パターンID
2対応する時刻表ID
3予定出発時刻(時)
4運行日カレンダーID(平日/土曜/休日など)
5予定出発時刻(日)
6終着停留所ID
7始発停留所ID
8気圧
9バス路線ID
10停留所の順番(路線内でのインデックス)

技術スタック

用途ライブラリ
データ処理pandas, orjson
機械学習LightGBM
ハイパーパラメータ最適化Optuna
並列処理concurrent.futures
可視化matplotlib
モデル永続化pickle, joblib