Jupyter Notebook и файл csv для проекта можно найти здесь.

Конституция ЮАР — Раздел 24 — гарантирует, что каждый проживающий в стране имеет право:

(a) в окружающую среду, которая не наносит вреда их здоровью или благополучию; и

(b) защищать окружающую среду на благо нынешнего и будущих поколений с помощью разумных законодательных и других мер, которые —

  • предотвращает загрязнение и экологическую деградацию;
  • содействовать сохранению; и
  • обеспечить экологически устойчивое развитие и использование природных ресурсов при одновременном содействии оправданному экономическому и социальному развитию

Кроме того, был принят Закон Южной Африки О национальном управлении окружающей средой (NEM): Закон о качестве воздуха (Закон № 39, 2004 г.) для обеспечения качества воздуха в Южной Африке. Закон содержит руководящие принципы и устанавливает стандарты для мониторинга, управления и контроля качества атмосферного воздуха. В связи с этим все муниципалитеты в различных провинциях Южной Африки должны следить за качеством воздуха и отчитываться перед национальным органом.

В Южной Африке (ЮАР) есть станции мониторинга качества воздуха в ряде муниципалитетов. Однако станций мониторинга качества воздуха недостаточно для сбора данных и принятия важных и своевременных решений о состоянии нашего воздуха. По словам Тапивы Чивеве, ученого IBM, возглавляющего инициативу IBM Green Horizons Air Quality Initiative в Южной Африке,

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

Качество воздуха и источники загрязнения воздуха в Южной Африке

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

Качество воздуха в помещении, часто качество воздуха в нашем доме, напрямую связано с деятельностью в наших домах. Одними из таких источников являются сжигание топлива — древесины, парафина, асбестовых изделий, бытовых моющих средств, аэрозолей и др. Ситуацию усугубляет плохая вентиляция — главная проблема неформальных поселений ЮАР. Качество атмосферного воздуха, которому подвергается население в целом, продолжает ухудшаться. В Южной Африке основными источниками и проблемой качества атмосферного воздуха являются выбросы транспортных средств, производство и потребление электроэнергии, поскольку производство электроэнергии зависит от угля, промышленные выбросы, сжигание бытового топлива малоимущими домохозяйствами, сжигание биомассы, выбросы свалочного газа, выбросы шин. сжигание, выбросы в аэропортах и ​​сельскохозяйственные выбросы.

Мониторинг качества воздуха в Южной Африке

В настоящее время в ЮАР насчитывается около 94 государственных станций наблюдения, разбросанных по всей стране. Твердые частицы (PM10 и PM2,5) являются одними из самых распространенных загрязняющих веществ, измеряемых на этих станциях. Постоянное увеличение концентрации этих загрязняющих веществ в крупных городах Южной Африки, особенно в жилых районах, вызвало тревогу у национального правительства. Цифры показывают, что предельные значения PM10 в жилых районах превышаются. В Южной Африке установлен средний предел выбросов PM10 за 24 часа, составляющий 75 мкг/м3 и 40 мкг/м3.

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

Современные технологии — это чудо, и они могут помочь нам решить эти проблемы. Мы можем использовать возможности технологий для предоставления актуальной, своевременной и конкретной информации для принятия решений. У машинного обучения есть набор инструментов, которые могут улучшить наши усилия по предоставлению своевременной и контекстно-зависимой информации для таких целей. В Части II я начну обсуждение процессов и шагов, предпринятых при использовании машинного обучения для прогнозирования PM10 в Кейптауне.

Часть II

Прогнозирование качества воздуха в Кейптауне

Прогнозирование качества воздуха — явление не новое. В течение последних нескольких лет он представлял интерес для национальных и местных органов власти, ученых и экологов. В рамках моего последнего проекта в рамках программы Data Science Intensive (DSI) в Кейптауне, я решил заняться проблемой прогнозирования качества воздуха в Кейптауне, Южная Африка. Я сделал это по ряду причин:

  • Качество воздуха напрямую связано с нашим здоровьем и тем фактом, что мы все подвержены риску загрязнения воздуха.
  • Быстрая урбанизация влияет на атмосферу города
  • Осуществить социально-ответственный и эффективный проект
  • Инициатива города Кейптауна по открытым данным предоставляет богатый набор данных для использования, и у них есть данные о качестве воздуха в разных местах города за 4-летний период (2013–2017 годы), которые можно использовать для проекта.
  • Машинное обучение предоставляет возможности для улучшения нашей способности прогнозировать качество воздуха на основе доступных данных.

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

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

Все данные и прогнозы

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

Данные о качестве воздуха с портала открытых данных

Данные о качестве воздуха, доступные на портале открытых данных, представлены в двух форматах: ods и xls. Существует два типа наборов данных для каждого места — набор данных о загрязняющих веществах и документ метаданных, который содержит метеорологические данные.

Обе точки данных регистрируются ежечасно в течение года. Данные о качестве воздуха — PM10, NO2, O3 и CO — измеряются в мкг/м^3,тогда как метеоданные имеют следующие переменные — скорость ветра (м/с), направление ветра (градусы), температура (°C), относительная влажность (%), и барометрическое давление (mb).

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

Подготовка и исследовательский анализ данных (EDA) данных AQ

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

Весь анализ и визуализация проводились в Jupyter с использованием Matplotlib, а все коды были написаны на Python 3.

Изучив данные в течение пары дней, я понял, что почти все метеорологические особенности влияют на PM10. Следующим этапом было вникание в предсказание.

Машинное обучение для прогнозирования PM10

Цель этого проекта состояла в том, чтобы предсказать PM10 на основе данных. Данные для прогноза состоят из 17 544 точек данных, охватывающих период в два года (2015–2016 гг.). У меня было всего две недели, чтобы найти и подготовить данные, а затем разработать модели для проекта. Я проведу вас через процесс, который привел меня к моделям и прогнозам.

Очистка данных

Как и в случае со всеми проектами по науке о данных, очистка данных занимает много времени. Как обсуждалось ранее, я проверил файлы xls, загруженные с портала открытых данных. Это занимало большую часть времени. После очистки у меня был чистый набор данных для использования. Сначала я преобразовал данные в формат csv в Microsoft Excel. Затем набор данных был импортирован в блокнот для дальнейшего изучения.

«aq_tableview_15_16_data_full.csv» был создан путем слияния наборов данных PM10 и метео. Там, где были NaN, я сбросил запись.

В исходном наборе данных было 7 объектов, но один, Solar Radiation, был удален, так как его не было в обоих наборах данных. Таким образом, остались 6 функций:

  • Скорость ветра
  • Направление ветра
  • Температура
  • Относительная влажность
  • Давление барометра
  • PM10

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

Теперь, когда все было готово, поехал начал подготовку к модели.

Модель предсказания

Я запустил начальную модель линейной регрессии, что было нежелательно. Читая вокруг, я нашел похожие проекты по всему миру. Одним из таких проектов, который мне очень помог, был проект Robert Ritz. Его работа очень помогла мне понять этот аспект. Разработка признаков должна была сыграть решающую роль в точности моей модели. Я работал над посещением новых функций в основном с часами, месяцами и днями недели.

One-Hot-Encoding (OHE) часа, месяца и дня недели

Час, месяц и день недели были закодированы одним горячим способом. Это было достигнуто с помощью get_dummies() в python следующим образом:

Перенос набора данных Windows

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

https://medium.com/making-sense-of-data/time-series-next-value-prediction-using-regression-over-a-rolling-window-228f0acae363





Для этого была написана функция:

Разделение данных на обучающие и тестовые наборы

Я разделил набор данных на обучающий и тестовый наборы. Это было достигнуто с помощью библиотеки обучения scikit. Разделение на соотношение 70–30%. В соответствии со стандартной практикой больший из двух использовался для обучения, а второй — для тестирования.

Я написал дополнительные функции для реализации каждой из моделей. К ним относятся функции для каждой модели:

Линейная регрессия

Лассо

Случайный лес

Многослойный регрессор персептрона

https://gist.github.com/kwesiamoako/df0a8c9e381c1973955a0e60d8bf8253

Улучшение вывода и визуализации для модели

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

Модель Visualize использовалась для построения графика тестовых данных в сравнении с прогнозируемыми значениями PM.

Функция CreateGrid была написана только для того, чтобы улучшить мой вывод.

RMSE и MAE как метрика ошибки

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

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

Точность модели

Модели бегают очень хорошо. Мне удалось достичь точности 85% с моделью Random Forest, которая была самой высокой. Другие показали себя довольно хорошо, колеблясь между точностью 78–83%.

Следующие шаги

Как указано в части I, временные рамки означали, что я не работал с данными из нескольких площадок. Следующими моими шагами будут:

  • Многосайтовый прогноз
  • Увеличивайте и улучшайте характеристики
  • Используйте больший набор данных
  • Применяйте другие модели, такие как CNN
  • Разверните в облаке для прогнозов в реальном времени
  • Обсудите с заинтересованными сторонами в городе Кейптаун развертывание