Прогнозирование — это больше, чем коммерческое требование. На корпоративном уровне это хлеб с маслом, благодаря которому руководство выживает и строит долгосрочные планы.
Правительства принимают решения на национальном уровне, и очень важно учитывать каждый сценарий. Он может влиять на экономический прогресс страны. Каждый выбор, сделанный лидерами, учитывает тот или иной тип данных прогнозирования. Это помогает руководителям принимать более взвешенные решения. В ближайшие кварталы у них будет примерное представление о том, что делать с национальной резервной валютой. От этого будет зависеть, насколько компания или страна сможет увеличить или сократить продажи своей продукции и экономику.
На сельское хозяйство приходится наибольшая доля ВВП в некоторых развивающихся странах. Прогнозы засухи становятся все более важными для лучшего планирования, поскольку они могут повлиять на ВВП, затормозить экономику и оказать негативное влияние на экологию. Засухи вызываются множеством переменных, включая изменение климата, температуру океана и недостаточное количество осадков. Прогнозирование и прогнозирование всех этих вещей может помочь правительству и фермерам принять превентивные меры.
Это часто помогает предотвратить крупномасштабный ущерб урожаю, а также повысить финансовую отдачу. В результате раннее обнаружение и прогнозирование могут помочь в разработке научных стратегий для уменьшения ущерба.
Мы сравним производительность различных моделей машинного обучения и будем оценивать их с использованием различных показателей производительности.

Жизненный цикл обработки данных

Источник данных

Набор данных для этого анализа и прогноза был получен от монитора засухи США. Данные состоят из 18 метеорологических показателей, которые могут быть предикторами засухи. Извлеченные данные состоят из 10 миллионов записей, наблюдаемых в определенном месте в США на протяжении многих лет. Цель этого набора данных - помочь в анализе возможностей прогнозирования засухи только с использованием метеорологических данных, что приведет к распространению прогнозов США на другие части мира. Набор данных помечен оценками засухи в диапазоне от более высокой категории D0 — аномально сухая до D4 — исключительная засуха.

Набор данных содержит следующие функции:

• WS10M-MIN: Минимальная скорость ветра на расстоянии 10 метров (м/с)

• QV2M: Влажность на расстоянии 2 м (г/кг)

• T2M-RANGE: Температурный диапазон на расстоянии 2 метра ©

• WS10M: скорость ветра на расстоянии 10 метров (м/с)

• T2M: Температура на расстоянии 2 метров ©

• WS50M-MIN: Минимальная скорость ветра на расстоянии 50 метров (м/с)

• T2M-MAX: максимальная температура на расстоянии 2 м ©

• WS50M: скорость ветра на расстоянии 50 метров (м/с)

• TS: Температура кожи Земли ©

• WS50M-RANGE: Диапазон скорости ветра на расстоянии 50 метров (м/с)

• WS50-MAX: максимальная скорость ветра на расстоянии 50 метров (м/с)

• WS10-MAX: максимальная скорость ветра на расстоянии 10 метров (м/с)

• WS10-RANGE: Диапазон скорости ветра на расстоянии 10 метров (м/с)

• PS: поверхностное давление (кПа)

• T2MDEW: Точка росы/инея на расстоянии 2 м ©

• T2M-MIN: Минимальная температура на расстоянии 2 м ©

• T2MWET: Температура влажного термометра на расстоянии 2 м ©

• PRECTOT: Осадки (мм день-1)

Предварительная обработка данных

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

1. Отсутствующие значения. Имеющийся набор данных содержал записи без меток, поскольку оценки засухи обновляются еженедельно, а метеорологическая статистика обновляется ежедневно. Поэтому записи без меток были удалены, поскольку целью этого проекта является выполнение моделей обучения под наблюдением. Количество данных сократилось до 2 756 796 записей. Ни в одном другом столбце не было нулевых значений.

2. Переформатирование атрибутов. Столбцы данных были переформатированы в соответствии с требуемым типом данных. Столбец «Дата» был дополнительно разделен на столбцы «День», «Месяц» и «Год» для анализа.

3. Анализ выбросов: были обнаружены выбросы в каждом атрибуте. Значения, не подпадающие под три сигма-кривые нормализации, были удалены. Это значения ≤ Mean(x) + 3(Std(x)) и значения ≥ Mean(x) − 3(Std(x))).

4. Исследовательский анализ данных. Для анализа данных был проведен одномерный и многомерный анализ, чтобы понять распределение данных, линейность и нелинейность, а также выявить скрытые закономерности в данных.

5. Исправление дисбаланса классов:

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

а. Увеличение частоты дискретизации SMOTE:

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

b. Понижение частоты дискретизации почти проваливается:

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

6. Выбор функций:

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

7. Извлечение признаков с использованием уменьшения размерности:

Для дальнейшего выбора только тех атрибутов, которые лучше всего объясняют цель, мы экспериментируем с двумя методами уменьшения размерности — PCA и LDA. Верхние n компонентов, которые объясняют >85% дисперсии в преобразованном пространстве, выбираются в качестве признаков.

Уменьшение размерности с помощью PCA

Уменьшение размерности с использованием LDA

Разработка модели

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

1. Дерево решений

а. Алгоритм дерева решений без повторной выборки

б. Алгоритм дерева решений с повышением дискретизации SMOTE

в. Алгоритм дерева решений с понижением дискретизации на грани промаха

д. Алгоритм дерева решений с понижающей дискретизацией на грани промаха и PCA

е. Алгоритм дерева решений с SMOTE Upsampling и PCA

ф. Алгоритм дерева решений с понижающей дискретизацией на грани промаха и LDA

г. Алгоритм дерева решений с SMOTE Upsampling и LDA

2. КНН

а. Алгоритм KNN без передискретизации

б. Алгоритм KNN с повышающей дискретизацией SMOTE

в. Алгоритм KNN с понижающей дискретизацией на грани промаха

3. Наивный байесовский метод без повторной выборки

4. Случайный лес без повторной выборки

5. SVM с понижением частоты дискретизации на грани промаха

Сравнение производительности

  1. Случайный лес без повторной выборки и KNN без повторной выборки показывают лучшие результаты с точки зрения точности, точности, отзыва, оценки F1 и оценки Каппа.

2. Извлечение признаков с использованием линейного PCA и LDA плохо работает на нелинейных данных, поскольку приводит к снижению точности.

3. Повышение частоты дискретизации SMOTE резко увеличивает время вычислений и обеспечивает такую ​​же точность, как и без повторной выборки.

4. Однако эффект дисбаланса классов по-прежнему отражается на всех моделях без повторной выборки, как видно на кривых ROC.

Задачи

1. Объем данных — более 2 миллионов записей, что делает обработку слишком сложной с точки зрения времени и памяти приложения.

2. Несбалансированность классов — сильно несбалансированные данные с более чем 1,7 млн ​​записей (60 %) только для класса 0.

3. Нелинейность —нелинейные данные, из-за которых линейные PCA и LDA были неэффективны.

4. Вычисления ядра —методы ядра, такие как Kernel PCA, Kernel SVM с любым типом ядра, требуют больше вычислительных ресурсов, чем доступно в бесплатных версиях платформ кодирования.

5. Настройка гиперпараметров. Пришлось согласиться на эксперименты с ограниченными вариантами параметров из-за сложности времени и ресурсов.

Будущая работа

1. Продолжайте экспериментировать с методами нелинейного уменьшения размерности, такими как TSNE, Isomap и т. д., для извлечения признаков.

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

Ссылка на полный код, опубликованный в Kaggle: https://www.kaggle.com/code/akshayasrinivasan2/drought-prediction-using-ml-algorithms