Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zbuduj detektor anomalii jakości powietrza za pomocą Amazon Lookout for Metrics

Obecnie zanieczyszczenie powietrza jest znanym problemem środowiskowym, który powoduje poważne choroby układu oddechowego i serca, które stanowią poważne zagrożenie dla zdrowia. Kwaśne deszcze, zubożenie warstwy ozonowej i globalne ocieplenie to także negatywne konsekwencje zanieczyszczenia powietrza. Istnieje potrzeba inteligentnego monitorowania i automatyzacji w celu zapobiegania poważnym problemom zdrowotnym, aw skrajnych przypadkach sytuacji zagrażających życiu. Jakość powietrza mierzy się za pomocą stężenia zanieczyszczeń w powietrzu. Wczesne rozpoznawanie objawów i kontrolowanie poziomu zanieczyszczenia, zanim stanie się ono niebezpieczne, ma kluczowe znaczenie. Proces identyfikacji jakości powietrza i anomalii w masie zanieczyszczeń oraz szybkiej diagnozy pierwotnej przyczyny jest trudny, kosztowny i podatny na błędy.

Proces stosowania rozwiązań opartych na sztucznej inteligencji i uczeniu maszynowym (ML) w celu znalezienia anomalii danych wiąże się z dużą złożonością w zakresie pozyskiwania, przechowywania i przygotowywania danych w odpowiednim formacie, a następnie optymalizacji i utrzymywania skuteczności tych modeli ML przez długie okresy czas. Jest to jedna z barier w szybkim wdrażaniu i skalowaniu adaptacji możliwości ML.

Ten post pokazuje, jak korzystać ze zintegrowanego rozwiązania z Amazon Lookout dla metryk . i Wąż strażacki Amazon Kinesis Data aby przełamać te bariery poprzez szybkie i łatwe pozyskiwanie danych strumieniowych, a następnie wykrywanie anomalii w kluczowych wskaźnikach wydajności, które Cię interesują.

Lookout for Metrics automatycznie wykrywa i diagnozuje anomalie (odchylenia od normy) w danych biznesowych i operacyjnych. Jest to w pełni zarządzana usługa ML, która wykorzystuje wyspecjalizowane modele ML do wykrywania anomalii na podstawie cech danych. Na przykład trendy i sezonowość to dwie cechy metryk szeregów czasowych, w których wykrywanie anomalii na podstawie progów nie działa. Trendy to ciągłe zmiany (wzrosty lub spadki) wartości metryki. Z drugiej strony sezonowość to okresowe wzorce występujące w systemie, zwykle rosnące powyżej wartości bazowej, a następnie ponownie malejące. Aby korzystać z Lookout for Metrics, nie potrzebujesz doświadczenia w ML.

Przedstawiamy wspólny scenariusz monitoringu jakości powietrza, w którym wykrywamy anomalie w stężeniu zanieczyszczeń w powietrzu. Pod koniec tego postu dowiesz się, jak korzystać z tych zarządzanych usług AWS, aby zapobiegać problemom zdrowotnym i globalnemu ociepleniu. Możesz zastosować to rozwiązanie do innych przypadków użycia w celu lepszego zarządzania środowiskiem, takich jak wykrywanie anomalii w jakości wody, jakości gruntów i wzorców zużycia energii, żeby wymienić tylko kilka.

Omówienie rozwiązania

Architektura składa się z trzech bloków funkcjonalnych:

  • Bezprzewodowe czujniki umieszczone w strategicznych miejscach do wykrywania poziomu stężenia tlenku węgla (CO), dwutlenku siarki (SO2) i dwutlenku azotu (NO2) w powietrzu
  • Pozyskiwanie i przechowywanie danych strumieniowych
  • Wykrywanie i powiadamianie o anomaliach

Rozwiązanie zapewnia w pełni zautomatyzowaną ścieżkę danych od czujników aż do powiadomienia wysyłanego do użytkownika. Możesz także wchodzić w interakcję z rozwiązaniem za pomocą interfejsu użytkownika Lookout for Metrics w celu przeanalizowania zidentyfikowanych anomalii.

Poniższy diagram ilustruje naszą architekturę rozwiązania.

Wymagania wstępne

Aby kontynuować rozwiązanie, musisz spełnić następujące wymagania wstępne. W tym poście używamy regionu us-east-1.

  1. Pobierz skrypt Pythona (publikuj.py) i plik danych z GitHub repo.
  2. Otwórz live_data.csv w wybranym edytorze i zamień daty na dzisiejszą i jutrzejszą. Na przykład, jeśli dzisiejsza data to 8 lipca 2022 r., zamień 2022-03-25 w 2022-07-08. Zachowaj ten sam format. Jest to wymagane do symulacji danych czujnika dla bieżącej daty przy użyciu skryptu symulatora IoT.
  3. Tworzenie Usługa Amazon Simple Storage (Amazon S3) wiadro i folder o nazwie air-quality. Utwórz podfolder w środku air-quality o imieniu historical. Aby uzyskać instrukcje, zobacz Tworzenie folderu.
  4. Prześlij plik live_data.csv plik w głównym wiadrze S3 i historical_data.json w folderze historycznym.
  5. Tworzenie Chmura AWS9 środowisko programistyczne, z którego korzystamy do uruchomienia programu symulatora Pythona do tworzenia danych z czujników dla tego rozwiązania.

Pozyskiwanie i przekształcanie danych za pomocą AWS IoT Core i Kinesis Data Firehose

Używamy strumienia dostarczania Kinesis Data Firehose, aby pobierać dane strumieniowe z Rdzeń IoT AWS i dostarcz go do Amazon S3. Wykonaj następujące kroki:

  1. W konsoli Kinesis Data Firehose wybierz Utwórz strumień dostarczania.
  2. W razie zamówieenia projektu Źródłowybierz Bezpośrednie PUT.
  3. W razie zamówieenia projektu Celwybierz Amazon S3.
  4. W razie zamówieenia projektu Nazwa strumienia dostawy, wpisz nazwę strumienia dostarczania.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  5. W razie zamówieenia projektu Wiadro S3, wprowadź zasobnik utworzony jako warunek wstępny.
  6. Wprowadź wartości dla Przedrostek wiadra S3 i Prefiks wyjścia błędu zasobnika S3Jednym z kluczowych punktów, na które należy zwrócić uwagę, jest konfiguracja niestandardowego prefiksu skonfigurowanego dla miejsca docelowego Amazon S3. Ten wzorzec prefiksu zapewnia, że ​​dane są tworzone w zasobniku S3 zgodnie z hierarchią prefiksów oczekiwaną przez Lookout for Metrics. (Więcej na ten temat w dalszej części tego postu.) Aby uzyskać więcej informacji na temat niestandardowych prefiksów, zobacz Niestandardowe przedrostki dla obiektów Amazon S3.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  7. W razie zamówieenia projektu Interwał buforowy, wchodzić 60.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  8. Dodaj Utwórz lub zaktualizuj rolę uprawnień.
  9. Dodaj Utwórz strumień dostarczania.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    Teraz konfigurujemy AWS IoT Core i uruchamiamy program symulatora jakości powietrza.
  10. W konsoli AWS IoT Core: stworzyć politykę AWS IoT o nazwie admin.
  11. W okienku nawigacji pod Routing wiadomościwybierz Zasady.
  12. Dodaj Stwórz zasadę.
  13. Utwórz regułę za pomocą Akcja Kinesis Data Firehose (wąż strażacki).
    Powoduje to wysłanie danych z wiadomości MQTT do strumienia dostarczania danych Kinesis Firehose.
  14. Dodaj Stwórz.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  15. Stwórz rzecz AWS IoT z nazwą Test-Thing i dołącz utworzoną przez siebie politykę.
  16. Pobierz certyfikat, klucz publiczny, klucz prywatny, certyfikat urządzenia i główny urząd certyfikacji dla AWS IoT Core.
  17. Zapisz każdy z pobranych plików do certificates podkatalog, który utworzyłeś wcześniej.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  18. Prześlij plik publish.py do iot-test-publish teczka.
  19. W konsoli AWS IoT Core w okienku nawigacji wybierz Ustawienia.
  20. Pod Niestandardowy punkt końcowy, skopiuj punkt końcowy.
    Ten niestandardowy adres URL punktu końcowego AWS IoT Core jest osobisty dla Twojego konta AWS i regionu.
  21. zastąpić customEndpointUrl za pomocą niestandardowego adresu URL punktu końcowego AWS IoT Core, certyfikatów z nazwą certyfikatu i Your_S3_Bucket_Name z nazwą Twojego zasobnika S3.
    Następnie instalujesz pip i AWS IoT SDK dla Pythona.
  22. Zaloguj się do AWS Cloud9 i utwórz katalog roboczy w swoim środowisku programistycznym. Na przykład: aq-iot-publish.
  23. Utwórz podkatalog dla certyfikatów w nowym katalogu roboczym. Na przykład: certificates.
  24. Zainstaluj zestaw AWS IoT SDK dla języka Python w wersji 2, uruchamiając następujące polecenie z wiersza polecenia.
    pip install awsiotsdk

  25. Aby przetestować potok danych, uruchom następujące polecenie:
    python3 publish.py

Możesz zobaczyć ładunek na poniższym zrzucie ekranu.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Na koniec dane są dostarczane do określonego segmentu S3 w strukturze prefiksu.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Dane plików są następujące:

  • {"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}

Sygnatury czasowe pokazują, że każdy plik zawiera dane z 5-minutowych interwałów.

Przy minimalnym kodzie pozyskaliśmy teraz dane z czujnika, utworzyliśmy strumień wejściowy z pozyskanych danych i zapisaliśmy dane w zasobniku S3 w oparciu o wymagania Lookout for Metrics.

W następnych sekcjach przyjrzymy się bliżej konstrukcjom w Lookout for Metrics i temu, jak łatwo jest skonfigurować te koncepcje za pomocą konsoli Lookout for Metrics.

Utwórz detektor

Detektor to zasób Lookout for Metrics, który monitoruje zbiór danych i identyfikuje anomalie z określoną częstotliwością. Detektory wykorzystują ML do znajdowania wzorców w danych i rozróżniania oczekiwanych zmian danych od uzasadnionych anomalii. Aby poprawić swoją wydajność, detektor z czasem uczy się więcej o Twoich danych.

W naszym przypadku detektor analizuje dane z czujnika co 5 minut.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Aby utworzyć detektor, przejdź do konsoli Lookout for Metrics i wybierz Utwórz detektor. Podaj nazwę i opis (opcjonalnie) detektora wraz z interwałem 5 minut.

Twoje dane są domyślnie szyfrowane kluczem, którego AWS posiada i którym zarządza dla Ciebie. Możesz także skonfigurować, czy chcesz używać innego klucza szyfrowania niż ten, który jest używany domyślnie.

Teraz skierujmy ten detektor na dane, na których chcesz uruchomić wykrywanie anomalii.

Utwórz zbiór danych

Zestaw danych informuje detektor, gdzie znaleźć Twoje dane i jakie metryki należy przeanalizować pod kątem anomalii. Aby utworzyć zbiór danych, wykonaj następujące czynności:

  1. W konsoli Amazon Lookout for Metrics przejdź do swojego detektora.
  2. Dodaj Dodaj zbiór danych.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  3. W razie zamówieenia projektu Imięwprowadź nazwę (na przykład air-quality-dataset).
  4. W razie zamówieenia projektu Źródło danych, wybierz źródło danych (dla tego posta Amazon S3).
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  5. W razie zamówieenia projektu Tryb detektora, wybierz swój tryb (dla tego posta, Ciągły).

W Amazon S3 możesz stworzyć detektor w dwóch trybach:

    • Analizy historycznej – Ten tryb służy do wyszukiwania anomalii w danych historycznych. Wszystkie rekordy muszą być skonsolidowane w jednym pliku.
    • Ciągły – Ten tryb służy do wykrywania anomalii w bieżących danych. Używamy tego trybu w naszym przypadku użycia, ponieważ chcemy wykrywać anomalie, gdy otrzymujemy dane dotyczące zanieczyszczenia powietrza z czujnika monitorowania powietrza.
  1. Wprowadź ścieżkę S3 dla aktywnego folderu S3 i wzorca ścieżki.
  2. W razie zamówieenia projektu Interwał źródła danychwybierz Interwały 5 minutowe.Jeżeli masz dane historyczne, z których wykrywacz może uczyć się wzorców, możesz je podać podczas tej konfiguracji. Oczekuje się, że dane będą w tym samym formacie, którego używasz do przeprowadzenia analizy historycznej. Dostarczanie danych historycznych przyspiesza proces uczenia modelu ML. Jeśli nie jest to możliwe, detektor ciągły czeka na dostępność wystarczających danych przed wnioskowaniem.
  3. W przypadku tego posta mamy już dane historyczne, więc wybierz Użyj danych historycznych.
  4. Wprowadź ścieżkę S3 z historical_data.json.
  5. W razie zamówieenia projektu Format pliku, Wybierz Linie JSON.
    Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

W tym momencie Lookout for Metrics uzyskuje dostęp do źródła danych i sprawdza, czy może analizować dane. Jeśli analiza się powiedzie, wyświetli się komunikat „Weryfikacja pomyślna” i przeniesie Cię do następnej strony, na której konfigurujesz miary, wymiary i sygnatury czasowe.

Skonfiguruj miary, wymiary i sygnatury czasowe

Środki zdefiniuj kluczowe wskaźniki wydajności, dla których chcesz śledzić anomalie. Do każdego detektora można dodać do pięciu pomiarów. Pola używane do tworzenia wskaźników KPI na podstawie danych źródłowych muszą mieć format liczbowy. Kluczowe wskaźniki wydajności można obecnie definiować, agregując rekordy w przedziale czasu, wykonując SUMA lub ŚREDNIA.

Wymiary daje możliwość dzielenia i krojenia danych poprzez definiowanie kategorii lub segmentów. Umożliwia to śledzenie anomalii dla podzbioru całego zestawu danych, do którego ma zastosowanie dana miara.

W naszym przypadku użycia dodajemy trzy miary, które obliczają AVG obiektów widzianych w 5-minutowym przedziale i mają tylko jeden wymiar, dla którego mierzone jest stężenie zanieczyszczeń.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Każdy rekord w zbiorze danych musi mieć sygnaturę czasową. Poniższa konfiguracja pozwala wybrać pole, które reprezentuje wartość znacznika czasu, a także format znacznika czasu.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Na następnej stronie możesz przejrzeć wszystkie dodane szczegóły, a następnie zapisać i aktywować wykrywacz.

Detektor rozpoczyna wówczas naukę strumieniowania danych do źródła danych. Na tym etapie stan czujki zmienia się na: Initializing.

Należy zwrócić uwagę na minimalną ilość danych, która jest wymagana, zanim Lookout for Metrics rozpocznie wykrywanie anomalii. Aby uzyskać więcej informacji o wymaganiach i ograniczeniach, zobacz Szukaj limitów metryk.

Przy minimalnej konfiguracji utworzyłeś detektor, skierowałeś go na zbiór danych i zdefiniowałeś metryki, w których Lookout for Metrics ma znajdować anomalie.

Wizualizuj anomalie

Lookout for Metrics zapewnia rozbudowany interfejs użytkownika dla użytkowników, którzy chcą korzystać z Konsola zarządzania AWS do analizy wykrytych anomalii. Zapewnia również możliwość wysyłania zapytań o anomalie za pośrednictwem interfejsów API.

Przyjrzyjmy się przykładowej anomalii wykrytej w naszym przypadku użycia danych dotyczących jakości powietrza. Poniższy zrzut ekranu pokazuje anomalię wykrytą w stężeniu CO w powietrzu w wyznaczonym czasie i dacie z wynikiem dotkliwości 93. Pokazuje również procentowy udział wymiaru w anomalii. W tym przypadku 100% wkład pochodzi z wymiaru ID lokalizacji B-101.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Utwórz alerty

Lookout for Metrics umożliwia wysyłanie alertów za pomocą różnych kanałów. Można skonfigurować próg wyniku ważności anomalii, przy którym alerty muszą być wyzwalane.

W naszym przypadku użycia konfigurujemy alerty, które mają być wysyłane do Usługa prostego powiadomienia Amazon (Amazon SNS), który z kolei wysyła SMS. Poniższe zrzuty ekranu przedstawiają szczegóły konfiguracji.

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz także użyć alertu do wyzwalania automatyzacji za pomocą AWS Lambda funkcje w celu prowadzenia operacji opartych na API w AWS IoT Core.

Wnioski

W tym poście pokazaliśmy, jak łatwo używać Lookout for Metrics i Kinesis Data Firehose, aby usunąć niezróżnicowane podnoszenie ciężarów związane z zarządzaniem kompleksowym cyklem życia tworzenia aplikacji do wykrywania anomalii opartych na ML. To rozwiązanie może przyspieszyć Twoją zdolność do znajdowania anomalii w kluczowych wskaźnikach biznesowych i skoncentrować wysiłki na rozwoju i doskonaleniu firmy.

Zachęcamy do bliższego zapoznania się z Przewodnik dla programistów Amazon Lookout for Metrics i wypróbuj kompleksowe rozwiązanie udostępniane przez te usługi z zestawem danych odpowiadającym kluczowym wskaźnikom KPI Twojej firmy.


O autorze

Zbuduj detektor anomalii jakości powietrza przy użyciu Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dhiraj Thakura jest architektem rozwiązań w Amazon Web Services. Współpracuje z klientami i partnerami AWS, aby zapewnić wskazówki dotyczące wdrażania chmury korporacyjnej, migracji i strategii. Pasjonuje się technologią, lubi budować i eksperymentować w przestrzeni analitycznej i AI / ML.

Znak czasu:

Więcej z Uczenie maszynowe AWS