การเรียนรู้ของเครื่องหลัง Farecast

การคาดการณ์ราคาเที่ยวบินกล่องดำ

หลายปีที่ผ่านมาฉันพบบทความวิจัย“ ซื้อหรือไม่ซื้อ: การขุดข้อมูลตั๋วเครื่องบินเพื่อลดราคาซื้อตั๋ว” เมื่อฉันทำงานที่ UCL ในโครงการที่ค้นคว้าวิธีช่วยผู้คนนำทางเมืองให้ดีขึ้นโดยใช้ ข้อมูล. ฉันเพิ่งได้รับชุดข้อมูลขนาดใหญ่ของธุรกรรมบัตร Oyster จาก Transport for London บทความนี้ซึ่งดูที่การแนะนำว่าจะซื้อตั๋วเครื่องบินเป็นแรงบันดาลใจให้เราใช้แนวคิดที่คล้ายกันเพื่อช่วยให้ผู้คนตัดสินใจว่าจะซื้อบัตรเดินทางประเภทใดด้วยระบบผู้แนะนำที่จะเรียนรู้จากรูปแบบการเดินทางของพวกเขา การวิจัยดังกล่าวส่งผลให้บทความนี้“ การขุดข้อมูลการเคลื่อนไหวเพื่อลดการใช้จ่ายของการขนส่งสาธารณะ” และเรื่องข่าวของ BBC

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

การสร้างผลิตภัณฑ์จากการทำนายราคา

ราคาเที่ยวบินอาจมีการเปลี่ยนแปลงฉาวโฉ่: ฉันแน่ใจว่าพวกเราส่วนใหญ่ได้ดูเที่ยวบินคิดถึงมันซักพักแล้วกลับมาที่มันเพื่อพบว่ามีราคาพุ่งขึ้น (หรือถ้าเรา ' โชคดีอีกครั้ง, ลง)

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

สถานการณ์นี้เป็นสิ่งหนึ่งที่การเรียนรู้ของเครื่องสามารถช่วยชีวิตได้ การใช้สมมติฐานเพียงข้อเดียวที่ว่าจะมีความคล้ายคลึงกันระหว่างราคาเส้นทางในอดีตและในอนาคตผู้เขียนสร้างแบบจำลองตามข้อมูลที่พร้อมใช้งานบนเว็บเท่านั้น: เส้นทาง (เช่น Seattle-Washington) จนถึงวันที่ การออกเดินทาง (เช่น 10) และราคาย้อนหลัง รุ่นนี้พยายามตอบคำถาม: กำหนดเส้นทางวันที่ออกเดินทางและราคาปัจจุบันฉันควรซื้อตั๋วหรือควรรอ

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

ถึงกระนั้นก็ตามยังมีประเด็นสำคัญหลายประการในบทความนี้:

  1. การทำนายความแม่นยำ <ยูทิลิตี้ผู้ใช้ เมื่อต้องเผชิญกับปัญหาเช่น "การทำนายค่าของ X" เรามักจะมีแนวโน้มที่จะวัดว่าเราทำนายค่านั้นอย่างแม่นยำได้อย่างไร แต่ผู้เขียนเหล่านี้วัดว่าการทำนายดังกล่าวสามารถสนับสนุนการกระทำของผู้ใช้ได้ดีเพียงใดในกรณีนี้“ รอ” หรือ“ ซื้อ”
  2. การทำนายไม่เหมือนกับการแจ้ง ประกาศล่าสุดจาก Google แสดงให้เห็นว่าพวกเขาได้ดำเนินการบางอย่างเช่นนี้ในการค้นหาเที่ยวบิน อย่างไรก็ตามพวกเขาแจ้งผู้ใช้ตามแนวโน้มในอดีต (“ ค่าโดยสารนี้มีแนวโน้มที่จะเพิ่มขึ้น” มากกว่า“ เราคาดการณ์ค่าโดยสารนี้จะเป็น x”)
  3. ข้อมูลที่สั่งเวลาไม่ได้หมายความว่าปัญหาอนุกรมเวลา เนื่องจากข้อมูลถูกเรียงลำดับตามเวลาหนึ่งในวิธีที่ 'เป็นธรรมชาติ' ในการทดลองคือแบบจำลองที่ทำนายว่าราคาจะขึ้นหรือลงตามพฤติกรรมล่าสุดของมัน อย่างไรก็ตามผู้เขียนพบว่าราคาเที่ยวบินมีแนวโน้มที่จะกระโดด - ขึ้นหรือลง - และดังนั้นการคาดการณ์ราคาต่อไปตามสิ่งที่เกิดขึ้นในช่วงสองสามชั่วโมงที่ผ่านมาเป็นหนึ่งในแนวทางที่เลวร้ายที่สุด

ผู้เขียนบทความนี้ได้ก่อตั้งภายหลัง Farecast ซึ่งในที่สุดก็ถูกซื้อโดย Microsoft Bing ในที่สุดก็ลดคุณสมบัติการคาดการณ์ของ Farecast แต่เครื่องมือค้นหาเมตาอื่น ๆ ได้พัฒนาผลิตภัณฑ์ที่คล้ายกัน Kayak มีเครื่องมือการคาดการณ์ราคามานานกว่า 3 ปี (ดูโพสต์บล็อกของพวกเขาประกาศคุณสมบัติ) และ Google เพิ่งเปิดตัวเครื่องมือพยากรณ์ในโพสต์บล็อกล่าสุดของพวกเขา

ข้อสรุป

หากคุณมีความสนใจในด้านเทคนิคของงานนี้ลองดูกระดาษติดต่อ Twitter หรือติดตามฉันที่ Medium - มีการสรุปกลุ่มการอ่านเพิ่มเติม!