Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics.

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

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

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

Lookout for Metrics автоматически обнаруживает и диагностирует аномалии (отклонения от нормы) в деловых и операционных данных. Это полностью управляемая служба машинного обучения, которая использует специализированные модели машинного обучения для обнаружения аномалий на основе характеристик ваших данных. Например, тренды и сезонность — это две характеристики метрик временных рядов, в которых обнаружение аномалий на основе пороговых значений не работает. Тенденции — это непрерывные изменения (увеличение или уменьшение) значения показателя. С другой стороны, сезонность — это периодические закономерности, которые возникают в системе, обычно повышаясь выше базового уровня, а затем снова уменьшаясь. Вам не нужен опыт машинного обучения, чтобы использовать Lookout for Metrics.

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

Обзор решения

Архитектура состоит из трех функциональных блоков:

  • Беспроводные датчики, размещенные в стратегически важных точках, определяют уровень концентрации окиси углерода (CO), двуокиси серы (SO2) и двуокиси азота (NO2) в воздухе.
  • Прием и хранение потоковых данных
  • Обнаружение аномалий и уведомление

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

На следующей диаграмме показана архитектура нашего решения.

Предпосылки

Прежде чем приступить к решению, вам потребуются следующие предварительные условия. Для этого поста мы используем регион us-east-1.

  1. Загрузите скрипт Python (опубликовать.py) и файл данных из Репо GitHub.
  2. Откройте приложение live_data.csv файл в предпочитаемом вами редакторе и замените даты на сегодняшнюю и завтрашнюю дату. Например, если сегодняшняя дата 8 июля 2022 г., замените 2022-03-25 2022-07-08. Сохраняйте формат прежним. Это необходимо для имитации данных датчиков на текущую дату с помощью сценария симулятора IoT.
  3. Создать Простой сервис хранения Amazon (Amazon S3) и папку с именем air-quality. Создайте подпапку внутри air-quality названный historical, Для получения инструкций см. Создание папки.
  4. Загрузить live_data.csv файл в корневой корзине S3 и historical_data.json в исторической папке.
  5. Создать Облако AWS9 среда разработки, которую мы используем для запуска программы-симулятора Python для создания данных датчика для этого решения.

Прием и преобразование данных с помощью AWS IoT Core и Kinesis Data Firehose

Мы используем поток доставки Kinesis Data Firehose для приема потоковых данных из Ядро Интернета вещей AWS и доставьте его на Amazon S3. Выполните следующие шаги:

  1. На консоли Kinesis Data Firehose выберите Создать поток доставки.
  2. Что касается Источник, выберите Прямой ПУТ.
  3. Что касается Направление, выберите Amazon S3.
  4. Что касается Название потока доставки, введите имя потока доставки.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  5. Что касается Ковш S3, введите сегмент, который вы создали в качестве предварительного условия.
  6. Введите значения для Префикс корзины S3 и Префикс вывода ошибки корзины S3.Одним из ключевых моментов, на который следует обратить внимание, является конфигурация пользовательского префикса, настроенного для места назначения Amazon S3. Этот шаблон префикса гарантирует, что данные создаются в корзине S3 в соответствии с иерархией префиксов, ожидаемой Lookout for Metrics. (Подробнее об этом далее в этом посте.) Дополнительные сведения о пользовательских префиксах см. Пользовательские префиксы для объектов Amazon S3.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  7. Что касается Буферный интервал, войти 60.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  8. Выберите Создать или обновить роль IAM.
  9. Выберите Создать поток доставки.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
    Теперь настраиваем AWS IoT Core и запускаем программу-симулятор качества воздуха.
  10. На консоли AWS IoT Core, создать политику AWS IoT позвонил админ.
  11. На панели навигации под Маршрутизация сообщений, выберите Правила.
  12. Выберите Создать правило.
  13. Создайте правило с Действие Kinesis Data Firehose(пожарный шланг).
    Это отправляет данные из сообщения MQTT в поток доставки Kinesis Data Firehose.
  14. Выберите Создавай.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  15. Создайте вещь AWS IoT с именем Test-Thing и прикрепите созданную политику.
  16. Загрузите сертификат, открытый ключ, закрытый ключ, сертификат устройства и корневой ЦС для AWS IoT Core.
  17. Сохраните каждый загруженный файл в certificates подкаталог, который вы создали ранее.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  18. Загрузите publish.py в iot-test-publish папку.
  19. В консоли AWS IoT Core на панели навигации выберите Настройки.
  20. Под Пользовательская конечная точка, скопируйте конечную точку.
    Этот настраиваемый URL-адрес конечной точки AWS IoT Core является персональным для вашей учетной записи AWS и региона.
  21. Замените customEndpointUrl URL-адрес пользовательской конечной точки AWS IoT Core, сертификаты с именем сертификата и Your_S3_Bucket_Name с именем корзины S3.
    Затем вы устанавливаете pip и AWS IoT SDK для Python.
  22. Войдите в AWS Cloud9 и создайте рабочий каталог в своей среде разработки. Например: aq-iot-publish.
  23. Создайте подкаталог для сертификатов в новом рабочем каталоге. Например: certificates.
  24. Установите AWS IoT SDK для Python v2, выполнив следующую команду из командной строки.
    pip install awsiotsdk

  25. Чтобы протестировать конвейер данных, выполните следующую команду:
    python3 publish.py

Вы можете увидеть полезную нагрузку на следующем снимке экрана.

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Наконец, данные доставляются в указанную корзину S3 в префиксной структуре.

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Данные файлов следующие:

  • {"TIMESTAMP":"2022-03-20 00:00","LOCATION_ID":"B-101","CO":2.6,"SO2":62,"NO2":57}
  • {"TIMESTAMP":"2022-03-20 00:05","LOCATION_ID":"B-101","CO":3.9,"SO2":60,"NO2":73}

Временные метки показывают, что каждый файл содержит данные для 5-минутных интервалов.

С помощью минимального кода мы получили данные датчика, создали входной поток из полученных данных и сохранили данные в корзине S3 в соответствии с требованиями Lookout for Metrics.

В следующих разделах мы более подробно рассмотрим конструкции в Lookout for Metrics и то, насколько просто настроить эти концепции с помощью консоли Lookout for Metrics.

Создать детектор

Детектор — это ресурс Lookout for Metrics, который отслеживает набор данных и выявляет аномалии с заданной частотой. Детекторы используют машинное обучение, чтобы находить закономерности в данных и различать ожидаемые вариации данных и законные аномалии. Чтобы улучшить свою производительность, детектор со временем узнает больше о ваших данных.

В нашем случае детектор анализирует данные с сенсора каждые 5 минут.

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Чтобы создать детектор, перейдите в консоль Lookout for Metrics и выберите Создать детектор. Укажите имя и описание (необязательно) детектора, а также интервал в 5 минут.

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

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

Создать набор данных

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

  1. В консоли Amazon Lookout for Metrics перейдите к своему детектору.
  2. Выберите Добавить набор данных.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  3. Что касается Имявведите имя (например, air-quality-dataset).
  4. Что касается Источник данных, выберите источник данных (для этого поста — Amazon S3).
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.
  5. Что касается Детекторный режим, выберите свой режим (для этого поста Непрерывный).

С Amazon S3 вы можете создать детектор в двух режимах:

    • Backtest – Этот режим используется для поиска аномалий в исторических данных. Необходимо, чтобы все записи были объединены в один файл.
    • Непрерывный – Этот режим используется для обнаружения аномалий в оперативных данных. Мы используем этот режим в нашем случае использования, потому что мы хотим обнаруживать аномалии, когда мы получаем данные о загрязнителях воздуха от датчика мониторинга воздуха.
  1. Введите путь S3 для активной папки S3 и шаблон пути.
  2. Что касается Интервал источника данных, выберите 5-минутные интервалы.Если у вас есть исторические данные, из которых детектор может изучать закономерности, вы можете предоставить их во время этой конфигурации. Ожидается, что данные будут в том же формате, который вы используете для проведения ретроспективного тестирования. Предоставление исторических данных ускоряет процесс обучения модели машинного обучения. Если это недоступно, непрерывный детектор ожидает получения достаточного количества данных, прежде чем делать выводы.
  3. Для этого сообщения у нас уже есть исторические данные, поэтому выберите Использовать исторические данные.
  4. Введите путь S3 historical_data.json.
  5. Что касается Формат файла, наведите на Строки JSON.
    Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

На этом этапе Lookout for Metrics получает доступ к источнику данных и проверяет, может ли он анализировать данные. Если синтаксический анализ прошел успешно, выдается сообщение «Проверка прошла успешно» и вы переходите на следующую страницу, где вы настраиваете меры, измерения и временные метки.

Настройка показателей, измерений и временных меток

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

Габаритные размеры: дать вам возможность нарезать и нарезать ваши данные, определяя категории или сегменты. Это позволяет отслеживать аномалии для подмножества всего набора данных, для которого применима конкретная мера.

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

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

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

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

На следующей странице вы можете просмотреть все добавленные вами данные, а затем сохранить и активировать детектор.

Затем детектор начинает изучать данные, поступающие в источник данных. На этом этапе статус детектора меняется на Initializing.

Важно отметить минимальный объем данных, который требуется, прежде чем Lookout for Metrics сможет начать обнаруживать аномалии. Дополнительные сведения о требованиях и ограничениях см. Следите за квотами показателей.

С минимальной конфигурацией вы создали свой детектор, направили его на набор данных и определили метрики, в которых вы хотите, чтобы Lookout for Metrics находил аномалии.

Визуализируйте аномалии

Lookout for Metrics предоставляет богатый пользовательский интерфейс для пользователей, которые хотят использовать Консоль управления AWS для анализа обнаруженных аномалий. Он также предоставляет возможность запрашивать аномалии через API.

Давайте рассмотрим пример аномалии, обнаруженной в нашем сценарии использования данных о качестве воздуха. На следующем снимке экрана показана аномалия концентрации CO в воздухе, обнаруженная в указанное время и дату, с оценкой серьезности 93. На нем также показан процентный вклад измерения в аномалию. В этом случае 100%-й вклад исходит от измерения идентификатора местоположения B-101.

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Создавать оповещения

Lookout for Metrics позволяет отправлять оповещения по различным каналам. Вы можете настроить порог оценки серьезности аномалии, при котором должны срабатывать оповещения.

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

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Вы также можете использовать оповещение для запуска автоматизации с помощью AWS Lambda функции для управления операциями на основе API в AWS IoT Core.

Заключение

В этом посте мы показали вам, как легко использовать Lookout for Metrics и Kinesis Data Firehose, чтобы избавиться от недифференцированной тяжелой работы, связанной с управлением сквозным жизненным циклом создания приложений для обнаружения аномалий на основе машинного обучения. Это решение может помочь вам быстрее обнаруживать аномалии в ключевых бизнес-показателях и позволит вам сосредоточить свои усилия на росте и улучшении вашего бизнеса.

Предлагаем вам узнать больше, посетив Руководство разработчика Amazon Lookout for Metrics и опробуйте комплексное решение, поддерживаемое этими службами, с набором данных, соответствующим вашим бизнес-КПЭ.


Об авторе

Создайте детектор аномалий качества воздуха с помощью Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Дхирадж Тхакур является архитектором решений в Amazon Web Services. Он работает с клиентами и партнерами AWS, предоставляя рекомендации по внедрению, миграции и стратегии корпоративного облака. Он увлечен технологиями и любит строить и экспериментировать в области аналитики и AI/ML.

Отметка времени:

Больше от Машинное обучение AWS