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

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

Основными веществами, ответственными за загрязнение воздуха являются озон (O3), диоксид азота (NO, NO2), оксид углерода (CO), оксид серы (SO2), твердые частицы (PM10, PM2,5).

В настоящее время уровни загрязнения растут из-за газов PM 2,5, которые вызывают проблемы с сердцем, рак и другие проблемы с дыханием, вызывая миллионы смертей. Первая линия защиты от этих смертей — стандарты качества окружающего воздуха. Среди различных типов загрязнения воздуха PM 2,5 убивает больше всего людей во всем мире. Он состоит из частиц размером менее 2,5 мкм. Во многих регионах с наибольшим загрязнением воздуха, таких как Ближний Восток, даже не измеряют загрязнение воздуха PM 2,5, а в таких странах, как Китай и Индия, часто нарушаются самые слабые стандарты качества воздуха. Напротив, в таких местах, как Канада и Австралия, часто соблюдаются самые строгие стандарты. Более половины мира срочно нуждается в защите в виде адекватных стандартов качества воздуха для PM 2,5, и принятие этих стандартов спасет жизни.

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

  • Исследование данных

Набор данных содержит 36 192 строки и на 5 переменных больше, чем столбец индекса метки времени. По сути, это одномерный временной ряд, потому что целевым переменным объектом исследования является PM 2,5, уровень загрязнителя воздуха мелкодисперсными твердыми частицами в воздухе, в то время как другие характеристики извлекаются из временной метки и не используются в исследовании. Глядя на ряд, он следует распределению с асимметрией вправо, показывает выбросы, высокую автокорреляцию и циклическое поведение во времени. Данные распределены по периоду неравномерно, имеются противоречивые наблюдения в первый год и в последний год ряда.

Год с самым высоким уровнем загрязнения - 2017 год, а год с самым низким уровнем загрязнения - 2020 год, месяц с самым высоким уровнем загрязнения - декабрь с 78,07 PM2,5, а месяц с самым низким уровнем загрязнения - август с 21,52 PM2,5. В течение дня самый грязный час приходится на 18 часов, в то время как самый грязный час приходится на полдень.

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

  • Подготовка данных

Перед вводом данных в модели необходимо провести подготовку данных, и в этой работе были выделены два действия: удаление выбросов и разработка функций. Выбросы во временном ряду — это наблюдения за аномалиями закономерностей и тенденций, собранных в значениях временного ряда. Обнаружение выбросов во временных рядах полезно, поскольку выбросы могут влиять на модель прогноза, используемую для прогнозирования будущих значений. Выбросы были обнаружены и удалены с помощью идентификатора Хампеля, заменяя медианой каждую выборку, которая отличается от медианы более чем в три раза на абсолютное отклонение медианы. Используемый подход заключался в том, чтобы преобразовать прогнозирование временных рядов в задачу контролируемого обучения, и для этой цели были сгенерированы признаки запаздывания со сдвинутыми значениями в соответствии с методом скользящего окна, поэтому сгенерированные признаки запаздывания представляют собой значения PM2,5, сдвинутые на 1 час. , 2 часа, 3 часа, 1 день, неделя и скользящее среднее, скользящий максимум, скользящий минимум одного дня и недели. Из визуализации на диаграмме отчетливо видны выбросы в 2019, 2020 и 2021 годах со значениями PM2,5 выше 150.

  • Моделирование

Прогноз относится к последнему месяцу 2021 года, и для прогнозирования использовалась эконометрическая модель, авторегрессионная модель (AR), в качестве эталона и три контролируемые модели обучения:случайный лес ( RF), Объяснимая повышающая машина (EBM) и Поверхностная нейронная сеть (NN). Авторегрессионная модель используется в качестве эталонной модели для этого исследования, поскольку временной ряд является стационарным.

авторегрессионный процесс порядка p обозначается как AR(p) и определяется как:

где ϕ1, …ϕr — параметры модели, ϵt — белый шум.

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

# train autoregression
AR = AutoReg(np.log1p(y_train), exog=exog_train, lags=3)
AR_model = AR.fit()
# make prediction
y_hat = AR_model.predict(start=len(y_train), end=len(y_train)+len(y_test)-1, exog_oos=exog_test)

# Evaluation
print('Test evaluation')
rmse = np.sqrt(mean_squared_error(np.log1p(y_test.values), y_hat.values))
print(f"root_mean_squared_error: {rmse:.3f} ± {rmse.std():.3f}")
mae = mean_absolute_error(np.log1p(y_test.values), y_hat.values)
print(f"mean_absolute_error: {mae:.3f} ± {mae.std():.3f}")

Test evaluation
root_mean_squared_error: 0.195 ± 0.000
mean_absolute_error: 0.156 ± 0.000

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

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

# evaluation
RF = RandomForestRegressor(random_state=0)
evaluate(RF, X, np.log1p(y), cv=ts_cv)

Train evaluation
root_mean_squared_error: 0.031 ± 0.000
mean_absolute_error: 0.021 ± 0.000
Test evaluation
root_mean_squared_error: 0.075 ± 0.007
mean_absolute_error: 0.053 ± 0.003

Другой подход к обучению с учителем исходит из объяснимой повышающей машины (EBM), которая является результатом сочетания высокой производительности ансамблевых деревьев и интерпретируемости с помощью обобщенных аддитивных моделей (GAM).

Объяснимая повышающая машина является расширением Обобщенных аддитивных моделей в двух направлениях:

  • подходит для каждой функции fj с помощью комбинации современных моделей машинного обучения, таких как бэггинг и бустинг;
  • обнаруживает и подбирает функции парных отношений fij между переменными.

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

# Evaluation
EBM = ExplainableBoostingRegressor(random_state=0)
evaluate(EBM, X, np.log1p(y), cv=ts_cv)

Train evaluation
root_mean_squared_error: 0.085 ± 0.000
mean_absolute_error: 0.060 ± 0.000
Test evaluation
root_mean_squared_error: 0.081 ± 0.006
mean_absolute_error: 0.060 ± 0.003

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

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

# evaluation
NN = MLPRegressor(hidden_layer_sizes=(15), activation='relu', solver='adam', max_iter=500,random_state=0)
evaluate(NN, X_sc, np.log1p(y_sc), cv=ts_cv)

Train evaluation
root_mean_squared_error: 0.022 ± 0.000
mean_absolute_error: 0.015 ± 0.000
Test evaluation
root_mean_squared_error: 0.022 ± 0.006
mean_absolute_error: 0.015 ± 0.003

Для оценки производительности модели использовали среднеквадратичную ошибку (RMSE) и среднюю абсолютную ошибку (MAE).

  • Оценка и заключительные мысли

Судя по анализу, нейронные сети кажутся наиболее эффективной моделью. Модель авторегрессии, как эталон, показывает плохие результаты. Случайный лес и объяснимая повышающая машина хорошо следуют форме наблюдений, но предыдущая подходит лучше. Нейронные сети способны фиксировать всплески в наблюдениях, следуя их форме. Во всех моделях функция задержки, сдвинутая на час, является наиболее подходящей для объяснения результата, остальные меняются в зависимости от модели. На графике частичной зависимости подтверждается положительная корреляция между функцией «отложенный 1 час» и загрязнением воздуха.

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

Ссылки: