Полный обзор модели прогнозирования задержки рейсов в Индии, подготовленный Клубом консультантов и аналитиков, ИИТ Гувахати.

Проект все еще находится в стадии разработки, и в этом блоге рассказывается о нашем пути и методологии до настоящего момента в проекте.

Некоторые факты об индийской гражданской авиации

29 июля 1946 года TATA Airlines, первый коммерческий авиаперевозчик Индии, начала свою деятельность под руководством и заботой великого индийского промышленника JRD Tata.

С тех пор рынок гражданской авиации Индии не оглядывался назад и в настоящее время является третьим по величине рынком в мире.

Обзор индийского рынка гражданской авиации

В 2018 году Индия была объявлена ​​самым быстрорастущим авиационным рынком в мире четвертый год подряд после того, как на ней были зафиксированы двузначные ежегодные темпы роста в течение 50-го месяца подряд. . (Источник: TOI, Нажмите здесь)

Учитывая постоянно растущую нагрузку на инфраструктуру индийской авиации, мы в Консультационном и аналитическом клубе IIT Guwahati инициировали проект по созданию модели, прогнозирующей задержки прибытия внутренних рейсов и изучению параметров, влияющих на расписание полетов. Хотя такие модели уже существовали для развитых стран, таких как США и ЕС, мы не смогли найти ничего похожего и достаточно убедительного для Индии.

Трудности в проекте

Обзор тонкостей, связанных с проектом

Одна важная вещь, на которую мы хотели обратить внимание нашей аудитории, заключается в том, что, хотя причудливые алгоритмы машинного обучения обычно заполняют большинство веб-ресурсов, доступных в Интернете, тем не менее, почти 80% времени на самом деле уходит на получение базовых понимание и очистка данных. Прогнозное моделирование занимало около 15–20% всего времени, затраченного на проект.

Давайте углубимся в этапы реализации проекта, которого вы так долго ждали!

Шаг 1. Закладка основы для проекта

Мы выбрали шесть авиакомпаний и пять аэропортов и попытались изучить факторы, влияющие на расписание полетов только по этим конкретным маршрутам. Идея, лежащая в основе этого, заключалась в том, что пять выбранных аэропортов, а именно Дели, Мумбаи, Бангалор, Хайдарабад и Калькутта, вместе составили более пятидесяти процентов объема внутренних пассажиров. Расположение этих аэропортов также отражает географическое разнообразие страны. Следовательно, изучение расписания полетов из этих аэропортов в целом будет отражать характеристики данных о населении.

Шесть рассматриваемых авиакомпаний (Indigo, Air India, SpiceJet, GoAir, Air Asia и Vistara) вместе приобретают 99,4% внутреннего рынка.

Шаг 2: Сбор данных

Заложив основы, мы начали искать данные, относящиеся к нашему проекту. Сбор данных состоял из двух частей. Первая часть вращалась вокруг сбора исторических данных о рейсах, таких как аэропорт вылета, аэропорт прибытия, ожидаемое время вылета и прибытия, а также фактическое время вылета и прибытия. Хотя такие наборы данных доступны на различных сайтах за деньги, мы, будучи студентами, не могли их купить. Мы придерживались обычного метода «очистки данных» с использованием пакета Python Beautiful Soup.

Это была, безусловно, самая важная и утомительная часть проекта. Важно, потому что это была часть, которая определяла количество точек данных в нашем наборе данных, и утомительно, потому что веб-сайты авиакомпаний блокировали IP-адрес в течение часа, когда мы начинаем извлекать данные.

Вторая часть включала выбор функций для включения в набор данных. Хотя данные о погоде были очевидными параметрами, которые нужно было включить и которые было довольно легко получить с таких сайтов, как accuweather.com, нам пришлось выбрать не погодные особенности, которые могли повлиять на задержки прибытия. В течение нескольких дней непрерывных усилий мы собрали около 15 000 точек данных со всеми необходимыми параметрами полета с различных веб-сайтов. Мы включили 45 функций, которые, по нашему мнению, могут вызвать задержки. За исключением 22 характеристик погоды, другие охватывали многие аспекты аэропорта, авиаперевозчика и самого полета.

«Выигрывает не тот, у кого лучший алгоритм, а тот, у кого больше всего данных»
- Эндрю Н.Г.

Шаг 3. Очистка данных

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

В наборе данных было много категориальных столбцов, о которых позаботились с помощью One Hot Encoding, поскольку большинство из них имеет менее десяти уникальных значений.

Шаг 4. Моделирование данных

При моделировании алгоритма прогнозирования не существует определенного метода. Мы должны запачкать руки - применять, оценивать, учиться, повторять. Процесс итеративный.

Жалкое начало:

Мы начали с простых линейных моделей и, к нашему большому удивлению, получили отличные оценки R2 (Оценка R2 обучения = 0,92, оценка R2 проверки = 0,89). Такие результаты на грубом наборе реальных данных были нереальными. Позже, просматривая коэффициенты, которые алгоритм назначал различным функциям, мы обнаружили, что одной из наших функций, а именно Задержка отправления (примечание: наша цель состояла в том, чтобы найти задержки прибытия), было присвоено очень большое значение. Его коэффициент был настолько высок, что все остальные особенности были проигнорированы.

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

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

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

Исправляем ошибки:

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

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

Шаг 5. Оценка модели

Осознав множество недостатков R2 как метрики оценки, мы решили изменить нашу метрику на Среднеквадратичная ошибка (MSE). Наконец, наша наилучшая подходящая модель дала ошибку обучающего набора 0,13, тогда как ошибка набора тестовых данных составила 0,25 (набор тестовых данных никогда не просматривался моделью до последнего шага. ).

Время для аналитики!

Когда оценки характеристик были рассчитаны для ансамблевой модели на основе дерева, доля рынка и оценка своевременности доставки (OTR) были наиболее важными характеристиками авиакомпаний. Фактически, среди 23 характеристик, не относящихся к погодным условиям, доля рынка заняла 5-е место. Хотя совершенно очевидно, что OTR будет иметь прямое влияние на задержки прибытия, мы попытались понять, почему доля рынка так важна.

Примечание. Мы отказались от задержки отправления, потому что она потребляла слишком много важных функций, поэтому она по-прежнему остается самой важной функцией, не связанной с погодой.

Согласно данным, чем больше рыночная доля авиакомпании, тем меньше вероятность задержки. Клиент с большей вероятностью выберет авиакомпанию с более высокими показателями своевременности, основываясь на опыте и имитации (сарафанное радио).

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

Заключительная записка

Это обзор одного из премиальных проектов клуба в этом году. Статья призвана осветить этапы создания проекта по науке о данных с нуля. Мы пытались углубиться в детали каждого шага и передать основные выводы, потому что всегда есть некоторые вещи, которым можно научиться только через приложение. Надеюсь, вы нашли это полезным.
Спасибо.

Статья Рохит Каран (Консультационно-аналитический клуб, ИИТ Гувахати)

Команда прогнозирования задержки рейсов:

  1. Ваджала Викрам Адитья
  2. Рохит Каран
  3. Хритвик Патель
  4. Пиюш Кулкарни
  5. Адити Бихаде
  6. Шашанк Тхул

Решаем проблемы. Чтобы связаться с нами для сотрудничества с любыми проектами, связанными с наукой о данных или бизнесом, напишите нам письмо.