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

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

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

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

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

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

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

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

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

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

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

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

ข้อสรุป

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