Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Створіть детектор аномалії якості повітря за допомогою Amazon Lookout for Metrics

Сьогодні забруднення повітря є звичною проблемою навколишнього середовища, яка створює важкі респіраторні та серцеві захворювання, що становлять серйозну загрозу здоров’ю. Кислотні дощі, виснаження озонового шару та глобальне потепління також є несприятливими наслідками забруднення повітря. Існує потреба в інтелектуальному моніторингу та автоматизації, щоб запобігти серйозним проблемам зі здоров’ям, а в екстремальних випадках – ситуаціям, що загрожують життю. Якість повітря вимірюється за допомогою концентрації забруднюючих речовин у повітрі. Вирішальне значення має своєчасне виявлення симптомів і контроль рівня забруднюючих речовин до того, як він стане небезпечним. Процес виявлення якості повітря та аномалії у вазі забруднюючих речовин, а також швидкого діагностування першопричини є важким, дорогим і схильним до помилок.

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

Ця публікація показує, як використовувати інтегроване рішення з Amazon Шукає показники та Amazon Kinesis Data Firehose щоб подолати ці бар’єри шляхом швидкого й легкого прийому потокових даних і подальшого виявлення аномалій у ключових показниках ефективності, які вас цікавлять.

Lookout for Metrics автоматично виявляє та діагностує аномалії (відхилення від норми) у ділових і оперативних даних. Це повністю керована служба ML, яка використовує спеціалізовані моделі ML для виявлення аномалій на основі характеристик ваших даних. Наприклад, тенденції та сезонність є двома характеристиками показників часових рядів, у яких виявлення аномалій на основі порогових значень не працює. Тенденції – це постійні варіації (збільшення або зменшення) значення показника. З іншого боку, сезонність — це періодичні закономірності, які виникають у системі, зазвичай піднімаючись вище базового рівня, а потім знову зменшуючись. Вам не потрібен досвід ML, щоб використовувати Lookout for Metrics.

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

Огляд рішення

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

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

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

Наступна схема ілюструє нашу архітектуру рішення.

Передумови

Перш ніж приступити до рішення, вам потрібні наступні передумови. Для цієї публікації ми використовуємо регіон us-east-1.

  1. Завантажте скрипт Python (publish.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. створити AWS Cloud9 середовище розробки, яке ми використовуємо для запуску програми симулятора Python для створення даних датчиків для цього рішення.

Отримувати та перетворювати дані за допомогою AWS IoT Core та Kinesis Data Firehose

Ми використовуємо потік доставки Kinesis Data Firehose для отримання потокових даних Ядро AWS IoT і доставте його на Amazon S3. Виконайте наступні дії:

  1. На консолі Kinesis Data Firehose виберіть Створіть потік доставки.
  2. для Sourceвиберіть Прямий ПУТ.
  3. для призначеннявиберіть Amazon S3.
  4. для Назва потоку доставки, введіть назву для потоку доставки.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  5. для Ковш S3, введіть відро, яке ви створили як попередню умову.
  6. Введіть значення для Префікс відра S3 та Префікс виведення помилки відра S3.Одним із ключових моментів, на які слід звернути увагу, є конфігурація спеціального префікса, налаштованого для призначення Amazon S3. Цей шаблон префікса забезпечує створення даних у сегменті S3 відповідно до ієрархії префіксів, очікуваної Lookout for Metrics. (Детальніше про це далі в цій публікації.) Щоб отримати додаткові відомості про спеціальні префікси, див Спеціальні префікси для об’єктів Amazon S3.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  7. для Буферний інтервал, введіть 60.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  8. Вибирати Створіть або оновіть роль IAM.
  9. Вибирати Створіть потік доставки.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
    Тепер ми налаштовуємо AWS IoT Core і запускаємо програму симулятора якості повітря.
  10. На консолі AWS IoT Core створити політику AWS IoT викликав адмін.
  11. На панелі навігації під Маршрутизація повідомленьвиберіть Правила.
  12. Вибирати Створити правило.
  13. Створіть правило за допомогою Kinesis Data Firehose(пожежний шланг) дії.
    Це надсилає дані з повідомлення MQTT до потоку доставки Kinesis Data Firehose.
  14. Вибирати Створювати.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  15. Створіть річ AWS IoT із назвою Test-Thing і додайте створену політику.
  16. Завантажте сертифікат, відкритий ключ, закритий ключ, сертифікат пристрою та кореневий ЦС для AWS IoT Core.
  17. Збережіть кожен із завантажених файлів у certificates підкаталог, який ви створили раніше.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  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 для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Нарешті, дані доставляються до вказаного відра S3 у структурі префікса.

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Дані файлів такі:

  • {"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, який відстежує набір даних і визначає аномалії з попередньо визначеною частотою. Детектори використовують ML, щоб знаходити закономірності в даних і відрізняти очікувані варіації даних від законних аномалій. Щоб покращити свою продуктивність, детектор з часом дізнається більше про ваші дані.

У нашому випадку використання детектор аналізує дані датчика кожні 5 хвилин.

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Щоб створити детектор, перейдіть до консолі Lookout for Metrics і виберіть Створити детектор. Введіть назву та опис детектора (необов’язково) разом з інтервалом у 5 хвилин.

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

Тепер давайте націлимо цей детектор на дані, на яких ви хочете запустити виявлення аномалії.

Створіть набір даних

Набір даних повідомляє детектору, де знайти ваші дані та які показники аналізувати на наявність аномалій. Щоб створити набір даних, виконайте такі дії:

  1. На консолі Amazon Lookout for Metrics перейдіть до свого детектора.
  2. Вибирати Додайте набір даних.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  3. для ІМ'Я, введіть назву (наприклад, air-quality-dataset).
  4. для Джерело даних, виберіть джерело даних (для цієї публікації Amazon S3).
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.
  5. для Режим детектора, виберіть свій режим (для цієї публікації, безперервна).

За допомогою Amazon S3 ви можете створити детектор у двох режимах:

    • Backtest - Цей режим використовується для пошуку аномалій в історичних даних. Потрібно, щоб усі записи були об’єднані в один файл.
    • безперервна – Цей режим використовується для виявлення аномалій у поточних даних. Ми використовуємо цей режим у нашому варіанті використання, оскільки хочемо виявляти аномалії, коли отримуємо дані про забруднювачі повітря від датчика моніторингу повітря.
  1. Введіть шлях S3 для поточної папки S3 і шаблон шляху.
  2. для Інтервал джерела данихвиберіть Інтервал 5 хвилина.Якщо у вас є історичні дані, з яких детектор може дізнатися шаблони, ви можете надати їх під час цієї конфігурації. Очікується, що дані будуть у тому самому форматі, який ви використовуєте для виконання тесту. Надання історичних даних прискорює процес навчання моделі ML. Якщо це недоступно, безперервний детектор очікує, поки буде доступна достатня кількість даних, перш ніж робити висновки.
  3. Для цієї публікації ми вже маємо історичні дані, тому виберіть Використовуйте історичні дані.
  4. Введіть шлях S3 historical_data.json.
  5. для формат файлувиберіть JSON рядки.
    Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

У цей момент Lookout for Metrics отримує доступ до джерела даних і перевіряє, чи може він аналізувати дані. Якщо синтаксичний аналіз пройшов успішно, з’являється повідомлення «Перевірка успішна» та переходить на наступну сторінку, де ви налаштовуєте міри, розміри та позначки часу.

Налаштуйте показники, розміри та позначки часу

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

розміри дає вам можливість нарізати та розділити дані, визначивши категорії або сегменти. Це дозволяє відстежувати аномалії для підмножини всього набору даних, для яких застосовується певна міра.

У нашому випадку використання ми додаємо три вимірювання, які обчислюють AVG об’єктів, побачених за 5-хвилинний інтервал, і мають лише один вимір, для якого вимірюється концентрація забруднювачів.

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Кожен запис у наборі даних повинен мати мітку часу. Наступна конфігурація дозволяє вибрати поле, яке відображає значення мітки часу, а також формат позначки часу.

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

На наступній сторінці ви зможете переглянути всі додані вами деталі, а потім зберегти та активувати детектор.

Потім детектор починає вивчати потокове передавання даних у джерело даних. На цьому етапі стан детектора змінюється на Initializing.

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

З мінімальною конфігурацією ви створили свій детектор, спрямували його на набір даних і визначили показники, у яких Lookout for Metrics має знаходити аномалії.

Візуалізуйте аномалії

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

Давайте розглянемо приклад аномалії, виявленої в нашому випадку використання даних про якість повітря. На наступному знімку екрана показано аномалію, виявлену в концентрації CO в повітрі в призначений час і дату, з оцінкою серйозності 93. На ньому також показано відсотковий внесок параметра в аномалію. У цьому випадку 100% внесок надходить від розміру ID розташування B-101.

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Створюйте сповіщення

Lookout for Metrics дозволяє надсилати сповіщення за допомогою різних каналів. Ви можете налаштувати поріг оцінки серйозності аномалії, за якого потрібно запускати сповіщення.

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

Створіть детектор аномалій якості повітря за допомогою Amazon Lookout для Metrics PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

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

Висновок

У цій публікації ми показали вам, як легко використовувати Lookout for Metrics і Kinesis Data Firehose, щоб усунути недиференційовану важку роботу, пов’язану з керуванням наскрізним життєвим циклом створення програм виявлення аномалій на основі ML. Це рішення може допомогти вам прискорити пошук аномалій у ключових бізнес-метриках і дозволить вам зосередити свої зусилля на розвитку та вдосконаленні свого бізнесу.

Ми радимо вам дізнатися більше, відвідавши сайт Посібник розробника Amazon Lookout for Metrics і спробуйте наскрізне рішення, яке підтримується цими службами, з набором даних, що відповідає KPI вашого бізнесу.


Про автора

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

Часова мітка:

Більше від AWS Машинне навчання