Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Erstellen Sie mit Amazon Lookout for Metrics einen Detektor für Luftqualitätsanomalien

Heutzutage ist Luftverschmutzung ein bekanntes Umweltproblem, das zu schweren Atemwegs- und Herzerkrankungen führt, die ernsthafte Gesundheitsbedrohungen darstellen. Saurer Regen, Abbau der Ozonschicht und globale Erwärmung sind ebenfalls nachteilige Folgen der Luftverschmutzung. Es bedarf einer intelligenten Überwachung und Automatisierung, um schwere gesundheitliche Probleme und im Extremfall lebensbedrohliche Situationen zu verhindern. Die Luftqualität wird anhand der Schadstoffkonzentration in der Luft gemessen. Es ist von entscheidender Bedeutung, Symptome frühzeitig zu erkennen und den Schadstoffgehalt zu kontrollieren, bevor er gefährlich wird. Der Prozess zur Identifizierung der Luftqualität und der Anomalie im Gewicht der Schadstoffe und zur schnellen Diagnose der Grundursache ist schwierig, kostspielig und fehleranfällig.

Der Prozess der Anwendung von auf KI und maschinellem Lernen (ML) basierenden Lösungen zum Auffinden von Datenanomalien ist sehr komplex, wenn es darum geht, Daten im richtigen Format aufzunehmen, zu kuratieren und aufzubereiten und dann die Effektivität dieser ML-Modelle über lange Zeiträume zu optimieren und aufrechtzuerhalten Zeit. Dies war eines der Hindernisse für die schnelle Implementierung und Skalierung der Einführung von ML-Funktionen.

Dieser Beitrag zeigt Ihnen, wie Sie eine integrierte Lösung mit Amazon Lookout für Metriken machen Amazon Kinesis Data Firehose um diese Barrieren zu durchbrechen, indem Sie schnell und einfach Streaming-Daten aufnehmen und anschließend Anomalien in den für Sie interessanten Leistungskennzahlen erkennen.

Lookout for Metrics erkennt und diagnostiziert automatisch Anomalien (Ausreißer von der Norm) in Geschäfts- und Betriebsdaten. Es handelt sich um einen vollständig verwalteten ML-Dienst, der spezialisierte ML-Modelle verwendet, um Anomalien basierend auf den Merkmalen Ihrer Daten zu erkennen. Beispielsweise sind Trends und Saisonalität zwei Merkmale von Zeitreihenmetriken, bei denen die schwellenwertbasierte Anomalieerkennung nicht funktioniert. Trends sind kontinuierliche Schwankungen (Zunahmen oder Abnahmen) des Werts einer Metrik. Auf der anderen Seite handelt es sich bei Saisonalität um periodische Muster, die in einem System auftreten und normalerweise über eine Basislinie ansteigen und dann wieder abnehmen. Sie benötigen keine ML-Erfahrung, um Lookout for Metrics zu verwenden.

Wir demonstrieren ein gängiges Luftqualitätsüberwachungsszenario, in dem wir Anomalien in der Schadstoffkonzentration in der Luft erkennen. Am Ende dieses Beitrags erfahren Sie, wie Sie diese Managed Services von AWS nutzen können, um Gesundheitsprobleme und die globale Erwärmung zu verhindern. Sie können diese Lösung auf andere Anwendungsfälle für ein besseres Umweltmanagement anwenden, z. B. die Erkennung von Anomalien in der Wasserqualität, der Landqualität und den Stromverbrauchsmustern, um nur einige zu nennen.

Lösungsüberblick

Die Architektur besteht aus drei Funktionsblöcken:

  • Drahtlose Sensoren an strategischen Stellen, um die Konzentration von Kohlenmonoxid (CO), Schwefeldioxid (SO2) und Stickstoffdioxid (NO2) in der Luft zu messen
  • Aufnahme und Speicherung von Streaming-Daten
  • Anomalieerkennung und Benachrichtigung

Die Lösung bietet einen vollständig automatisierten Datenpfad von den Sensoren bis hin zu einer Benachrichtigung an den Benutzer. Sie können auch über die Benutzeroberfläche von Lookout for Metrics mit der Lösung interagieren, um die identifizierten Anomalien zu analysieren.

Das folgende Diagramm zeigt unsere Lösungsarchitektur.

Voraussetzungen:

Sie benötigen die folgenden Voraussetzungen, bevor Sie mit der Lösung fortfahren können. Für diesen Beitrag verwenden wir die Region us-east-1.

  1. Laden Sie das Python-Skript herunter (veröffentlichen.py) und Datendatei aus der GitHub Repo.
  2. Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. live_data.csv Datei in Ihrem bevorzugten Editor und ersetzen Sie die Daten durch das heutige und das morgige Datum. Wenn das heutige Datum beispielsweise der 8. Juli 2022 ist, dann ersetzen Sie 2022-03-25 mit 2022-07-08. Behalten Sie das Format bei. Dies ist erforderlich, um Sensordaten für das aktuelle Datum mit dem IoT-Simulator-Skript zu simulieren.
  3. Erstellen Sie ein Amazon Simple Storage-Service (Amazon S3)-Bucket und einen Ordner namens air-quality. Erstellen Sie darin einen Unterordner air-quality namens historical. Anweisungen finden Sie unter Ordner erstellen.
  4. Laden Sie die live_data.csv Datei im Root-S3-Bucket und historical_data.json im historischen Ordner.
  5. Erstellen Sie ein AWS Cloud9 Entwicklungsumgebung, mit der wir das Python-Simulatorprogramm ausführen, um Sensordaten für diese Lösung zu erstellen.

Erfassen und transformieren Sie Daten mit AWS IoT Core und Kinesis Data Firehose

Wir verwenden einen Kinesis Data Firehose-Bereitstellungsstream, um die Streaming-Daten aufzunehmen AWS IoT-Kern und an Amazon S3 liefern. Führen Sie die folgenden Schritte aus:

  1. Wählen Sie in der Kinesis Data Firehose-Konsole aus Lieferstrom erstellen.
  2. Aussichten für Quelle, wählen Direkt PUT.
  3. Aussichten für Reiseziel, wählen Amazon S3.
  4. Aussichten für Name des Lieferstreams, geben Sie einen Namen für Ihren Bereitstellungs-Stream ein.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  5. Aussichten für S3-Eimer, geben Sie den von Ihnen erstellten Bucket als Voraussetzung ein.
  6. Geben Sie Werte für ein S3-Bucket-Präfix machen S3-Bucket-Fehlerausgabepräfix. Einer der wichtigsten zu beachtenden Punkte ist die Konfiguration des benutzerdefinierten Präfixes, das für das Amazon S3-Ziel konfiguriert ist. Dieses Präfixmuster stellt sicher, dass die Daten im S3-Bucket gemäß der von Lookout for Metrics erwarteten Präfixhierarchie erstellt werden. (Mehr dazu später in diesem Beitrag.) Weitere Informationen zu benutzerdefinierten Präfixen finden Sie unter Benutzerdefinierte Präfixe für Amazon S3-Objekte.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  7. Aussichten für Pufferintervall, eingeben 60.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  8. Auswählen IAM-Rolle erstellen oder aktualisieren.
  9. Auswählen Lieferstrom erstellen.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
    Jetzt konfigurieren wir AWS IoT Core und führen das Luftqualitätssimulatorprogramm aus.
  10. Auf der AWS IoT Core-Konsole Erstellen Sie eine AWS IoT-Richtlinie Administrator genannt.
  11. Im Navigationsbereich unter Nachrichtenweiterleitung, wählen Regeln.
  12. Auswählen Regel erstellen.
  13. Erstellen Sie eine Regel mit dem Kinesis Data Firehose(firehose)-Aktion.
    Dadurch werden Daten von einer MQTT-Nachricht an einen Kinesis Data Firehose-Bereitstellungsstream gesendet.
  14. Auswählen Erstellen.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  15. Erstellen Sie ein AWS IoT-Ding mit Namen Test-Thing und hängen Sie die erstellte Richtlinie an.
  16. Laden Sie das Zertifikat, den öffentlichen Schlüssel, den privaten Schlüssel, das Gerätezertifikat und die Root-CA für AWS IoT Core herunter.
  17. Speichern Sie jede der heruntergeladenen Dateien im certificates Unterverzeichnis, das Sie zuvor erstellt haben.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  18. Laden Sie publish.py in die hoch iot-test-publish -Ordner.
  19. Wählen Sie in der AWS IoT Core-Konsole im Navigationsbereich aus Einstellungen .
  20. Der Benutzerdefinierter Endpunkt, kopieren Sie den Endpunkt.
    Diese benutzerdefinierte AWS IoT Core-Endpunkt-URL ist für Ihr AWS-Konto und Ihre Region persönlich.
  21. Ersetzen customEndpointUrl mit Ihrer benutzerdefinierten AWS IoT Core-Endpunkt-URL, Zertifikaten mit dem Namen des Zertifikats und Your_S3_Bucket_Name mit Ihrem S3-Bucket-Namen.
    Als Nächstes installieren Sie pip und das AWS IoT SDK für Python.
  22. Melden Sie sich bei AWS Cloud9 an und erstellen Sie ein Arbeitsverzeichnis in Ihrer Entwicklungsumgebung. Zum Beispiel: aq-iot-publish.
  23. Erstellen Sie in Ihrem neuen Arbeitsverzeichnis ein Unterverzeichnis für Zertifikate. Zum Beispiel: certificates.
  24. Installieren Sie das AWS IoT SDK for Python v2, indem Sie Folgendes über die Befehlszeile ausführen.
    pip install awsiotsdk

  25. Führen Sie zum Testen der Datenpipeline den folgenden Befehl aus:
    python3 publish.py

Sie können die Nutzlast im folgenden Screenshot sehen.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Schließlich werden die Daten an den angegebenen S3-Bucket in der Präfixstruktur geliefert.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Die Daten der Dateien sind wie folgt:

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

Die Zeitstempel zeigen, dass jede Datei Daten für 5-Minuten-Intervalle enthält.

Mit minimalem Code haben wir nun die Sensordaten aufgenommen, einen Eingabestream aus den aufgenommenen Daten erstellt und die Daten basierend auf den Anforderungen für Lookout for Metrics in einem S3-Bucket gespeichert.

In den folgenden Abschnitten werfen wir einen tieferen Blick auf die Konstrukte in Lookout for Metrics und darauf, wie einfach es ist, diese Konzepte mit der Lookout for Metrics-Konsole zu konfigurieren.

Erstellen Sie einen Detektor

Ein Detektor ist eine Lookout for Metrics-Ressource, die einen Datensatz überwacht und Anomalien mit einer vordefinierten Häufigkeit identifiziert. Detektoren verwenden ML, um Muster in Daten zu finden und zwischen erwarteten Abweichungen in Daten und legitimen Anomalien zu unterscheiden. Um seine Leistung zu verbessern, lernt ein Detektor im Laufe der Zeit mehr über Ihre Daten.

In unserem Anwendungsfall analysiert der Detektor alle 5 Minuten Daten vom Sensor.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Um den Detektor zu erstellen, navigieren Sie zur Lookout for Metrics-Konsole und wählen Sie aus Detektor erstellen. Geben Sie den Namen und die Beschreibung (optional) für den Detektor zusammen mit dem Intervall von 5 Minuten an.

Ihre Daten werden standardmäßig mit einem Schlüssel verschlüsselt, den AWS besitzt und für Sie verwaltet. Sie können auch konfigurieren, ob Sie einen anderen Verschlüsselungsschlüssel als den standardmäßig verwendeten verwenden möchten.

Lassen Sie uns nun diesen Detektor auf die Daten richten, für die er die Anomalieerkennung ausführen soll.

Erstellen Sie einen Datensatz

Ein Datensatz teilt dem Detektor mit, wo er Ihre Daten finden und welche Metriken auf Anomalien analysiert werden sollen. Führen Sie die folgenden Schritte aus, um ein Dataset zu erstellen:

  1. Navigieren Sie in der Amazon Lookout for Metrics-Konsole zu Ihrem Detektor.
  2. Auswählen Fügen Sie einen Datensatz hinzu.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  3. Aussichten für Name und VornameGeben Sie einen Namen ein (z. B. air-quality-dataset).
  4. Aussichten für Datenquelle, wählen Sie Ihre Datenquelle (für diesen Beitrag Amazon S3).
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.
  5. Aussichten für Detektormodus, wählen Sie Ihren Modus (für diesen Beitrag Kontinuierlich).

Mit Amazon S3 können Sie einen Detektor in zwei Modi erstellen:

    • Backtest – Dieser Modus wird verwendet, um Anomalien in historischen Daten zu finden. Es müssen alle Datensätze in einer einzigen Datei konsolidiert werden.
    • Kontinuierlich – Dieser Modus wird verwendet, um Anomalien in Live-Daten zu erkennen. Wir verwenden diesen Modus in unserem Anwendungsfall, weil wir Anomalien erkennen möchten, wenn wir Luftschadstoffdaten vom Luftüberwachungssensor erhalten.
  1. Geben Sie den S3-Pfad für den Live-S3-Ordner und das Pfadmuster ein.
  2. Aussichten für Datenquellenintervall, wählen 5 Minuten Intervalle.Wenn Sie historische Daten haben, aus denen der Detektor Muster lernen kann, können Sie diese während dieser Konfiguration bereitstellen. Es wird erwartet, dass die Daten dasselbe Format haben, das Sie verwenden, um einen Backtest durchzuführen. Die Bereitstellung historischer Daten beschleunigt den Trainingsprozess des ML-Modells. Wenn diese nicht verfügbar sind, wartet der kontinuierliche Detektor darauf, dass genügend Daten verfügbar sind, bevor er Schlussfolgerungen zieht.
  3. Für diesen Beitrag haben wir bereits historische Daten, also wählen Sie aus Verwenden Sie historische Daten.
  4. Geben Sie den S3-Pfad von ein historical_data.json.
  5. Aussichten für Datei FormatWählen JSON-Zeilen.
    Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

An diesem Punkt greift Lookout for Metrics auf die Datenquelle zu und validiert, ob die Daten analysiert werden können. Wenn die Analyse erfolgreich ist, erhalten Sie die Meldung „Validierung erfolgreich“ und gelangen zur nächsten Seite, auf der Sie Kennzahlen, Dimensionen und Zeitstempel konfigurieren.

Konfigurieren Sie Kennzahlen, Dimensionen und Zeitstempel

Maßnahmen Definieren Sie KPIs, für die Sie Anomalien verfolgen möchten. Sie können bis zu fünf Messungen pro Detektor hinzufügen. Die Felder, die zum Erstellen von KPIs aus Ihren Quelldaten verwendet werden, müssen ein numerisches Format haben. Die KPIs können derzeit definiert werden, indem Datensätze innerhalb des Zeitintervalls aggregiert werden, indem SUM oder AVERAGE erstellt werden.

Abmessungen geben Ihnen die Möglichkeit, Ihre Daten zu schneiden und zu würfeln, indem Sie Kategorien oder Segmente definieren. Auf diese Weise können Sie Anomalien für eine Teilmenge des gesamten Datensatzes verfolgen, für die eine bestimmte Kennzahl anwendbar ist.

In unserem Anwendungsfall fügen wir drei Maße hinzu, die den AVG der im 5-Minuten-Intervall gesehenen Objekte berechnen und nur eine Dimension haben, für die die Schadstoffkonzentration gemessen wird.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Jeder Datensatz im Dataset muss einen Zeitstempel haben. Mit der folgenden Konfiguration können Sie das Feld auswählen, das den Zeitstempelwert darstellt, sowie das Format des Zeitstempels.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Auf der nächsten Seite können Sie alle hinzugefügten Details überprüfen und dann den Detektor speichern und aktivieren.

Der Detektor beginnt dann mit dem Lernen des Datenstroms in die Datenquelle. In diesem Stadium ändert sich der Status des Melders auf Initializing.

Es ist wichtig, die Mindestdatenmenge zu beachten, die erforderlich ist, bevor Lookout for Metrics mit der Erkennung von Anomalien beginnen kann. Weitere Informationen zu Anforderungen und Grenzwerten finden Sie unter Achten Sie auf Metrikkontingente.

Mit minimaler Konfiguration haben Sie Ihren Detektor erstellt, ihn auf einen Datensatz ausgerichtet und die Metriken definiert, in denen Lookout for Metrics Anomalien finden soll.

Visualisieren Sie Anomalien

Lookout for Metrics bietet eine umfassende Benutzeroberfläche für Benutzer, die die AWS-Managementkonsole um die erkannten Anomalien zu analysieren. Es bietet auch die Möglichkeit, die Anomalien über APIs abzufragen.

Sehen wir uns eine beispielhafte Anomalie an, die in unserem Anwendungsfall für Luftqualitätsdaten erkannt wurde. Der folgende Screenshot zeigt eine Anomalie, die zum angegebenen Zeitpunkt und Datum in der CO-Konzentration in der Luft mit einem Schweregrad von 93 festgestellt wurde. Sie zeigt auch den prozentualen Beitrag der Dimension zur Anomalie. In diesem Fall stammt der Beitrag von 100 % aus der Dimension Standort-ID B-101.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Benachrichtigungen erstellen

Mit Lookout for Metrics können Sie Benachrichtigungen über eine Vielzahl von Kanälen senden. Sie können den Schwellenwert für den Schweregrad der Anomalie konfigurieren, bei dem die Warnungen ausgelöst werden müssen.

In unserem Anwendungsfall konfigurieren wir Benachrichtigungen so, dass sie an einen . gesendet werden Amazon Simple Notification Service (Amazon SNS) Kanal, der wiederum eine SMS verschickt. Die folgenden Screenshots zeigen die Konfigurationsdetails.

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.

Sie können eine Benachrichtigung auch verwenden, um Automatisierungen auszulösen, indem Sie AWS Lambda Funktionen, um API-gesteuerte Operationen auf AWS IoT Core voranzutreiben.

Zusammenfassung

In diesem Beitrag haben wir Ihnen gezeigt, wie einfach Sie Lookout for Metrics und Kinesis Data Firehose verwenden können, um das undifferenzierte schwere Heben zu beseitigen, das mit der Verwaltung des End-to-End-Lebenszyklus der Erstellung von ML-gestützten Anomalieerkennungsanwendungen verbunden ist. Diese Lösung kann Ihnen dabei helfen, Anomalien in wichtigen Geschäftskennzahlen schneller zu finden und sich auf das Wachstum und die Verbesserung Ihres Unternehmens zu konzentrieren.

Wir empfehlen Ihnen, mehr zu erfahren, indem Sie die Entwicklerhandbuch für Amazon Lookout for Metrics und testen Sie die durch diese Dienste ermöglichte End-to-End-Lösung mit einem Datensatz, der für Ihre Geschäfts-KPIs relevant ist.


Über den Autor

Erstellen Sie mit Amazon Lookout for Metrics PlatoBlockchain Data Intelligence einen Detektor für Luftqualitätsanomalien. Vertikale Suche. Ai.Dhiraj Thakur ist ein Lösungsarchitekt bei Amazon Web Services. Er arbeitet mit AWS-Kunden und -Partnern zusammen, um Anleitungen zur Einführung, Migration und Strategie von Unternehmens-Clouds zu geben. Er liebt Technologie und baut und experimentiert gerne im Bereich Analytics und AI / ML.

Zeitstempel:

Mehr von AWS Maschinelles Lernen