Pembelajaran Mesin Di Sebalik Jangkaan

Meramalkan kotak hitam harga penerbangan

Beberapa tahun yang lalu, saya menemui makalah penyelidikan ini "Untuk Membeli atau Tidak Membeli: Menambang Data Tiket Pesawat untuk Meminimumkan Harga Pembelian Tiket," ketika saya bekerja di UCL pada sebuah projek yang meneliti bagaimana menolong orang menavigasi bandar dengan lebih baik menggunakan data. Saya baru sahaja menerima sejumlah besar transaksi kad Oyster dari Transport for London. Makalah ini, yang bertujuan untuk mengesyorkan sama ada membeli tiket kapal terbang, memberi inspirasi kepada kami untuk menerapkan konsep yang serupa untuk membantu orang memutuskan kad perjalanan apa yang akan dibeli, dengan sistem pengesyoran yang akan belajar dari corak perjalanan mereka. Hasil kajian itu menghasilkan makalah ini "Menambang Data Mobiliti untuk Meminimumkan Perbelanjaan Pengembara untuk Pengangkutan Awam" dan berita berita BBC ini.

Saya muncul kembali kertas data tiket penerbangan untuk kumpulan membaca Skyscanner - kami telah bertemu untuk membincangkan makalah penyelidikan yang menangani masalah yang serupa dengan yang kami hadapi di Skyscanner. Sama seperti catatan terakhir, berikut adalah gambaran ringkas dan bukan teknikal mengenai apa yang telah kita bincangkan.

Membuat Produk daripada Ramalan Harga

Harga penerbangan terkenal boleh berubah: Saya yakin bahawa kebanyakan dari kita telah melihat penerbangan, memikirkannya untuk sementara waktu, dan kemudian kembali ke sana hanya untuk mengetahui bahawa harganya telah meningkat (atau, jika kita ' kembali bernasib baik, turun).

Seperti yang dijelaskan oleh penulis makalah ini, sebahagian daripada meramalkan harga penerbangan adalah mengenai penyahkodan enjin keputusan tersembunyi yang digunakan syarikat penerbangan untuk menetapkan harga mereka sendiri: mungkin harga laluan semasa berdasarkan tempat duduk yang tersedia, berdasarkan permintaan, pada harga pesaing, pada waktu tahun, atau banyak faktor lain. Memandangkan terdapat begitu banyak alasan mengapa harga penerbangan dapat berubah (dan kita tidak semestinya memiliki akses ke semua data yang digunakan oleh penyedia untuk menetapkan harga), apakah kita dapat secara munasabah mengembangkan cara untuk meramalkan harga penerbangan?

Senario ini adalah di mana pembelajaran mesin dapat membantu. Dengan menggunakan satu-satunya anggapan bahawa akan ada persamaan 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 hingga keberangkatan (misalnya, 10), dan harga sejarah. Model ini cuba menjawab soalan: diberikan laluan, tarikh keberangkatan, dan harga semasa, haruskah saya membeli tiket, atau haruskah saya menunggu?

Penulis melontarkan sebilangan kaedah pembelajaran mesin yang terkenal pada masalah tersebut, seperti pembelajaran pengukuhan dan peramalan siri masa, dan model gabungan yang (tidak mengejutkan), ternyata paling tepat. Kertas itu, bagaimanapun, menahan beberapa bahagian: ia hanya memberi kita hasil untuk sekumpulan kecil jalan yang dipilih sendiri, hanya mempertimbangkan hingga 21 hari sebelum tarikh keberangkatan (yang bermaksud 75% pengguna mereka tidak akan dapat mencapai pilihan yang lebih murah), dan tidak mempertimbangkan kesan jangka panjang seperti musim (untuk berlaku adil sebelum era data besar, oleh itu skalabiliti menjadi masalah bagi mereka).

Walaupun begitu, terdapat sebilangan besar langkah utama dalam makalah ini:

  1. Ketepatan Ramalan
  2. Meramalkan tidak sama dengan memberi maklumat. Pengumuman baru-baru ini dari Google menunjukkan bahawa mereka telah melaksanakan sesuatu seperti ini dalam carian penerbangan mereka. Namun, mereka memberitahu pengguna berdasarkan tren sejarah ("tarif ini cenderung meningkat" dan bukan "kami meramalkan tambang ini akan menjadi x").
  3. Data mengikut masa tidak bermaksud masalah siri masa. Oleh kerana data disusun mengikut masa, salah satu pendekatan 'semula jadi' untuk dicuba adalah model yang meramalkan sama ada harga akan naik atau turun berdasarkan tingkah laku baru-baru ini. Walau bagaimanapun, penulis mendapati bahawa harga penerbangan cenderung melonjak - naik atau turun - dan jadi meramalkan harga seterusnya berdasarkan apa yang berlaku selama beberapa jam terakhir adalah salah satu pendekatan yang paling buruk.

Pengarang makalah ini kemudian mengasaskan Farecast, yang akhirnya diambil alih oleh Microsoft. Bing akhirnya menurunkan ciri ramalan Farecast tetapi mesin carian meta lain telah mengembangkan produk serupa; Kayak telah mempunyai alat ramalan harga selama lebih dari 3 tahun (lihat catatan blog mereka mengumumkan fitur tersebut), dan Google baru saja melancarkan alat ramalan dalam catatan blog mereka baru-baru ini.

Kesimpulannya

Sekiranya anda berminat dengan aspek teknikal karya ini, lihat koran, hubungi di twitter, atau ikuti saya di Medium - lebih banyak ringkasan kumpulan membaca sedang dalam perjalanan!