2 ปีของห้องปฏิบัติการ AI ที่ Ruter — ตอนที่ 2

Dec 01 2022
ศูนย์กลางนวัตกรรมของเราช่วยให้การขนส่งสาธารณะดีขึ้นได้อย่างไร นี่คือส่วนที่ 2 ของชุดบทความเกี่ยวกับห้องปฏิบัติการ AI ที่ Ruter ในการทำซ้ำครั้งแรกของ AI-lab นักเรียนจะต้องหาวิธีช่วยเหลือทีมสนับสนุนลูกค้า อ่านตอนที่ 1 ที่นี่! สำหรับการทำซ้ำในปี 2021 นักเรียนกลุ่มใหม่สี่คนได้รับมอบหมายให้พยายามคาดการณ์ความล่าช้าในเครือข่ายการขนส่งขนาดใหญ่ของ Ruter

ศูนย์นวัตกรรมของเราช่วยให้การขนส่งสาธารณะดีขึ้นได้อย่างไร

นี่คือส่วนที่ 2 ของชุดบทความเกี่ยวกับ AI-lab ที่ Ruter ในการทำซ้ำครั้งแรกของ AI-lab นักเรียนจะต้องหาวิธีช่วยเหลือทีมสนับสนุนลูกค้าอ่านตอนที่ 1 ที่นี่ ! สำหรับการทำซ้ำในปี 2021 นักเรียนกลุ่มใหม่สี่คนได้รับมอบหมายให้พยายามคาดการณ์ความล่าช้าในเครือข่ายการขนส่งขนาดใหญ่ของ Ruter

ภาพถ่าย: Ruter As / Redink, Thomas Haugersveen

พ.ศ. 2564 — การคาดการณ์การเดินทางและการเดินทาง

ความล่าช้าเป็นภาระของผู้เดินทางที่ใช้บริการขนส่งสาธารณะ ผู้เดินทางประสบความไม่แน่นอนว่าพวกเขาจะไปถึงตรงเวลาหรือไม่ การวิเคราะห์ภายในจาก Ruterประมาณการว่าความล่าช้าเป็นภาระของผู้เดินทางมากกว่าเวลาเดินทางจริง 2.5 ถึง 6 เท่า ดังนั้นจึงจำเป็นต้องมีโมเดลสำหรับการทำนายความล่าช้าแบบเรียลไทม์อย่างแม่นยำ และทีมนักศึกษา 4 คนได้เริ่มใช้โมเดลแมชชีนเลิร์นนิงเพื่อบรรลุเป้าหมายนี้

วิธีการคำนวณเวลาถึงโดยประมาณในปัจจุบันใช้วิธีเชิงโต้ตอบ เมื่อตรวจพบความล่าช้าในบางลิงก์ ลิงก์ที่เหลือสำหรับการเดินทางจะถูกปรับตามการหน่วงเวลานี้ วิธีนี้ถือว่าการหน่วงเวลาของลิงก์ไม่รวมอยู่ในลิงก์ดาวน์สตรีม แต่มักจะเกิดขึ้นในกรณีที่มีปริมาณการใช้งานมากหรือในช่วงชั่วโมงเร่งด่วน เป้าหมายของห้องปฏิบัติการ AI ในปี 2021 คือการลองใช้แนวทางที่ขับเคลื่อนด้วยข้อมูลเพื่อคาดการณ์ความล่าช้าเหล่านี้ในเชิงรุกโดยใช้ ML โซลูชันจะมีศักยภาพในการ:

  • ปรับปรุงประสบการณ์ผู้ใช้ด้วยการให้ข้อมูลที่ถูกต้องยิ่งขึ้นบนหน้าจอแสดงผลและแอพ
  • ให้ข้อมูลเกี่ยวกับความล่าช้าที่คาดไว้แก่ผู้ใช้เมื่อวางแผนการเดินทาง
  • อำนวยความสะดวกในการวางแผนเส้นทางแบบไดนามิก

ตรรกะนี้สามารถให้ข้อมูลผิดพลาดเป็นระยะๆ ซึ่งยากต่อการค้นพบ เว้นแต่ใครจะเจาะลึกข้อมูลและดูที่เส้นทางหรือป้ายรถเมล์เฉพาะ ซึ่งเป็นเรื่องยากเมื่อประมวลผลแถวนับล้านแถว ดังนั้น จึงใช้เวลาจำนวนมากในการจัดหมวดหมู่ป้ายรถเมล์และเส้นทางที่มีข้อผิดพลาดหลายจุด จากนั้นตัดสินใจว่าการลบจุดข้อมูลเหล่านี้ออกจากชุดข้อมูลของเราเพื่อปรับปรุงประสิทธิภาพของโมเดล ML ของเรานั้นจะเป็นประโยชน์หรือไม่

กระบวนการทั้งหมดที่เราดำเนินการเพื่อแก้ปัญหา ตั้งแต่การรวบรวมข้อมูลไปจนถึงการวิเคราะห์และกำหนดโมเดล ML ที่ดีที่สุด สามารถสรุปได้ในขั้นตอนหลักดังต่อไปนี้:

ขั้นตอนหลักในการฝึกอบรมตัวทำนายเวลาการเดินทาง

การรวบรวมข้อมูลบัส:
ก่อนที่จะดึงข้อมูลที่เราต้องการ เราต้องดูภาพรวมของคลังข้อมูลและตารางต่างๆ สคริปต์เขียนด้วย SQL ดึงข้อมูลจากฐานข้อมูล PostgreSQL

การรวบรวมข้อมูลภายนอก:
เพื่อเพิ่มความสามารถในการคาดการณ์ของโมเดลแมชชีนเลิร์นนิงในอนาคต เราต้องการเพิ่มข้อมูลภายนอกที่เกี่ยวข้อง ข้อมูลสภาพอากาศในอดีตและข้อมูลการจราจรจึงถูกดึงมาจากอินเทอร์เน็ตและรวมเข้ากับชุดข้อมูลของเรา อย่างไรก็ตาม เนื่องจากความละเอียดที่หยาบของสถานีจราจร เหนือสิ่งอื่นใด ข้อมูลนี้มีผลกระทบเพียงเล็กน้อยต่อโมเดลแมชชีนเลิร์นนิงของเรา

การล้างข้อมูล:
ข้อมูลดิบไม่ได้อยู่ในรูปแบบที่ใช้งานได้ ในขณะที่ยังมีการลงทะเบียนที่ผิดพลาดและการเดินทางที่ไม่สมบูรณ์ การขาดข้อมูลและการทำซ้ำก็เป็นปัญหาเช่นกัน เพื่อจัดการกับสิ่งนี้ สคริปต์ไพธอนอาศัยไลบรารีแพนด้า เป็นอย่างมากจึงได้รับการพัฒนา สคริปต์นี้เป็นผลมาจากกระบวนการลองผิดลองถูกที่ยาวนานขึ้นโดยใช้สมุดบันทึก Jupyter และ AWS Sagemaker

วิศวกรรมคุณลักษณะ:
เราพบความสัมพันธ์ที่สำคัญระหว่างเวลาเดินทางของรถบัสในเส้นทางหนึ่งๆ กับเวลาเดินทางของรถบัสที่ขับในเส้นทางเดิมก่อนหน้านี้ ด้วยแรงบันดาลใจจากการวิเคราะห์อนุกรมเวลา เราได้สร้างคุณลักษณะหลายอย่างที่เราคิดว่าสามารถช่วยแบบจำลองได้ รวมถึงเส้นทางที่กำลังขับเคลื่อนเนื่องจากคุณลักษณะที่เป็นหมวดหมู่ดูเหมือนเป็นธรรมชาติ ซึ่งหมายความว่าทีมงานต้องเผชิญกับ "คำสาปแห่งมิติ" เนื่องจากแม้แต่เส้นทางรถเมล์เล็กๆ ของเราก็ยังมีเส้นทางที่แตกต่างกันนับร้อยระหว่างสองป้าย แต่มีการตัดสินใจที่จะรวมข้อมูลนี้โดยใช้ค่าเฉลี่ยที่แตกต่างกันสำหรับระยะต่างๆ ในขณะที่ยังหลีกเลี่ยงการรั่วไหลของหน่วยความจำในชุดข้อมูลของเรา โดยเฉพาะอย่างยิ่งเพื่อให้แน่ใจว่าค่าเฉลี่ยที่ระบุเป็นคุณลักษณะไม่มีข้อมูลที่ปรากฏช้ากว่าจุดข้อมูลปัจจุบัน

การฝึกอบรมโมเดลแมชชีนเลิร์นนิง:
มีอิสระมากมายที่เกี่ยวข้องกับการทดสอบโมเดลแมชชีนเลิร์นนิงต่างๆ เราได้รับการสนับสนุนให้ลองใช้ทั้งโมเดลแมชชีนเลิร์นนิงที่เรารู้มาก่อนและเรียนรู้โมเดลใหม่ แบบจำลองการถดถอยเชิงเส้นถูกใช้เป็นพื้นฐาน และสารสกัดจากแบบจำลองที่ได้รับการทดสอบ ได้แก่: "การถดถอยสัน", "GAM", "โครงข่ายประสาทเทียม" และ "แบบจำลองต้นไม้ที่เพิ่มขึ้น" โมเดลต้นไม้ที่บูสต์ เช่น XGBoost ให้ผลลัพธ์ที่ดีที่สุด แม้ว่าการปรับปรุงจากโมเดลการถดถอยเชิงเส้นพื้นฐานจะเล็กน้อยก็ตาม สิ่งนี้เกิดขึ้นจากความสัมพันธ์ขนาดใหญ่ระหว่างเวลาเดินทางและคุณสมบัติ "ค่าเฉลี่ยของเวลาเดินทาง 10 ครั้งล่าสุดสำหรับลิงก์นี้" เครื่องมือหลักของเราสำหรับส่วนนี้คือ Amazon Sagemaker พร้อม python

การเปรียบเทียบประสิทธิภาพของรุ่นต่างๆ ML ทุกรุ่นทำงานได้ดีกว่ารุ่นที่ใช้อยู่ในปัจจุบัน

การ คาดการณ์:
หลังจากฝึกโมเดลแมชชีนเลิร์นนิงแล้ว จะสามารถบันทึกและใช้เพื่อคาดการณ์เวลาเดินทางสำหรับชุดข้อมูลใหม่ได้ ความต่อเนื่องของงานที่มอบหมายของเราอาจรวมถึงการผลิตโมเดลด้วยไปป์ไลน์ที่ดึงข้อมูลบัส ดำเนินการแปลงข้อมูล และฟีดข้อมูลลงในโมเดล จากนั้นสามารถส่งการคาดคะเนไปยังแอป Ruter และหน้าจอแสดงผลได้

การวิเคราะห์โมเดล ML:
หลังจากเลือกโมเดลแล้ว เราได้ลงลึกในรายละเอียดของการคาดการณ์โมเดลและส่วนที่เหลือ เราต้องการทราบว่าโมเดลนี้มีประสิทธิภาพดีกว่าโซลูชันปัจจุบันมากน้อยเพียงใด รับการแสดงภาพข้อผิดพลาดสำหรับลิงก์ต่างๆ ของเส้นทางรถเมล์ที่ระบุ ค้นหาว่าโมเดลทำงานได้ไม่ดีในจุดใดและเพราะเหตุใด คำตอบถูกแสดงให้เห็นภาพผ่านโครงเรื่องต่างๆ และการวิเคราะห์กลายเป็นกิจกรรมหลักในการนำเสนอของเราเมื่อสิ้นสุดฤดูร้อน

MAE สำหรับแบบจำลองของเราและโซลูชันปัจจุบันสำหรับการเชื่อมโยงการเดินทางทั้งหมดบนเส้นทาง 110 ไปยัง Oslo Bussterminal

นับตั้งแต่ฤดูร้อนปี 2021 เป็นต้นมา ตรรกะสำหรับการประมาณการความล่าช้าได้รับการปรับปรุงให้เหมาะสมยิ่งขึ้น ดังนั้นการเปรียบเทียบในวันนี้จึงอาจดูแตกต่างออกไป

เพื่อสรุปฤดูร้อนปี 2021 เรามีนักเรียน 4 คน ที่ทำงานในหัวข้อ "การใช้โมเดลแมชชีนเลิร์นนิงเพื่อคาดการณ์เวลาเดินทางแบบเรียลไทม์" ฤดูร้อนปิดท้ายด้วยการนำเสนอเกี่ยวกับการค้นพบใหม่ ปัญหา ผลลัพธ์ และการวิเคราะห์ผลลัพธ์ การทำงานของเรากับการรวบรวมข้อมูล การล้างข้อมูล ผลลัพธ์ และข้อมูลเชิงลึกในข้อมูลได้วางรากฐานสำหรับเราสองคนที่ยังคงเป็นนักศึกษาฝึกงานที่ทำงานนอกเวลาต่อไป ในฐานะนักศึกษาฝึกงานที่ทำงานนอกเวลา สิ่งที่เราทำบางอย่างคือการดูว่าโมเดลแมชชีนเลิร์นนิงทำงานอย่างไรเมื่อเราละเว้นคุณลักษณะที่เกี่ยวข้องกับอดีตปัจจุบัน และการคาดการณ์ต่อไปในอนาคต การฝึกงานนอกเวลาสรุปด้วยการวิเคราะห์ข้อมูลโดยใช้เทคนิคใหม่ในการลงทะเบียนการมาถึงและออกเดินทาง

ในปี 2022 เรามีกรณีการใช้งานที่น่าสนใจมากมายสำหรับ ML ในการขนส่งสาธารณะ โปรดติดตามตอนที่ 3 ของชุดบทความ AI-lab!

เขียนโดย Sindre Skaugset Olderkjær และ Fredrik Wilhelm Butler Wang