2 ปีของห้องปฏิบัติการ AI ที่ Ruter — ตอนที่ 2
ศูนย์นวัตกรรมของเราช่วยให้การขนส่งสาธารณะดีขึ้นได้อย่างไร
นี่คือส่วนที่ 2 ของชุดบทความเกี่ยวกับ AI-lab ที่ Ruter ในการทำซ้ำครั้งแรกของ AI-lab นักเรียนจะต้องหาวิธีช่วยเหลือทีมสนับสนุนลูกค้าอ่านตอนที่ 1 ที่นี่ ! สำหรับการทำซ้ำในปี 2021 นักเรียนกลุ่มใหม่สี่คนได้รับมอบหมายให้พยายามคาดการณ์ความล่าช้าในเครือข่ายการขนส่งขนาดใหญ่ของ Ruter
![](https://post.nghiatu.com/assets/images/m/max/724/1*WNiLK1BpxL_h_eO_4ijE9g.jpeg)
พ.ศ. 2564 — การคาดการณ์การเดินทางและการเดินทาง
ความล่าช้าเป็นภาระของผู้เดินทางที่ใช้บริการขนส่งสาธารณะ ผู้เดินทางประสบความไม่แน่นอนว่าพวกเขาจะไปถึงตรงเวลาหรือไม่ การวิเคราะห์ภายในจาก Ruterประมาณการว่าความล่าช้าเป็นภาระของผู้เดินทางมากกว่าเวลาเดินทางจริง 2.5 ถึง 6 เท่า ดังนั้นจึงจำเป็นต้องมีโมเดลสำหรับการทำนายความล่าช้าแบบเรียลไทม์อย่างแม่นยำ และทีมนักศึกษา 4 คนได้เริ่มใช้โมเดลแมชชีนเลิร์นนิงเพื่อบรรลุเป้าหมายนี้
วิธีการคำนวณเวลาถึงโดยประมาณในปัจจุบันใช้วิธีเชิงโต้ตอบ เมื่อตรวจพบความล่าช้าในบางลิงก์ ลิงก์ที่เหลือสำหรับการเดินทางจะถูกปรับตามการหน่วงเวลานี้ วิธีนี้ถือว่าการหน่วงเวลาของลิงก์ไม่รวมอยู่ในลิงก์ดาวน์สตรีม แต่มักจะเกิดขึ้นในกรณีที่มีปริมาณการใช้งานมากหรือในช่วงชั่วโมงเร่งด่วน เป้าหมายของห้องปฏิบัติการ AI ในปี 2021 คือการลองใช้แนวทางที่ขับเคลื่อนด้วยข้อมูลเพื่อคาดการณ์ความล่าช้าเหล่านี้ในเชิงรุกโดยใช้ ML โซลูชันจะมีศักยภาพในการ:
- ปรับปรุงประสบการณ์ผู้ใช้ด้วยการให้ข้อมูลที่ถูกต้องยิ่งขึ้นบนหน้าจอแสดงผลและแอพ
- ให้ข้อมูลเกี่ยวกับความล่าช้าที่คาดไว้แก่ผู้ใช้เมื่อวางแผนการเดินทาง
- อำนวยความสะดวกในการวางแผนเส้นทางแบบไดนามิก
ตรรกะนี้สามารถให้ข้อมูลผิดพลาดเป็นระยะๆ ซึ่งยากต่อการค้นพบ เว้นแต่ใครจะเจาะลึกข้อมูลและดูที่เส้นทางหรือป้ายรถเมล์เฉพาะ ซึ่งเป็นเรื่องยากเมื่อประมวลผลแถวนับล้านแถว ดังนั้น จึงใช้เวลาจำนวนมากในการจัดหมวดหมู่ป้ายรถเมล์และเส้นทางที่มีข้อผิดพลาดหลายจุด จากนั้นตัดสินใจว่าการลบจุดข้อมูลเหล่านี้ออกจากชุดข้อมูลของเราเพื่อปรับปรุงประสิทธิภาพของโมเดล ML ของเรานั้นจะเป็นประโยชน์หรือไม่
กระบวนการทั้งหมดที่เราดำเนินการเพื่อแก้ปัญหา ตั้งแต่การรวบรวมข้อมูลไปจนถึงการวิเคราะห์และกำหนดโมเดล ML ที่ดีที่สุด สามารถสรุปได้ในขั้นตอนหลักดังต่อไปนี้:
![](https://post.nghiatu.com/assets/images/m/max/724/1*c6pCwygUEmRyn4JKgGbcPA.png)
การรวบรวมข้อมูลบัส:
ก่อนที่จะดึงข้อมูลที่เราต้องการ เราต้องดูภาพรวมของคลังข้อมูลและตารางต่างๆ สคริปต์เขียนด้วย SQL ดึงข้อมูลจากฐานข้อมูล PostgreSQL
การรวบรวมข้อมูลภายนอก:
เพื่อเพิ่มความสามารถในการคาดการณ์ของโมเดลแมชชีนเลิร์นนิงในอนาคต เราต้องการเพิ่มข้อมูลภายนอกที่เกี่ยวข้อง ข้อมูลสภาพอากาศในอดีตและข้อมูลการจราจรจึงถูกดึงมาจากอินเทอร์เน็ตและรวมเข้ากับชุดข้อมูลของเรา อย่างไรก็ตาม เนื่องจากความละเอียดที่หยาบของสถานีจราจร เหนือสิ่งอื่นใด ข้อมูลนี้มีผลกระทบเพียงเล็กน้อยต่อโมเดลแมชชีนเลิร์นนิงของเรา
การล้างข้อมูล:
ข้อมูลดิบไม่ได้อยู่ในรูปแบบที่ใช้งานได้ ในขณะที่ยังมีการลงทะเบียนที่ผิดพลาดและการเดินทางที่ไม่สมบูรณ์ การขาดข้อมูลและการทำซ้ำก็เป็นปัญหาเช่นกัน เพื่อจัดการกับสิ่งนี้ สคริปต์ไพธอนอาศัยไลบรารีแพนด้า เป็นอย่างมากจึงได้รับการพัฒนา สคริปต์นี้เป็นผลมาจากกระบวนการลองผิดลองถูกที่ยาวนานขึ้นโดยใช้สมุดบันทึก Jupyter และ AWS Sagemaker
วิศวกรรมคุณลักษณะ:
เราพบความสัมพันธ์ที่สำคัญระหว่างเวลาเดินทางของรถบัสในเส้นทางหนึ่งๆ กับเวลาเดินทางของรถบัสที่ขับในเส้นทางเดิมก่อนหน้านี้ ด้วยแรงบันดาลใจจากการวิเคราะห์อนุกรมเวลา เราได้สร้างคุณลักษณะหลายอย่างที่เราคิดว่าสามารถช่วยแบบจำลองได้ รวมถึงเส้นทางที่กำลังขับเคลื่อนเนื่องจากคุณลักษณะที่เป็นหมวดหมู่ดูเหมือนเป็นธรรมชาติ ซึ่งหมายความว่าทีมงานต้องเผชิญกับ "คำสาปแห่งมิติ" เนื่องจากแม้แต่เส้นทางรถเมล์เล็กๆ ของเราก็ยังมีเส้นทางที่แตกต่างกันนับร้อยระหว่างสองป้าย แต่มีการตัดสินใจที่จะรวมข้อมูลนี้โดยใช้ค่าเฉลี่ยที่แตกต่างกันสำหรับระยะต่างๆ ในขณะที่ยังหลีกเลี่ยงการรั่วไหลของหน่วยความจำในชุดข้อมูลของเรา โดยเฉพาะอย่างยิ่งเพื่อให้แน่ใจว่าค่าเฉลี่ยที่ระบุเป็นคุณลักษณะไม่มีข้อมูลที่ปรากฏช้ากว่าจุดข้อมูลปัจจุบัน
การฝึกอบรมโมเดลแมชชีนเลิร์นนิง:
มีอิสระมากมายที่เกี่ยวข้องกับการทดสอบโมเดลแมชชีนเลิร์นนิงต่างๆ เราได้รับการสนับสนุนให้ลองใช้ทั้งโมเดลแมชชีนเลิร์นนิงที่เรารู้มาก่อนและเรียนรู้โมเดลใหม่ แบบจำลองการถดถอยเชิงเส้นถูกใช้เป็นพื้นฐาน และสารสกัดจากแบบจำลองที่ได้รับการทดสอบ ได้แก่: "การถดถอยสัน", "GAM", "โครงข่ายประสาทเทียม" และ "แบบจำลองต้นไม้ที่เพิ่มขึ้น" โมเดลต้นไม้ที่บูสต์ เช่น XGBoost ให้ผลลัพธ์ที่ดีที่สุด แม้ว่าการปรับปรุงจากโมเดลการถดถอยเชิงเส้นพื้นฐานจะเล็กน้อยก็ตาม สิ่งนี้เกิดขึ้นจากความสัมพันธ์ขนาดใหญ่ระหว่างเวลาเดินทางและคุณสมบัติ "ค่าเฉลี่ยของเวลาเดินทาง 10 ครั้งล่าสุดสำหรับลิงก์นี้" เครื่องมือหลักของเราสำหรับส่วนนี้คือ Amazon Sagemaker พร้อม python
![](https://post.nghiatu.com/assets/images/m/max/724/1*Fwt_eMBsdvQHOjO7na3zsw.png)
การ คาดการณ์:
หลังจากฝึกโมเดลแมชชีนเลิร์นนิงแล้ว จะสามารถบันทึกและใช้เพื่อคาดการณ์เวลาเดินทางสำหรับชุดข้อมูลใหม่ได้ ความต่อเนื่องของงานที่มอบหมายของเราอาจรวมถึงการผลิตโมเดลด้วยไปป์ไลน์ที่ดึงข้อมูลบัส ดำเนินการแปลงข้อมูล และฟีดข้อมูลลงในโมเดล จากนั้นสามารถส่งการคาดคะเนไปยังแอป Ruter และหน้าจอแสดงผลได้
การวิเคราะห์โมเดล ML:
หลังจากเลือกโมเดลแล้ว เราได้ลงลึกในรายละเอียดของการคาดการณ์โมเดลและส่วนที่เหลือ เราต้องการทราบว่าโมเดลนี้มีประสิทธิภาพดีกว่าโซลูชันปัจจุบันมากน้อยเพียงใด รับการแสดงภาพข้อผิดพลาดสำหรับลิงก์ต่างๆ ของเส้นทางรถเมล์ที่ระบุ ค้นหาว่าโมเดลทำงานได้ไม่ดีในจุดใดและเพราะเหตุใด คำตอบถูกแสดงให้เห็นภาพผ่านโครงเรื่องต่างๆ และการวิเคราะห์กลายเป็นกิจกรรมหลักในการนำเสนอของเราเมื่อสิ้นสุดฤดูร้อน
![](https://post.nghiatu.com/assets/images/m/max/724/1*rF3-xXtkFfwURBM9LXq7kA.png)
นับตั้งแต่ฤดูร้อนปี 2021 เป็นต้นมา ตรรกะสำหรับการประมาณการความล่าช้าได้รับการปรับปรุงให้เหมาะสมยิ่งขึ้น ดังนั้นการเปรียบเทียบในวันนี้จึงอาจดูแตกต่างออกไป
เพื่อสรุปฤดูร้อนปี 2021 เรามีนักเรียน 4 คน ที่ทำงานในหัวข้อ "การใช้โมเดลแมชชีนเลิร์นนิงเพื่อคาดการณ์เวลาเดินทางแบบเรียลไทม์" ฤดูร้อนปิดท้ายด้วยการนำเสนอเกี่ยวกับการค้นพบใหม่ ปัญหา ผลลัพธ์ และการวิเคราะห์ผลลัพธ์ การทำงานของเรากับการรวบรวมข้อมูล การล้างข้อมูล ผลลัพธ์ และข้อมูลเชิงลึกในข้อมูลได้วางรากฐานสำหรับเราสองคนที่ยังคงเป็นนักศึกษาฝึกงานที่ทำงานนอกเวลาต่อไป ในฐานะนักศึกษาฝึกงานที่ทำงานนอกเวลา สิ่งที่เราทำบางอย่างคือการดูว่าโมเดลแมชชีนเลิร์นนิงทำงานอย่างไรเมื่อเราละเว้นคุณลักษณะที่เกี่ยวข้องกับอดีตปัจจุบัน และการคาดการณ์ต่อไปในอนาคต การฝึกงานนอกเวลาสรุปด้วยการวิเคราะห์ข้อมูลโดยใช้เทคนิคใหม่ในการลงทะเบียนการมาถึงและออกเดินทาง
ในปี 2022 เรามีกรณีการใช้งานที่น่าสนใจมากมายสำหรับ ML ในการขนส่งสาธารณะ โปรดติดตามตอนที่ 3 ของชุดบทความ AI-lab!
เขียนโดย Sindre Skaugset Olderkjær และ Fredrik Wilhelm Butler Wang