Машинне навчання за факетом

Прогнозування чорного поля цін на рейси

Ряд років тому я зіткнувся з цим дослідницьким документом "Купувати чи не купувати: видобуток даних про авіарейси, щоб мінімізувати ціну придбання квитків", коли я працював у UCL над проектом, який досліджував, як допомогти людям краще орієнтуватися у містах дані. Щойно я отримав великий транспортний набір транзакцій з картки Oyster від транспорту для Лондона. Цей документ, який розглядає рекомендації щодо придбання квитка на літак, надихнув нас застосувати подібну концепцію, щоб допомогти людям вирішити, яку карту подорожей придбати, із системою рекомендацій, яка б дізналася на основі їх подорожей. Це дослідження призвело до цього документу «Добування даних про мобільність для мінімізації витрат мандрівників на громадський транспорт» та цієї новини з BBC.

Я знову підняв документ про авіапереліт для групи для читання Skyscanner - ми збиралися, щоб обговорити дослідницькі документи, які вирішують подібні проблеми, ніж ті, з якими ми стикаємось у Skyscanner. Як і в останньому дописі, ось короткий нетехнічний огляд того, що ми обговорювали.

Здійснення продукту з прогнозування цін

Ціни на рейси, як відомо, можуть бути змінені: я впевнений, що більшість із нас подивилися на рейс, подумали про нього на деякий час, а потім повертаємось до нього лише для того, щоб виявити, що його ціна піднялася (або, якщо ми ' знову пощастило, вниз).

Як пояснюють автори цього документу, частина прогнозування ціни на рейс, мабуть, стосується розшифровки прихованого механізму рішення, який перевізники використовують для встановлення власних цін: можливо, поточна ціна маршруту базується на наявних місцях, на вимогу, на цінах конкурента, на час року чи безліч інших факторів. Зважаючи на те, що існує стільки різних причин, чому ціни на рейси можуть змінюватися (і ми не обов'язково маємо доступ до всіх даних, які постачальники використовують для встановлення цін), чи можемо ми коли-небудь обгрунтовано розробити будь-які засоби для прогнозування цін на рейси?

Цей сценарій - це той, де на допомогу може прийти машинне навчання. Використовуючи єдине припущення про існування певної подібності між історичними та майбутніми цінами на маршрути, автори створюють модель, що базується лише на даних, доступних для них у мережі: маршрут (наприклад, Сіетл-Вашингтон), дні до відправлення (наприклад, 10) та історичні ціни. Ця модель намагається відповісти на питання: якщо маршрут, дата відправлення та поточна ціна, я повинен купити квиток, чи варто чекати?

Автори кидають ряд відомих методів машинного навчання у вирішенні проблеми, такі як навчання підкріплення та прогнозування часових рядів, і комбінована модель, яка (не дивно) виявляється найбільш точною. Документ, однак, утримується на декількох фронтах: він дає лише результати для невеликого набору вибраних вручну маршрутів, враховуючи лише 21 день до дати відправлення (це означає, що 75% їх користувачів не були б здатний досягти будь-яких дешевших варіантів), і не враховує таких довгострокових ефектів, як сезонність (справедливо, це було до епохи великих даних, отже, масштабність була для них проблемою).

Незважаючи на це, у цьому документі є ряд ключових заходів:

  1. Точність прогнозування <Корисність користувача. Якщо ми стикаємося з такою проблемою, як "передбачення значення X", ми, природно, схильні вимірювати, наскільки точно ми прогнозуємо це значення. Натомість ці автори вимірюють, наскільки добре таке передбачення може підтримувати дії користувача, у цьому випадку "зачекайте" або "купіть".
  2. Прогнозувати не те саме, що інформувати. Нещодавні повідомлення від Google показують, що вони здійснили щось подібне у своєму пошуку рейсів. Однак вони інформують користувачів на основі історичних тенденцій ("цей тариф швидше за все зросте", а не "ми прогнозуємо, що цей тариф буде x").
  3. Впорядковані за часом дані не означають проблеми часового ряду. Оскільки дані впорядковані часом, одним із "природних" підходів до спроби була модель, яка передбачає, чи підніметься ціна в залежності від її недавньої поведінки. Однак автори виявили, що ціни на рейси мають тенденцію до зростання - або вгору, або вниз - і тому прогнозування наступної ціни, виходячи з того, що відбулося за останні кілька годин, було одним з найгірших підходів.

Пізніше автори цього документу заснували Farecast, який згодом придбав Microsoft. Врешті-решт Бінг відмовився від функції передбачення Farecast, але інші мета-пошукові системи розробили подібні продукти; На байдарках інструмент прогнозування цін був більш ніж 3 роки (див. Їхню публікацію в блозі, яка оголошує про цю функцію), а Google нещодавно запустив інструмент передбачення у своєму недавньому дописі в блозі.

Висновок

Якщо ви зацікавлені в технічній стороні цієї роботи, ознайомтеся з документом, зв’яжіться з твіттером або слідкуйте за мною на Середній - більше резюме груп для читання!