Как я могу подойти к этой проблеме?

Вопрос или проблема

Предположим, у меня есть набор данных с информацией о ценах на один и тот же рейс за прошлый год. Таким образом, для рейса, вылетающего в день D, у меня есть доступная цена от D-130 до D (день вылета). Затем то же самое для рейсов на другие 365 дней года в одно и то же время вылета каждый день. Это имеет смысл? Я хочу увидеть, является ли цена на сегодня для любого дня вылета в будущем выше или ниже ожидаемой, и, следовательно, ожидается ли ее повышение или нет.

Нанеся эти данные на диаграмму, где по оси X — дни до вылета, а по оси Y — цена, я получаю следующее:

plot

Как я могу структурировать данные, чтобы обучить модель для прогнозирования цены? Я не вижу четкой тенденции. Цена чуть ниже 90 означает, что это максимальная цена и она не со скидкой.

Определенно нужно добавить как минимум одну дополнительную переменную, представляющую время года, потому что из вашего графика видно, что тариф нельзя точно спрогнозировать, используя только время до вылета: для одного и того же дня вы можете иметь множество точек, представляющих различные тарифы. Это имеет смысл, так как тарифы будут очень разными в зависимости от того, происходит ли рейс в праздничный сезон или нет. Также могут быть другие интересные переменные, но, так как это всегда один и тот же рейс, я не могу подумать ни о каких других.

Я бы предложил построить график, где x — это время года, а время до вылета представлено, например, с помощью цвета или градиента, это должно сделать ситуацию более ясной.

Да, вы можете создать модель, но количество дней до вылета — это всего лишь одна из характеристик, определяющих цену. Я согласен с Эрваном, что время года играет роль. Я бы сказал, что коэффициент занятости (сколько мест забронировано, разделённое на максимальное количество мест) вероятно, даже более важен.

Если вы подумаете об этой проблеме с точки зрения авиакомпании, если они продали больше билетов, чем обычно, они делают билеты дороже. Наоборот, если продали меньше билетов, они делают билеты дешевле.

На вашем диаграмме разброса, вы, вероятно, сравниваете рейсы с различными уровнями занятости. За несколько дней до вылета некоторые билеты близки к своей максимальной цене (около 90; вероятно (почти) все места забронированы), а некоторые билеты намного дешевле (около 30; вероятно, осталось больше мест, чем обычно).

Очень простая модель будет:

$$
y = \alpha + \beta x
$$

Где y = цена, x = дни до вылета, и $\alpha$ и $\beta$ — параметры.

Для создания хорошей модели вам нужно больше характеристик.

Ответ или решение

Для решения задачи прогнозирования цен на авиабилеты на основе исторических данных, необходимо учесть множество факторов. Ваш изначальный вопрос требует более комплексного подхода, и вот как можно его осуществить:

1. Формулирование проблемы

Задача заключается в прогнозировании, будет ли цена на билеты выше или ниже ожидаемой для определенного дня вылета в будущем. Для этого необходимо использовать исторические данные о ценах.

2. Анализ данных

Из предоставленного описания видно, что текущая структура данных не позволяет сделать точные выводы только по количеству дней до вылета. Другие факторы, такие как сезонность и заполняемость рейсов, могут играть существенную роль.

3. Обогащение данных

Факторы влияния:

  • Сезонность: Праздничные и выходные дни традиционно отличаются от обычных. Рекомендуется добавить в модель переменные, отражающие время года, месяц, неделю, а также праздники.
  • Заполняемость рейса: Количество проданных билетов по отношению к общей вместимости также важно. Это может быть задействовано через процент заполнения.

4. Подготовка данных для модели

Чтобы модель могла принимать решения на основе более точных данных, создайте новые фичи:

  • Дни до вылета как основная временная переменная.
  • Календарные показатели, такие как день недели, месяц или наличие праздничного дня.
  • Процент заполнения рейса для оценки спроса.

5. Построение модели

Используя новые фичи, можно выбрать подходящую модель машинного обучения, например:

  • Регрессионные модели: Линейная или многомерная регрессия могут помочь в выявлении зависимости цены от дней до вылета и других факторов.
  • Модели временных рядов, если хотите учесть зависимость времени.
  • Алгоритмы машинного обучения: Решающее дерево, случайный лес или градиентный бустинг.

6. Визуализация и интерпретация результатов

Для лучшего понимания динамики цен создайте визуализации, например:

  • График зависимости цены от времени года с помощью градиента, отражающего дни до вылета.
  • Диаграммы рассеяния, показывающие влияние заполненности на цену.

7. Оптимизация и тестирование модели

Проверьте качество модели на тестовых данных и выполните оптимизацию, используя методы перекрёстной проверки, выбор гиперпараметров и других.

8. Выводы

Учитывая сложность рыночных процессов, ваша модель должна быть гибкой и обновляемой. Регулярно добавляйте новые данные и улучшайте модель, адаптируясь к новым условиям в реальном времени.

Заключение

Эта многошаговая стратегия позволит вам создать более точную и адаптивную модель, которая сможет учесть большинство факторов, влияющих на ценообразование авиабилетов. Удачи в разработке и улучшении вашего проекта!

Оцените материал
Добавить комментарий

Капча загружается...