情報技術科 No.08 小桐斗馬
No.18 新村勇葵
No.21 髙井健人
①研究の背景
登下校、通勤でバスを利用する人は多いのではないでしょうか。しかし、道路状況、天候等により時刻表通りの運行ができないということが多々あります。
そんなバスがいつバス停に到着し、いつ目的地へ着くのか、それがわかればより快適にバスを利用できる思いこの研究を始めました。
②仮説とねらい
時間によって天候、曜日、イベントなど様々な環境の変化があり、それにより各時間ごと大きな外的変化が起こるため長期間でのデータを用いて予測することは難しいといえます。そのため外的変化が少ない直近の時間を用いて予測を行うことにしました。
具体的には、直近の各バス停間の所要時間の平均を用いることで現在の各バス停間の所要時間を予測することができ、目的のバス停までに経由するバス停間の所要時間の和がバスの到着時間となるのではないかと考えました。
③研究内容
昨年、一路線の一部分のみで上記のような予測を行った先輩の研究をもとに全346路線、2537バス停間での予測を行います。
インターネット上でバスの運行状況を公開している「バスどこ!?マップ」のhtmlソース上からスクレイピングという技術を用いてその情報を収集、抽出し、データベースへ蓄積します。
このサイトからこれらの情報を長期間に渡りスクレイピングし、データベースに蓄積します。
これをもとに各バス停を通過する順番、各バス停の座標や各区間を作るバス停組などを形成します。
これらの形成された路線などの情報を使って、各区間での実際の所要時間を蓄積。
さらに直近の実所要時間をもとに全路線でのバスの到着時間を予測するのですが、この際過去の各区間の実所要時間のデータを用いて直近の時間は何分が適切なのか検証し各区間ごと一番適切だと判断された直近時間を用いて予測を行います。
最終的にバス利用者がweb上で到着予測時間を確認できるようにしていきます。
④技術的知識
今回スクレイピングを行い研究を行っていますが。そもそもスクレイピングとは、ウェブサイトから情報を抽出するコンピュータソフトウェア技術のことを指します。
phpでスクレイピングを行いそのデータをデータベースに格納します。
その際データベースはphpMyAdminを用いて、SQLでデータベースの操作を行います。
C++で所要時間の予測の処理を行い、htmlやphp、javascriptでホームページを作成します。
⑤これからの取組
- 大量のデータを効率良く処理できるような構造のテーブルを作る。
- 各バスに路線があり、その路線にバス停がある。そうなると必要な計算量が膨大になります。そのような大量なデータを効率的に処理することができるようにする。
- 表示の構成としては公開されている「バスどこ!?マップ」をもとに行っているためほぼ同じ表示方法となっている。しかし、表示したいものが違うため適した表示のやり方も当然違うと考えられる。研究結果が伝わるよう、より適した表示にする。
これらのことを今後の展望として取り組んでいきます。
⑥まとめ
実用化をするにあたり、いつでもどこでも使うことができ、使いやすいものを作ろうと目指しました。
Webアプリにすることでいつでもどこでも使うことができるものにしました。
路線図上で表示し、バス停や路線を一覧で表示することで視覚的にもわかりやすく、使いやすいものにしました。
また、AJAXを用いてユーザーの求めている路線だけを予測することで全路線を予測せずに無駄をなくしました。
⑦感想・考察
初めは、先輩からの引継ぎで技術的な不安が大きかったです。しかし、研究を行っていく中で分からないところは調べたり、意見を出し合ったりすることで何とかすることができました。
一つの成果物を作り上げることで力をつけることができ、成果物があるからこそ自信にもつながりました。
参考データ元の関係で正確に予測するということが難しく、より詳しいデータを用いることができていたら、どんな結果が得られたのかが気になります。