Pembelajaran Mesin Di Sebalik Farecast

Meramalkan kotak hitam harga penerbangan

Beberapa tahun yang lalu, saya berlari ke dalam kertas penyelidikan ini "Beli atau Tidak Beli: Data Penerbangan Perlombongan untuk Meminimumkan Harga Belian Tiket," ketika saya bekerja di UCL pada sebuah projek yang sedang meneliti cara untuk membantu orang menavigasi bandar dengan lebih baik menggunakan data. Saya baru sahaja menerima satu set data urus niaga kad Oyster dari Transport for London. Kertas ini, yang kelihatan mengesyorkan sama ada untuk membeli tiket pesawat, memberi inspirasi kepada kami untuk menggunakan konsep yang sama untuk membantu orang menentukan kad perjalanan untuk membeli, dengan sistem pengesyorkan yang akan belajar dari corak perjalanan mereka. Penyelidikan itu menghasilkan kertas kerja "Data Mobiliti Pertambangan untuk Meminimumkan Perbelanjaan Pengembara di Pengangkutan Awam" dan kisah berita BBC ini.

Saya memulakan semula kertas data tambang penerbangan untuk kumpulan bacaan Skyscanner - kami telah bertemu untuk membincangkan kertas penyelidikan yang menangani masalah yang sama dengan yang kami hadapi di Skyscanner. Sama seperti jawatan terakhir, inilah ringkasan ringkas, bukan teknikal mengenai apa yang dibincangkan.

Membuat Produk daripada Ramalan Harga

Harga penerbangan terkenal tertakluk kepada perubahan: Saya yakin bahawa sebahagian besar daripada kita telah melihat penerbangan, memikirkannya untuk seketika, dan kemudian kembali kepada itu hanya untuk mendapati bahawa harga telah ditembak (atau, semula bertuah, ke bawah).

Seperti yang dijelaskan oleh pengarang makalah ini, sebahagian daripada meramalkan harga penerbangan nampaknya adalah mengenai penyahkodan enjin keputusan tersembunyi yang digunakan oleh syarikat penerbangan untuk menetapkan harga mereka sendiri: barangkali harga laluan semasa adalah berdasarkan kerusi yang tersedia, atas permintaan, harga pesaing, pada masa tahun, atau banyak faktor lain. Memandangkan terdapat banyak sebab mengapa harga penerbangan berubah (dan kita tidak semestinya mempunyai akses kepada semua data yang digunakan oleh pembekal untuk menetapkan harga), bolehkah kita dengan semestinya memajukan apa-apa cara untuk meramalkan harga penerbangan?

Senario ini adalah di mana pembelajaran mesin boleh datang untuk menyelamatkan. Dengan menggunakan satu-satunya andaian bahawa terdapat beberapa kesamaan antara harga laluan sejarah dan masa depan, penulis membuat model berdasarkan hanya data yang tersedia untuk mereka di web: laluan (misalnya, Seattle-Washington), hari-hari sehingga berlepas (contohnya, 10), dan harga bersejarah. Model ini cuba menjawab soalan: diberi laluan, tarikh berlepas, dan harga semasa, sekiranya saya membeli tiket, atau saya perlu menunggu?

Penulis membuang beberapa kaedah pembelajaran mesin yang terkenal pada masalah, seperti pembelajaran tetulang dan ramalan siri masa, dan model gabungan yang (tidak mengejutkan), ternyata paling tepat. Kertas itu, bagaimanapun, tidak menahan beberapa bidang: ia hanya memberi kita hasil untuk satu set kecil laluan terpilih tangan, hanya mempertimbangkan sehingga 21 hari sebelum tarikh berlepas (yang bermaksud bahawa 75% pengguna mereka tidak akan mampu mencapai apa-apa pilihan yang lebih murah), dan tidak menganggap apa-apa kesan jangka panjang seperti musim (bersikap adil sebelum era data besar, maka skalabilitas adalah masalah bagi mereka).

Walaupun begitu, terdapat beberapa kunci utama dalam makalah ini:

  1. Ketepatan Ramalan
  2. Ramalan tidak sama seperti memaklumkan. Pengumuman terbaru dari Google menunjukkan bahawa mereka telah melaksanakan sesuatu seperti ini dalam pencarian penerbangan mereka. Walau bagaimanapun, mereka memberitahu pengguna berdasarkan trend sejarah ("tambang ini mungkin meningkat" daripada "kami meramalkan tambang ini akan menjadi x").
  3. Data yang diperintahkan masa tidak bermakna masalah siri masa. Oleh kerana data diperintahkan mengikut masa, salah satu pendekatan 'semulajadi' untuk dicuba adalah model yang meramalkan sama ada harga akan naik atau turun berdasarkan perilaku terkini. Walau bagaimanapun, penulis mendapati bahawa harga penerbangan cenderung untuk melompat - sama ada naik atau turun - dan meramalkan harga seterusnya berdasarkan apa yang telah berlaku pada beberapa jam terakhir adalah salah satu pendekatan yang paling buruk.

Penulis makalah ini kemudiannya mengasaskan Farecast, yang akhirnya diperoleh oleh Microsoft. Bing akhirnya menjatuhkan ciri ramalan Farecast tetapi enjin pencarian meta yang lain telah menghasilkan produk serupa; Kayak mempunyai alat ramalan harga selama lebih dari 3 tahun (lihat catatan blog mereka yang mengumumkan ciri ini), dan Google baru sahaja melancarkan alat ramalan dalam catatan blog mereka yang baru-baru ini.

Kesimpulannya

Sekiranya anda berminat dengan bahagian teknikal karya ini, lihat kertas kerja, hubungi twitter, atau ikuti saya di Medium - lebih banyak ringkasan kumpulan bacaan sedang dalam perjalanan!