2 tahun AI-lab di Ruter — Bagian 2

Dec 01 2022
Bagaimana pusat inovasi kami membantu menjadikan transportasi umum lebih baik Ini adalah bagian 2 dari rangkaian artikel tentang laboratorium AI di Ruter. Pada iterasi pertama AI-lab, para siswa harus mencari cara untuk membantu tim dukungan pelanggan, baca bagian 1 di sini! Untuk iterasi 2021, kelompok baru yang terdiri dari empat siswa ditugaskan untuk mencoba memprediksi penundaan di jaringan transportasi besar Ruter.

Bagaimana pusat inovasi kami membantu menjadikan transportasi umum lebih baik

Ini adalah bagian 2 dari serangkaian artikel tentang laboratorium AI di Ruter. Di iterasi pertama AI-lab, para siswa harus mencari cara untuk membantu tim dukungan pelanggan, baca bagian 1 di sini ! Untuk iterasi 2021, kelompok baru yang terdiri dari empat siswa ditugaskan untuk mencoba memprediksi penundaan di jaringan transportasi besar Ruter.

Foto: Ruter As / Redink, Thomas Haugersveen

2021 — Prediksi mobilitas dan waktu perjalanan

Keterlambatan menjadi beban bagi pemudik yang menggunakan transportasi umum. Wisatawan mengalami ketidakpastian tentang apakah mereka akan tiba tepat waktu. Analisis internal dari Ruter memperkirakan bahwa penundaan 2,5 hingga 6 kali lebih memberatkan bagi para pelancong daripada waktu tempuh yang sebenarnya. Oleh karena itu, diperlukan model untuk memprediksi keterlambatan ini secara real-time secara akurat, dan tim yang terdiri dari empat siswa mulai menggunakan model pembelajaran mesin untuk mencapainya.

Metode saat ini untuk menghitung perkiraan waktu kedatangan menggunakan pendekatan reaktif. Ketika penundaan terdeteksi pada beberapa tautan, tautan lainnya untuk perjalanan disesuaikan dengan penundaan ini. Metode ini mengasumsikan bahwa delay pada link tidak bertambah untuk link downstream, tetapi hal ini sering terjadi jika ada banyak lalu lintas atau pada jam sibuk. Tujuan lab AI 2021 adalah mencoba pendekatan berbasis data untuk memprediksi penundaan ini secara proaktif menggunakan ML. Solusi akan memiliki potensi untuk:

  • Tingkatkan pengalaman pengguna dengan memberikan informasi yang lebih akurat di layar tampilan dan aplikasi
  • Berikan informasi kepada pengguna tentang perkiraan penundaan saat merencanakan perjalanan mereka
  • Memfasilitasi perencanaan rute yang dinamis

Logika ini secara sporadis dapat memberikan data yang salah yang sulit ditemukan kecuali jika seseorang menyelami data tersebut dan melihat rute atau halte bus tertentu, yang sulit dilakukan saat seseorang memproses jutaan baris. Oleh karena itu, sejumlah besar waktu dihabiskan untuk mengkategorikan halte dan rute bus dengan banyak kesalahan, lalu memutuskan apakah akan bermanfaat untuk menghapus titik data ini dari kumpulan data kami untuk meningkatkan kinerja model ML kami.

Seluruh proses yang kami ikuti untuk menyelesaikan tugas, mulai dari mengumpulkan data hingga menganalisis dan menentukan model ML terbaik, dapat diringkas dalam langkah-langkah utama berikut:

Langkah utama dilakukan untuk melatih alat prediksi waktu perjalanan

Mengumpulkan data bus:
Sebelum mengambil data yang kami inginkan, kami harus mendapatkan gambaran tentang gudang data dan berbagai tabel yang ada di dalamnya. Skrip ditulis dalam SQL, mengambil data dari database PostgreSQL.

Mengumpulkan data eksternal:
Untuk meningkatkan kemampuan prediksi model pembelajaran mesin masa depan, kami ingin menambahkan data eksternal yang relevan. Oleh karena itu, data cuaca historis dan data lalu lintas diambil dari internet dan digabungkan ke dalam kumpulan data kami. Namun, karena resolusi stasiun lalu lintas yang kasar, antara lain, data ini berdampak minimal pada model pembelajaran mesin kami.

Pembersihan data:
Data mentah tidak dalam format yang dapat digunakan, sementara juga berisi beberapa pendaftaran yang salah dan perjalanan yang tidak lengkap. Kekurangan data dan duplikat juga bermasalah. Untuk menangani ini, skrip python yang sangat bergantung pada pustaka panda dikembangkan. Skrip ini adalah hasil dari proses coba-coba yang lebih lama menggunakan notebook Jupyter dan AWS Sagemaker.

Rekayasa Fitur:
Kami menemukan korelasi yang signifikan antara waktu tempuh bus pada rute tertentu dan waktu tempuh bus yang melewati rute yang sama sebelumnya. Dengan inspirasi dari analisis deret waktu, kami membuat beberapa fitur yang menurut kami dapat membantu model tersebut - termasuk rute mana yang didorong karena fitur kategorikal tampak alami. Ini berarti bahwa tim menghadapi "Kutukan Dimensi" karena bahkan pilihan kecil rute bus kami berisi ratusan bentangan berbeda di antara dua perhentian. Alih-alih, diputuskan untuk memasukkan informasi ini menggunakan rata-rata yang berbeda untuk bentangan yang berbeda, sekaligus menghindari kebocoran memori dalam kumpulan data kami, lebih khusus memastikan bahwa rata-rata yang disediakan karena fitur tidak berisi data yang muncul setelah titik data saat ini.

Melatih model pembelajaran mesin:
Ada banyak kebebasan yang terkait dengan pengujian berbagai model pembelajaran mesin. Kami didorong untuk mencoba kedua model pembelajaran mesin yang kami ketahui sebelumnya dan mempelajari model baru. Model regresi linier digunakan sebagai garis dasar, dan ekstrak model yang diuji terhadapnya adalah: "Regresi Ridge", "GAM", "Jaringan saraf", dan "Model pohon yang ditingkatkan". Model pohon terdorong, seperti XGBoost, memberikan hasil terbaik, meskipun peningkatan dari model regresi linier baseline kecil. Ini muncul dari korelasi besar antara waktu tempuh dan fitur “rata-rata dari 10 waktu tempuh terakhir untuk tautan ini”. Alat utama kami untuk bagian ini adalah Amazon Sagemaker dengan python.

Perbandingan kinerja berbagai model. Semua model ML berperforma lebih baik daripada yang digunakan saat ini.

Prediksi:
Setelah melatih model pembelajaran mesin, model tersebut dapat disimpan dan digunakan untuk memprediksi waktu perjalanan untuk kumpulan data baru. Kelanjutan dari penugasan kami dapat mencakup produksi model dengan pipa yang mengambil data bus, melakukan transformasi data, dan memasukkan data ke dalam model. Prediksi kemudian dapat dikirim ke aplikasi Ruter dan menampilkan layar.

Analisis model ML:
Setelah pemilihan model, kami menggali lebih dalam detail prediksi dan residu model. Antara lain, kami ingin mengetahui seberapa baik kinerja model ini daripada solusi saat ini, mendapatkan visualisasi kesalahan untuk tautan berbeda dari rute bus tertentu, menemukan di mana model berkinerja buruk dan mengapa. Jawabannya divisualisasikan melalui plot yang berbeda, dan analisisnya menjadi acara utama presentasi kami di akhir musim panas.

MAE untuk model kami dan solusi saat ini untuk semua jaringan perjalanan di rute 110 menuju Oslo Bussterminal

Sejak musim panas 2021, logika untuk memperkirakan penundaan telah dioptimalkan lebih lanjut, sehingga perbandingannya mungkin terlihat berbeda hari ini.

Untuk meringkas musim panas 2021, kami adalah 4 siswa yang mengerjakan tugas: “Menggunakan model pembelajaran mesin untuk memprediksi waktu perjalanan secara real-time”. Musim panas diakhiri dengan presentasi tentang penemuan baru, masalah, hasil, dan analisis hasil. Pekerjaan kami dengan pengumpulan data, pembersihan data, hasil, dan wawasan dalam data meletakkan dasar bagi kami berdua yang berlanjut sebagai magang yang bekerja paruh waktu. Sebagai pekerja magang yang bekerja paruh waktu, beberapa hal yang kami lakukan adalah melihat performa model pembelajaran mesin saat kami menghilangkan fitur yang melibatkan masa lalu langsung, dan prediksi lebih jauh ke masa depan. Magang paruh waktu diakhiri dengan analisis data menggunakan teknik baru untuk pendaftaran kedatangan dan keberangkatan.

Pada tahun 2022 kami memiliki beberapa kasus penggunaan ML yang menarik di transportasi umum, nantikan bagian 3 dari seri artikel AI-lab!

Ditulis oleh Sindre Skaugset Olderkjær dan Fredrik Wilhelm Butler Wang