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.
- Pobierz skrypt Pythona (publikuj.py) i plik danych z GitHub repo.
- 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
w2022-07-08
. Zachowaj ten sam format. Jest to wymagane do symulacji danych czujnika dla bieżącej daty przy użyciu skryptu symulatora IoT. - Tworzenie Usługa Amazon Simple Storage (Amazon S3) wiadro i folder o nazwie
air-quality
. Utwórz podfolder w środkuair-quality
o imieniuhistorical
. Aby uzyskać instrukcje, zobacz Tworzenie folderu. - Prześlij plik
live_data.csv
plik w głównym wiadrze S3 ihistorical_data.json
w folderze historycznym. - 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:
- W konsoli Kinesis Data Firehose wybierz Utwórz strumień dostarczania.
- W razie zamówieenia projektu Źródłowybierz Bezpośrednie PUT.
- W razie zamówieenia projektu Celwybierz Amazon S3.
- W razie zamówieenia projektu Nazwa strumienia dostawy, wpisz nazwę strumienia dostarczania.
- W razie zamówieenia projektu Wiadro S3, wprowadź zasobnik utworzony jako warunek wstępny.
- 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.
- W razie zamówieenia projektu Interwał buforowy, wchodzić
60
. - Dodaj Utwórz lub zaktualizuj rolę uprawnień.
- Dodaj Utwórz strumień dostarczania.
Teraz konfigurujemy AWS IoT Core i uruchamiamy program symulatora jakości powietrza. - W konsoli AWS IoT Core: stworzyć politykę AWS IoT o nazwie admin.
- W okienku nawigacji pod Routing wiadomościwybierz Zasady.
- Dodaj Stwórz zasadę.
- 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. - Dodaj Stwórz.
- Stwórz rzecz AWS IoT z nazwą
Test-Thing
i dołącz utworzoną przez siebie politykę. - Pobierz certyfikat, klucz publiczny, klucz prywatny, certyfikat urządzenia i główny urząd certyfikacji dla AWS IoT Core.
- Zapisz każdy z pobranych plików do
certificates
podkatalog, który utworzyłeś wcześniej. - Prześlij plik publish.py do
iot-test-publish
teczka. - W konsoli AWS IoT Core w okienku nawigacji wybierz Ustawienia.
- 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. - zastąpić
customEndpointUrl
za pomocą niestandardowego adresu URL punktu końcowego AWS IoT Core, certyfikatów z nazwą certyfikatu iYour_S3_Bucket_Name
z nazwą Twojego zasobnika S3.
Następnie instalujesz pip i AWS IoT SDK dla Pythona. - Zaloguj się do AWS Cloud9 i utwórz katalog roboczy w swoim środowisku programistycznym. Na przykład:
aq-iot-publish
. - Utwórz podkatalog dla certyfikatów w nowym katalogu roboczym. Na przykład:
certificates
. - Zainstaluj zestaw AWS IoT SDK dla języka Python w wersji 2, uruchamiając następujące polecenie z wiersza polecenia.
- Aby przetestować potok danych, uruchom następujące polecenie:
Możesz zobaczyć ładunek na poniższym zrzucie ekranu.
Na koniec dane są dostarczane do określonego segmentu S3 w strukturze prefiksu.
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.
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:
- W konsoli Amazon Lookout for Metrics przejdź do swojego detektora.
- Dodaj Dodaj zbiór danych.
- W razie zamówieenia projektu Imięwprowadź nazwę (na przykład
air-quality-dataset
). - W razie zamówieenia projektu Źródło danych, wybierz źródło danych (dla tego posta Amazon S3).
- 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.
- Wprowadź ścieżkę S3 dla aktywnego folderu S3 i wzorca ścieżki.
- 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.
- W przypadku tego posta mamy już dane historyczne, więc wybierz Użyj danych historycznych.
- Wprowadź ścieżkę S3 z
historical_data.json
. - W razie zamówieenia projektu Format pliku, Wybierz Linie JSON.
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ń.
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.
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.
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.
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
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.
- AI
- ai sztuka
- generator sztuki ai
- masz robota
- Amazon Lookout dla metryk .
- sztuczna inteligencja
- certyfikacja sztucznej inteligencji
- sztuczna inteligencja w bankowości
- robot sztucznej inteligencji
- roboty sztucznej inteligencji
- oprogramowanie sztucznej inteligencji
- Uczenie maszynowe AWS
- blockchain
- konferencja blockchain ai
- pomysłowość
- sztuczna inteligencja konwersacyjna
- konferencja kryptograficzna
- Dall's
- głęboka nauka
- google to
- uczenie maszynowe
- plato
- Platon Ai
- Analiza danych Platona
- Gra Platona
- PlatoDane
- platogaming
- skala ai
- składnia
- zefirnet