Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout for Metrics

Astăzi, poluarea aerului este o problemă familiară de mediu care creează afecțiuni respiratorii și cardiace severe, care reprezintă amenințări grave pentru sănătate. Ploaia acidă, epuizarea stratului de ozon și încălzirea globală sunt, de asemenea, consecințe negative ale poluării aerului. Este nevoie de monitorizare și automatizare inteligentă pentru a preveni problemele grave de sănătate și, în cazuri extreme, situațiile care pun viața în pericol. Calitatea aerului este măsurată folosind concentrația de poluanți din aer. Identificarea precoce a simptomelor și controlul nivelului poluantului înainte ca acesta să devină periculos este crucială. Procesul de identificare a calității aerului și a anomaliilor în greutatea poluanților și de diagnosticare rapidă a cauzei principale este dificil, costisitor și predispus la erori.

Procesul de aplicare a soluțiilor bazate pe inteligență artificială și învățarea automată (ML) pentru a găsi anomalii de date implică multă complexitate în asimilarea, conservarea și pregătirea datelor în formatul potrivit și apoi optimizarea și menținerea eficacității acestor modele ML pe perioade lungi de timp. timp. Acesta a fost unul dintre barierele în calea implementării și extinderii rapide a adoptării capabilităților ML.

Această postare vă arată cum să utilizați o soluție integrată cu Amazon Lookout pentru metrici și Firehose Amazon Kinesis Data pentru a sparge aceste bariere prin ingerarea rapidă și ușoară a datelor de streaming și, ulterior, detectarea anomaliilor în indicatorii cheie de performanță care vă interesează.

Lookout for Metrics detectează și diagnostichează automat anomaliile (outlieri de la normă) în datele de afaceri și operaționale. Este un serviciu ML gestionat complet care utilizează modele ML specializate pentru a detecta anomalii pe baza caracteristicilor datelor dvs. De exemplu, tendințele și sezonalitatea sunt două caracteristici ale valorilor seriilor de timp în care detectarea anomaliilor bazată pe prag nu funcționează. Tendințele sunt variații continue (creșteri sau scăderi) ale valorii unei valori. Pe de altă parte, sezonalitatea reprezintă tipare periodice care apar într-un sistem, de obicei crescând peste o linie de bază și apoi scăzând din nou. Nu aveți nevoie de experiență ML pentru a utiliza Lookout for Metrics.

Demonstrăm un scenariu comun de monitorizare a calității aerului, în care detectăm anomalii în concentrația de poluanți din aer. Până la sfârșitul acestei postări, veți învăța cum să utilizați aceste servicii gestionate de la AWS pentru a preveni problemele de sănătate și încălzirea globală. Puteți aplica această soluție în alte cazuri de utilizare pentru o mai bună gestionare a mediului, cum ar fi detectarea anomaliilor în calitatea apei, calitatea terenului și modelele de consum de energie, pentru a numi câteva.

Prezentare generală a soluțiilor

Arhitectura constă din trei blocuri funcționale:

  • Senzori wireless plasați în locații strategice pentru a detecta nivelul de concentrație de monoxid de carbon (CO), dioxid de sulf (SO2) și dioxid de azot (NO2) în aer
  • Ingerarea și stocarea datelor în flux
  • Detectarea și notificarea anomaliilor

Soluția oferă o cale de date complet automatizată de la senzori până la o notificare trimisă utilizatorului. De asemenea, puteți interacționa cu soluția utilizând interfața de utilizare Lookout for Metrics pentru a analiza anomaliile identificate.

Următoarea diagramă ilustrează arhitectura soluției noastre.

Cerințe preliminare

Aveți nevoie de următoarele condiții preliminare înainte de a putea continua cu soluția. Pentru această postare, folosim Regiunea us-east-1.

  1. Descărcați scriptul Python (publica.py) și fișierul de date din GitHub repo.
  2. Deschideți live_data.csv fișier în editorul preferat și înlocuiți datele pentru a fi data de azi și de mâine. De exemplu, dacă data de astăzi este 8 iulie 2022, atunci înlocuiți 2022-03-25 cu 2022-07-08. Păstrați același format. Acest lucru este necesar pentru a simula datele senzorului pentru data curentă utilizând scriptul simulatorului IoT.
  3. Creați o Serviciul Amazon de stocare simplă (Amazon S3) și un folder numit air-quality. Creați un subdosar în interior air-quality numit historical. Pentru instrucțiuni, consultați Crearea unui folder.
  4. Încărcați live_data.csv fișier în găleată rădăcină S3 și historical_data.json în dosarul istoric.
  5. Creați o AWS Cloud9 mediu de dezvoltare, pe care îl folosim pentru a rula programul de simulare Python pentru a crea date senzorilor pentru această soluție.

Ingerați și transformați date folosind AWS IoT Core și Kinesis Data Firehose

Folosim un flux de livrare Kinesis Data Firehose pentru a ingera datele din streaming AWS IoT Core și livrați-l pe Amazon S3. Parcurgeți următorii pași:

  1. Pe consola Kinesis Data Firehose, alegeți Creați un flux de livrare.
  2. Pentru Sursă, alege PUNERE Direct.
  3. Pentru Destinaţie, alege Amazon S3.
  4. Pentru Numele fluxului de livrare, introduceți un nume pentru fluxul dvs. de livrare.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  5. Pentru Găleată S3, introduceți compartimentul pe care l-ați creat ca o condiție prealabilă.
  6. Introduceți valori pentru Prefixul găleții S3 și Prefix de ieșire pentru eroare găleată S3.Unul dintre punctele cheie de reținut este configurarea prefixului personalizat care este configurat pentru destinația Amazon S3. Acest model de prefix se asigură că datele sunt create în compartimentul S3 conform ierarhiei de prefix așteptate de Lookout for Metrics. (Mai multe despre acest lucru mai târziu în această postare.) Pentru mai multe informații despre prefixele personalizate, consultați Prefixe personalizate pentru obiectele Amazon S3.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  7. Pentru Interval tampon, introduce 60.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  8. Alege Creați sau actualizați rolul IAM.
  9. Alege Creați un flux de livrare.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
    Acum configuram AWS IoT Core și rulăm programul de simulare a calității aerului.
  10. Pe consola AWS IoT Core, creați o politică AWS IoT numit admin.
  11. În panoul de navigare de sub Dirijarea mesajelor, alege Reguli.
  12. Alege Creați o regulă.
  13. Creați o regulă cu Kinesis Data Firehose (furtun de incendiu)..
    Aceasta trimite date de la un mesaj MQTT la un flux de livrare Kinesis Data Firehose.
  14. Alege Crea.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  15. Creați un lucru AWS IoT cu nume Test-Thing și atașați politica pe care ați creat-o.
  16. Descărcați certificatul, cheia publică, cheia privată, certificatul dispozitivului și CA rădăcină pentru AWS IoT Core.
  17. Salvați fiecare dintre fișierele descărcate în certificates subdirectorul pe care l-ați creat mai devreme.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  18. Încărcați publish.py în iot-test-publish dosar.
  19. Pe consola AWS IoT Core, în panoul de navigare, alegeți setări cont.
  20. În Punct final personalizat, copiați punctul final.
    Această adresă URL personalizată a punctului final AWS IoT Core este personală pentru contul și regiunea dvs. AWS.
  21. Înlocui customEndpointUrl cu adresa URL a punctului final personalizat AWS IoT Core, certificate cu numele certificatului și Your_S3_Bucket_Name cu numele găleții dvs. S3.
    Apoi, instalați pip și AWS IoT SDK pentru Python.
  22. Conectați-vă la AWS Cloud9 și creați un director de lucru în mediul dvs. de dezvoltare. De exemplu: aq-iot-publish.
  23. Creați un subdirector pentru certificate în noul director de lucru. De exemplu: certificates.
  24. Instalați SDK-ul AWS IoT pentru Python v2 rulând următoarele din linia de comandă.
    pip install awsiotsdk

  25. Pentru a testa conducta de date, executați următoarea comandă:
    python3 publish.py

Puteți vedea sarcina utilă în următoarea captură de ecran.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În cele din urmă, datele sunt livrate în compartimentul S3 specificat în structura prefixului.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Datele fișierelor sunt următoarele:

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

Marcajele temporale arată că fiecare fișier conține date pentru intervale de 5 minute.

Cu un cod minim, acum am ingerat datele senzorului, am creat un flux de intrare din datele ingerate și am stocat datele într-un compartiment S3 pe baza cerințelor pentru Lookout for Metrics.

În secțiunile următoare, aruncăm o privire mai profundă asupra constructelor din Lookout for Metrics și cât de ușor este să configurați aceste concepte folosind consola Lookout for Metrics.

Creați un detector

Un detector este o resursă Lookout for Metrics care monitorizează un set de date și identifică anomalii la o frecvență predefinită. Detectoarele folosesc ML pentru a găsi modele în date și pentru a distinge între variațiile așteptate ale datelor și anomaliile legitime. Pentru a-și îmbunătăți performanța, un detector învață mai multe despre datele dvs. în timp.

În cazul nostru de utilizare, detectorul analizează datele de la senzor la fiecare 5 minute.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pentru a crea detectorul, navigați la consola Lookout for Metrics și alegeți Creați detector. Furnizați numele și descrierea (opțional) pentru detector, împreună cu intervalul de 5 minute.

Datele dvs. sunt criptate implicit cu o cheie pe care AWS o deține și o gestionează pentru dvs. De asemenea, puteți configura dacă doriți să utilizați o cheie de criptare diferită de cea care este utilizată implicit.

Acum să îndreptăm acest detector către datele pe care doriți să ruleze detectarea anomaliilor.

Creați un set de date

Un set de date îi spune detectorului unde să găsească datele dvs. și ce valori să analizeze pentru anomalii. Pentru a crea un set de date, parcurgeți următorii pași:

  1. Pe consola Amazon Lookout for Metrics, navigați la detectorul dvs.
  2. Alege Adăugați un set de date.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  3. Pentru Nume si Prenume, introduceți un nume (de exemplu, air-quality-dataset).
  4. Pentru Sursă de date, alege-ți sursa de date (pentru această postare, Amazon S3).
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  5. Pentru Mod detector, selectați modul dvs. (pentru această postare, Continuu).

Cu Amazon S3, puteți crea un detector în două moduri:

    • Backtest – Acest mod este folosit pentru a găsi anomalii în datele istorice. Are nevoie ca toate înregistrările să fie consolidate într-un singur fișier.
    • Continuu – Acest mod este utilizat pentru a detecta anomalii în datele live. Folosim acest mod cu cazul nostru de utilizare deoarece dorim să detectăm anomalii pe măsură ce primim date despre poluanții atmosferici de la senzorul de monitorizare a aerului.
  1. Introduceți calea S3 pentru folderul S3 live și modelul de cale.
  2. Pentru Intervalul sursei de date, alege intervale de 5 minute.Dacă aveți date istorice din care detectorul poate învăța modele, le puteți furniza în timpul acestei configurații. Se așteaptă ca datele să fie în același format pe care îl utilizați pentru a efectua un backtest. Furnizarea datelor istorice accelerează procesul de formare a modelului ML. Dacă acest lucru nu este disponibil, detectorul continuu așteaptă ca date suficiente să fie disponibile înainte de a face inferențe.
  3. Pentru această postare, avem deja date istorice, așa că selectați Folosiți date istorice.
  4. Introduceți calea S3 a historical_data.json.
  5. Pentru formatul de fișier, Selectați linii JSON.
    Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În acest moment, Lookout for Metrics accesează sursa de date și validează dacă poate analiza datele. Dacă analiza are succes, vă va afișa un mesaj „Validare reușită” și vă duce la pagina următoare, unde configurați măsurile, dimensiunile și marcajele de timp.

Configurați măsurile, dimensiunile și marcajele de timp

măsuri definiți KPI pentru care doriți să urmăriți anomaliile. Puteți adăuga până la cinci măsuri pentru fiecare detector. Câmpurile care sunt utilizate pentru a crea KPI din datele dumneavoastră sursă trebuie să fie în format numeric. KPI-urile pot fi definite în prezent prin agregarea înregistrărilor în intervalul de timp, făcând o SUMA sau MEDIE.

Dimensiuni vă oferă posibilitatea de a tăia și tăia datele prin definirea de categorii sau segmente. Acest lucru vă permite să urmăriți anomaliile pentru un subset al întregului set de date pentru care se aplică o anumită măsură.

În cazul nostru de utilizare, adăugăm trei măsuri, care calculează AVG-ul obiectelor văzute în intervalul de 5 minute și au o singură dimensiune, pentru care se măsoară concentrația de poluanți.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Fiecare înregistrare din setul de date trebuie să aibă un marcaj de timp. Următoarea configurație vă permite să alegeți câmpul care reprezintă valoarea marcajului de timp și, de asemenea, formatul mărcii de timp.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pagina următoare vă permite să revizuiți toate detaliile adăugate și apoi să salvați și să activați detectorul.

Detectorul începe apoi să învețe fluxul de date în sursa de date. În această etapă, starea detectorului se schimbă în Initializing.

Este important să rețineți cantitatea minimă de date necesară înainte ca Lookout for Metrics să poată începe să detecteze anomalii. Pentru mai multe informații despre cerințe și limite, consultați Căutați cote pentru valori.

Cu o configurație minimă, ați creat detectorul, l-ați îndreptat către un set de date și ați definit valorile în care doriți ca Lookout for Metrics să găsească anomalii.

Vizualizați anomaliile

Lookout for Metrics oferă o experiență bogată de IU pentru utilizatorii care doresc să utilizeze Consola de administrare AWS pentru a analiza anomaliile depistate. De asemenea, oferă capacitatea de a interoga anomaliile prin intermediul API-urilor.

Să ne uităm la un exemplu de anomalie detectată din cazul nostru de utilizare a datelor privind calitatea aerului. Următoarea captură de ecran arată o anomalie detectată în concentrația de CO în aer la ora și data desemnate, cu un scor de severitate de 93. De asemenea, arată contribuția procentuală a dimensiunii la anomalie. În acest caz, contribuția de 100% provine din dimensiunea ID locație B-101.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Creați alerte

Lookout for Metrics vă permite să trimiteți alerte folosind o varietate de canale. Puteți configura pragul scorului de severitate a anomaliilor la care trebuie declanșate alertele.

În cazul nostru de utilizare, configurăm alertele pentru a fi trimise către un Serviciul de notificare simplă Amazon canal (Amazon SNS), care la rândul său trimite un SMS. Următoarele capturi de ecran arată detaliile de configurare.

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

De asemenea, puteți utiliza o alertă pentru a declanșa automatizări folosind AWS Lambdas funcții pentru a conduce operațiuni bazate pe API pe AWS IoT Core.

Concluzie

În această postare, v-am arătat cât de ușor de utilizat Lookout for Metrics și Kinesis Data Firehose pentru a elimina greutățile nediferențiate implicate în gestionarea ciclului de viață de la capăt la capăt al construirii aplicațiilor de detectare a anomaliilor bazate pe ML. Această soluție vă poate ajuta să vă accelerați capacitatea de a găsi anomalii în valorile cheie ale afacerii și vă permite să vă concentrați eforturile pe creșterea și îmbunătățirea afacerii dvs.

Vă încurajăm să aflați mai multe vizitând Ghidul pentru dezvoltatori Amazon Lookout for Metrics și încercați soluția end-to-end activată de aceste servicii cu un set de date relevant pentru KPI-urile dvs. de afaceri.


Despre autor

Construiți un detector de anomalii de calitate a aerului folosind Amazon Lookout pentru Metrics PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dhiraj Thakur este arhitect de soluții cu Amazon Web Services. El lucrează cu clienții și partenerii AWS pentru a oferi îndrumări cu privire la adoptarea cloud, migrarea și strategia întreprinderii. Este pasionat de tehnologie și îi place să construiască și să experimenteze în spațiul de analiză și AI/ML.

Timestamp-ul:

Mai mult de la Învățare automată AWS