Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics

I dag er luftforurening et velkendt miljøproblem, der skaber alvorlige åndedræts- og hjertesygdomme, som udgør alvorlige helbredstrusler. Sur regn, nedbrydning af ozonlaget og global opvarmning er også negative konsekvenser af luftforurening. Der er behov for intelligent overvågning og automatisering for at forhindre alvorlige helbredsproblemer og i ekstreme tilfælde livstruende situationer. Luftkvaliteten måles ved hjælp af koncentrationen af ​​forurenende stoffer i luften. Det er afgørende at identificere symptomer tidligt og kontrollere forureningsniveauet, før det er farligt. Processen med at identificere luftkvaliteten og anomalien i vægten af ​​forurenende stoffer og hurtigt diagnosticere den grundlæggende årsag er vanskelig, dyr og fejltilbøjelig.

Processen med at anvende AI og machine learning (ML)-baserede løsninger til at finde dataanomalier involverer en masse kompleksitet i at indtage, kurere og forberede data i det rigtige format og derefter optimere og vedligeholde effektiviteten af ​​disse ML-modeller over lange perioder af tid. Dette har været en af ​​barriererne for hurtigt at implementere og skalere overtagelsen af ​​ML-kapaciteter.

Dette indlæg viser dig, hvordan du bruger en integreret løsning med Amazon Lookout for Metrics , Amazon Kinesis Data Firehose at bryde disse barrierer ved hurtigt og nemt at indtage streamingdata og efterfølgende opdage uregelmæssigheder i de vigtigste præstationsindikatorer for din interesse.

Lookout for Metrics detekterer og diagnosticerer automatisk anomalier (outliers fra normen) i forretnings- og driftsdata. Det er en fuldt administreret ML-tjeneste, der bruger specialiserede ML-modeller til at opdage uregelmæssigheder baseret på dine datas karakteristika. For eksempel er trends og sæsonbestemt to karakteristika ved tidsseriemetrikker, hvor tærskelbaseret anomalidetektion ikke virker. Tendenser er kontinuerlige variationer (stigninger eller fald) i en metrics værdi. På den anden side er sæsonbestemt periodiske mønstre, der forekommer i et system, som normalt stiger over en basislinje og derefter falder igen. Du behøver ikke ML-erfaring for at bruge Lookout for Metrics.

Vi demonstrerer et almindeligt overvågningsscenario for luftkvalitet, hvor vi opdager uregelmæssigheder i koncentrationen af ​​forurenende stoffer i luften. Ved slutningen af ​​dette indlæg vil du lære, hvordan du bruger disse administrerede tjenester fra AWS til at hjælpe med at forhindre sundhedsproblemer og global opvarmning. Du kan anvende denne løsning til andre brugssager til bedre miljøstyring, såsom opdagelse af uregelmæssigheder i vandkvalitet, jordkvalitet og strømforbrugsmønstre, for at nævne nogle få.

Løsningsoversigt

Arkitekturen består af tre funktionelle blokke:

  • Trådløse sensorer placeret på strategiske steder for at registrere koncentrationsniveauet af kulilte (CO), svovldioxid (SO2) og nitrogendioxid (NO2) i luften
  • Streaming af dataindtagelse og lagring
  • Anomali detektion og meddelelse

Løsningen giver en fuldautomatisk datavej fra sensorerne hele vejen til en notifikation, der sendes til brugeren. Du kan også interagere med løsningen ved hjælp af Lookout for Metrics UI for at analysere de identificerede anomalier.

Følgende diagram illustrerer vores løsningsarkitektur.

Forudsætninger

Du har brug for følgende forudsætninger, før du kan fortsætte med løsningen. Til dette indlæg bruger vi us-east-1-regionen.

  1. Download Python-scriptet (publish.py) og datafil fra GitHub repo.
  2. Åbne live_data.csv fil i din foretrukne editor og udskift datoerne til at være dagens og morgendagens dato. For eksempel, hvis dagens dato er den 8. juli 2022, skal du erstatte 2022-03-25 med 2022-07-08. Hold formatet det samme. Dette er nødvendigt for at simulere sensordata for den aktuelle dato ved hjælp af IoT-simulatorscriptet.
  3. Opret en Amazon Simple Storage Service (Amazon S3) spand og en mappe med navnet air-quality. Opret en undermappe indeni air-quality som hedder historical. For instruktioner, se Oprettelse af en mappe.
  4. Upload live_data.csv fil i rod S3-bøtten og historical_data.json i den historiske mappe.
  5. Opret en AWS Cloud9 udviklingsmiljø, som vi bruger til at køre Python-simulatorprogrammet til at skabe sensordata til denne løsning.

Indtag og transformer data ved hjælp af AWS IoT Core og Kinesis Data Firehose

Vi bruger en Kinesis Data Firehose-leveringsstrøm til at indtage streamingdataene fra AWS IoT Core og lever det til Amazon S3. Udfør følgende trin:

  1. På Kinesis Data Firehose-konsollen skal du vælge Opret leveringsstrøm.
  2. Til Kilde, vælg Direkte PUT.
  3. Til Bestemmelsessted, vælg Amazon S3.
  4. Til Navn på leveringsstrøm, skal du indtaste et navn til din leveringsstrøm.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  5. Til S3 spand, skal du indtaste den bøtte, du har oprettet, som en forudsætning.
  6. Indtast værdier for S3 skovl præfiks , S3 bucket error output præfiks.Et af de vigtigste punkter at bemærke er konfigurationen af ​​det brugerdefinerede præfiks, der er konfigureret til Amazon S3-destinationen. Dette præfiksmønster sikrer, at dataene oprettes i S3-bøtten i henhold til præfikshierarkiet, der forventes af Lookout for Metrics. (Mere om dette senere i dette indlæg.) For mere information om brugerdefinerede præfikser, se Brugerdefinerede præfikser til Amazon S3-objekter.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  7. Til Buffer interval, gå ind 60.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  8. Vælg Opret eller opdater IAM-rolle.
  9. Vælg Opret leveringsstrøm.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    Nu konfigurerer vi AWS IoT Core og kører luftkvalitetssimulatorprogrammet.
  10. På AWS IoT Core-konsollen, oprette en AWS IoT-politik kaldet admin.
  11. I navigationsruden under Meddelelsesruting, vælg Regler.
  12. Vælg Opret regel.
  13. Opret en regel med Kinesis Data Brandslange (brandslange) handling.
    Dette sender data fra en MQTT-meddelelse til en Kinesis Data Firehose-leveringsstrøm.
  14. Vælg Opret.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  15. Opret en AWS IoT-ting med navn Test-Thing og vedhæft den politik, du har oprettet.
  16. Download certifikatet, den offentlige nøgle, den private nøgle, enhedscertifikatet og rod-CA til AWS IoT Core.
  17. Gem hver af de downloadede filer til certificates undermappe, som du oprettede tidligere.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  18. Upload publish.py til iot-test-publish mappe.
  19. På AWS IoT Core-konsollen skal du i navigationsruden vælge Indstillinger.
  20. Under Tilpasset slutpunkt, kopier endepunktet.
    Denne AWS IoT Core tilpassede slutpunkts-URL er personlig for din AWS-konto og region.
  21. udskifte customEndpointUrl med din AWS IoT Core brugerdefinerede slutpunkt-URL, certifikater med navnet på certifikatet og Your_S3_Bucket_Name med dit S3-spandnavn.
    Dernæst installerer du pip og AWS IoT SDK til Python.
  22. Log ind på AWS Cloud9 og opret en arbejdsmappe i dit udviklingsmiljø. For eksempel: aq-iot-publish.
  23. Opret en undermappe til certifikater i din nye arbejdsmappe. For eksempel: certificates.
  24. Installer AWS IoT SDK til Python v2 ved at køre følgende fra kommandolinjen.
    pip install awsiotsdk

  25. For at teste datapipelinen skal du køre følgende kommando:
    python3 publish.py

Du kan se nyttelasten på det følgende skærmbillede.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Til sidst leveres dataene til den specificerede S3-bucket i præfiksstrukturen.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Dataene i filerne er som følger:

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

Tidsstemplerne viser, at hver fil indeholder data i 5-minutters intervaller.

Med minimal kode har vi nu indtaget sensordataene, oprettet en inputstrøm fra de indlæste data og gemt dataene i en S3 bucket baseret på kravene til Lookout for Metrics.

I de følgende afsnit tager vi et dybere kig på konstruktionerne i Lookout for Metrics, og hvor nemt det er at konfigurere disse koncepter ved hjælp af Lookout for Metrics-konsollen.

Lav en detektor

En detektor er en Lookout for Metrics-ressource, der overvåger et datasæt og identificerer uregelmæssigheder ved en foruddefineret frekvens. Detektorer bruger ML til at finde mønstre i data og skelne mellem forventede variationer i data og legitime anomalier. For at forbedre ydeevnen lærer en detektor mere om dine data over tid.

I vores anvendelsestilfælde analyserer detektoren data fra sensoren hvert 5. minut.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

For at oprette detektoren skal du navigere til Lookout for Metrics-konsollen og vælge Opret detektor. Angiv navn og beskrivelse (valgfrit) for detektoren sammen med intervallet på 5 minutter.

Dine data er som standard krypteret med en nøgle, som AWS ejer og administrerer for dig. Du kan også konfigurere, om du vil bruge en anden krypteringsnøgle end den, der bruges som standard.

Lad os nu pege denne detektor til de data, som du vil have den til at køre anomalidetektion på.

Opret et datasæt

Et datasæt fortæller detektoren, hvor den skal finde dine data, og hvilke metrics, der skal analyseres for uregelmæssigheder. For at oprette et datasæt skal du udføre følgende trin:

  1. På Amazon Lookout for Metrics-konsollen skal du navigere til din detektor.
  2. Vælg Tilføj et datasæt.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  3. Til Navn, indtast et navn (f.eks. air-quality-dataset).
  4. Til Datakilde, vælg din datakilde (til dette indlæg, Amazon S3).
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  5. Til Detektortilstand, vælg din tilstand (for dette indlæg, Kontinuerlig).

Med Amazon S3 kan du oprette en detektor i to tilstande:

    • Backtest – Denne tilstand bruges til at finde anomalier i historiske data. Det kræver, at alle poster samles i en enkelt fil.
    • Kontinuerlig – Denne tilstand bruges til at opdage uregelmæssigheder i live-data. Vi bruger denne tilstand med vores use case, fordi vi ønsker at opdage uregelmæssigheder, når vi modtager luftforurenende data fra luftovervågningssensoren.
  1. Indtast S3-stien til den levende S3-mappe og stimønsteret.
  2. Til Datakilde interval, vælg 5 minutters intervaller.Hvis du har historiske data, hvorfra detektoren kan lære mønstre, kan du give dem under denne konfiguration. Dataene forventes at være i det samme format, som du bruger til at udføre en backtest. Levering af historiske data fremskynder ML-modeltræningsprocessen. Hvis dette ikke er tilgængeligt, venter den kontinuerlige detektor på, at tilstrækkelige data er tilgængelige, før den drager konklusioner.
  3. Til dette indlæg har vi allerede historiske data, så vælg Brug historiske data.
  4. Indtast S3-stien til historical_data.json.
  5. Til filformat, Vælg JSON-linjer.
    Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

På dette tidspunkt får Lookout for Metrics adgang til datakilden og validerer, om den kan parse dataene. Hvis parsingen lykkes, giver den dig en "Validation vellykket"-meddelelse og fører dig til næste side, hvor du konfigurerer mål, dimensioner og tidsstempler.

Konfigurer mål, dimensioner og tidsstempler

Foranstaltninger definere KPI'er, som du vil spore uregelmæssigheder for. Du kan tilføje op til fem mål pr. detektor. De felter, der bruges til at oprette KPI'er ud fra dine kildedata, skal være af numerisk format. KPI'erne kan i øjeblikket defineres ved at aggregere poster inden for tidsintervallet ved at lave en SUM eller AVERAGE.

Mål giver dig mulighed for at opdele dine data ved at definere kategorier eller segmenter. Dette giver dig mulighed for at spore uregelmæssigheder for en delmængde af hele det datasæt, som et bestemt mål er relevant for.

I vores use case tilføjer vi tre mål, som beregner AVG for de objekter, der ses i 5-minutters intervallet, og har kun én dimension, for hvilken forureningskoncentrationen måles.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Hver post i datasættet skal have et tidsstempel. Følgende konfiguration giver dig mulighed for at vælge det felt, der repræsenterer tidsstemplets værdi og også formatet af tidsstemplet.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Den næste side giver dig mulighed for at gennemgå alle de detaljer, du tilføjede, og derefter gemme og aktivere detektoren.

Detektoren begynder derefter at lære de data, der strømmer ind i datakilden. På dette stadium ændres detektorens status til Initializing.

Det er vigtigt at bemærke den mindste mængde data, der kræves, før Lookout for Metrics kan begynde at opdage uregelmæssigheder. For mere information om krav og grænser, se Hold øje med Metric-kvoter.

Med minimal konfiguration har du oprettet din detektor, rettet den mod et datasæt og defineret de metrics, som du vil have Lookout for Metrics til at finde anomalier i.

Visualiser anomalier

Lookout for Metrics giver en rig UI-oplevelse for brugere, der ønsker at bruge AWS Management Console at analysere de anomalier, der opdages. Det giver også mulighed for at forespørge om uregelmæssighederne via API'er.

Lad os se på et eksempel på uregelmæssigheder, der er opdaget fra vores brugscase for luftkvalitetsdata. Følgende skærmbillede viser en anomali detekteret i CO-koncentrationen i luften på det angivne tidspunkt og dato med en alvorlighedsscore på 93. Det viser også det procentvise bidrag fra dimensionen til anomalien. I dette tilfælde kommer 100 % bidrag fra placerings-id B-101-dimensionen.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Opret alarmer

Lookout for Metrics giver dig mulighed for at sende advarsler ved hjælp af en række forskellige kanaler. Du kan konfigurere tærskelværdien for uregelmæssighed, hvor advarslerne skal udløses.

I vores brugstilfælde konfigurerer vi advarsler til at blive sendt til en Amazon Simple Notification Service (Amazon SNS) kanal, som igen sender en SMS. Følgende skærmbilleder viser konfigurationsdetaljerne.

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan også bruge en advarsel til at udløse automatiseringer ved hjælp af AWS Lambda funktioner for at drive API-drevne operationer på AWS IoT Core.

Konklusion

I dette indlæg viste vi dig, hvor let det er at bruge Lookout for Metrics og Kinesis Data Firehose til at fjerne de udifferentierede tunge løft, der er involveret i styringen af ​​ende-til-ende-livscyklussen for at bygge ML-drevne anomalidetektionsapplikationer. Denne løsning kan hjælpe dig med at fremskynde din evne til at finde uregelmæssigheder i vigtige forretningsmålinger og give dig mulighed for at fokusere din indsats på at vokse og forbedre din virksomhed.

Vi opfordrer dig til at lære mere ved at besøge Amazon Lookout for Metrics Developer Guide og prøv end-to-end-løsningen, der er muliggjort af disse tjenester, med et datasæt, der er relevant for din virksomheds KPI'er.


Om forfatteren

Byg en luftkvalitetsanomalidetektor ved hjælp af Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Dhiraj Thakur er en løsningsarkitekt med Amazon Web Services. Han arbejder sammen med AWS-kunder og -partnere for at give vejledning om cloud-adoption, migrering og strategi. Han brænder for teknologi og nyder at bygge og eksperimentere i analytics og AI/ML-rummet.

Tidsstempel:

Mere fra AWS maskinindlæring