HOME > 広報 > 九大理学部ニュース > バスの混雑度予測アルゴリズム

バスの混雑度予測アルゴリズム(

Itocon と混雑度予測

著者

 コロナ禍の現在において、感染から身を守るために混雑している場所を避けることは重要になっています。我々が日ごろ通勤・通学に使用しているバスでも混雑する時間帯は避けたいものです。そこで、大学院システム情報科学研究院の荒川豊教授の研究室では、混雑を避けて通学ができるように、九州大学伊都キャンパス関連のバス停の混雑度をリアルタイムで可視化するアプリ「itocon」(https://itocon.arakawa-lab.com) を開発されています。
 私 (数理学府数理学専攻 廣瀬研究室 修⼠課程 吉田航) はこの一環で、バス停の混雑度の予測を、過去の混雑度のデータを使って自動的に導出するアルゴリズムを作り、itocon に実装していただいております。私は、このアルゴリズムを、数学の統計という分野の知識を使って構築しました。

吉田 航(大学院数理学府 数理学専攻)
構成:中島 涼輔(大学院理学研究院)

状態空間モデルを用いたバスの混雑度予測

 バスの混雑度データは、1 日ごとに得られるデータであり、時系列データtime series dataに分類されます。時系列データでは、予測したいデータの、予測日以前に得られた同データとの関係性を考えて、予測を立てることが考えられます。九州大学伊都キャンパス行きのバス (図1) の混雑度では、授業日程の関係から、1 週間ごとの周期があるのではないか、などと考えられるかと思います。すなわち、7 日前、14 日前、21 日前… の混雑度と強い関係性があるという事です。この他にも、様々な周期性が存在すると考えられます。

図1
図1九州大学伊都キャンパス内の「九大ビッグオレンジ」バス停に停車する昭和バス ただし写真中のバスは、九州大学伊都キャンパス行きのバスではなく、伊都キャンパスから JR 筑肥線 九大学研都市駅へ向かうバスである。

 しかし、バスの混雑度データには厄介な点があります。それは、データの傾向が大きく変動するということです。例えば、夏休みなどの長期休み中は、授業期間中と比べて急激に混雑度が減少します。また、新型コロナウイルス感染拡大による遠隔授業の実施も混雑度に大きく影響しています。このような変動に従って 1 週間周期などの関係性も変動すると思われます。このようなデータの傾向の変動を表現できる統計モデルとして、状態空間モデルstate space modelがあります。私は、状態空間モデルの中でも、AR モデル (Auto-Regressive model : 自己回帰モデル)[1]とローカルレベルモデル[2]を組み合わせ[3]、上記のような変動する関係性を統計的に推定することで、バスの混雑度の予測を算出するアルゴリズムを作りました (図2)。

<dfn class="fig">図2</dfn>:<span class="qrinews-figure-title">「九大学研都市駅」バス停 午前 9 時 43 分発の便の混雑度予測の実験</span> 過去の混雑度データを用いて、正しく予測できるアルゴリズムになっているかを検証する。縦軸はバス停での乗車待ちの人数、横軸は時間 (日) を表す。赤線がセンサーにより実際に集計されたデータ、青線が作成したアルゴリズムによる予測値である。虫眼鏡をもったきゅうりくん@右下
図2「九大学研都市駅」バス停 午前 9 時 43 分発の便の混雑度予測の実験 過去の混雑度データを用いて、正しく予測できるアルゴリズムになっているかを検証する。縦軸はバス停での乗車待ちの人数、横軸は時間 (日) を表す。赤線がセンサーにより実際に集計されたデータ、青線が作成したアルゴリズムによる予測値である。


    著者R でのデータの前処理が大変でした。R とは私が使っているプログラミングソフトです。今回、提供していただいたデータは、バス停の 1 分ごとの乗車待ち人数のセンシングデータです。こちらは、荒川先生の研究室の方々がセンサー技術を用いて集計しているデータになります。

    著者前処理では例えば、上記のデータからバスの時刻表の時間における乗車待ちの人数を取り出して R に取り込む必要がありました。私はこのような時系列データの取り扱いに慣れていませんでしたので、私の研究室の廣瀬慧先生のお力を借りつつ何とか前処理のコードを書き上げました。日本語にすると、たった 1 行程度の処理なのですが、私の書いた R のコードでは 50 行ぐらい書くことがあり、中々骨が折れました。

    著者また、解析の面でも、データをどのように処理するかによって、結果が大幅に変わりました。例えば、データに対数をとって解析を行うだけで、全くうまくいかない解析が急に上手くいったりしました。どうすれば上手くいくのか、細かい点を模索するために実験を重ねたことも苦労したことです。ですが、実データを使った実験は好きだったので、楽しくもありました。

実データ解析から見つけた数学的トピック

 私は、今回のアルゴリズムを作る上で、バスの混雑度データを使い、多くの実験を行いました。実は、その中で、予測の誤差に関する数学的に面白いトピックを発見し、現在そのことについて論文を書いております。数学の研究では、鉛筆を動かすだけだと思われがちですが、データを動かすことでも学べることが非常に多いということを、今回のデータ解析で強く実感しました。今回、貴重な機会を下さった先生方には本当に感謝しています。

まとめと展望

 今後は、バスの混雑度予測のアルゴリズムの改善をしていくのはもちろん、上記の論文の完成も目指しております。また、現在 itocon では食堂の混雑度も確認できるようになっており、そちらの混雑度予測アルゴリズムも同時並行して作っていく予定です。どちらも、開発チームの方々、先生方とコミュニケーションをとりつつ良いものが作れたらと思っています。

研究こぼれ話


著者当時、ちょうど状態空間モデルの勉強をしていたこともあって、廣瀬先生から予測のお話をいただいたのが混雑度予測アルゴリズム作成のきっかけです。また、廣瀬先生に伺ったところ、コロナになって、3 密回避が重要ということになって、バスの混雑緩和のためにアプリを作りましょう、という経緯だったそうで、コロナの前は、このようなプロジェクトはなかったようです。

Note:

  • [1] ある時刻の値は、それ以前の時刻の値の線型結合で表される、と考えるモデルを AR モデルといいます。
  • [2] 内部に私たちが観測することができない時間変化する変数があり、その変数の線形変換にノイズがかかったものが観測値である、とするモデルを線形ガウス状態空間モデルといいます。このうち、内部の時間変化する変数を式で表したものをシステムモデル、観測値を式で表したものを観測モデルと呼びます。ローカルレベルモデルは線形ガウス状態空間モデルの一種です。
  • [3] 今回のモデルは、システムモデルが AR モデルの構造を持つようなものになっています。

より詳しく知りたい方は・・・

itocon
https://itocon.arakawa-lab.com
研究室HP
廣瀬研究室
キーワード
混雑度予測、時系列データ、状態空間モデル