Danes je onesnaženost zraka znana okoljska težava, ki povzroča resne bolezni dihal in srca, ki resno ogrožajo zdravje. Kisli dež, tanjšanje ozonske plasti in globalno segrevanje so prav tako škodljive posledice onesnaženega zraka. Obstaja potreba po inteligentnem nadzoru in avtomatizaciji, da bi preprečili resne zdravstvene težave in v skrajnih primerih življenjsko nevarne situacije. Kakovost zraka se meri s koncentracijo onesnaževal v zraku. Ključnega pomena je zgodnje prepoznavanje simptomov in nadzorovanje ravni onesnaževal, preden postane nevarno. Postopek ugotavljanja kakovosti zraka in anomalije v teži onesnaževal ter hitrega diagnosticiranja temeljnega vzroka je težaven, drag in nagnjen k napakam.
Postopek uporabe rešitev, ki temeljijo na umetni inteligenci in strojnem učenju (ML), za iskanje anomalij v podatkih vključuje veliko zapletenosti pri zaužitju, kuriranju in pripravi podatkov v pravi obliki ter nato optimiziranju in ohranjanju učinkovitosti teh modelov ML v dolgih obdobjih. čas. To je bila ena od ovir pri hitrem izvajanju in povečanju sprejemanja zmogljivosti ML.
Ta objava prikazuje, kako uporabljati integrirano rešitev z Amazon Lookout za meritve in Amazon Kinesis Data Firehose da premagate te ovire s hitrim in enostavnim vnosom pretočnih podatkov in posledično odkrivanjem nepravilnosti v ključnih kazalnikih uspešnosti, ki vas zanimajo.
Lookout for Metrics samodejno zazna in diagnosticira anomalije (odstopanja od norme) v poslovnih in operativnih podatkih. To je popolnoma upravljana storitev ML, ki uporablja specializirane modele ML za odkrivanje anomalij na podlagi značilnosti vaših podatkov. Na primer, trendi in sezonskost sta dve značilnosti meritev časovnih vrst, pri katerih zaznavanje anomalij na podlagi praga ne deluje. Trendi so nenehne spremembe (povečanje ali zmanjšanje) vrednosti metrike. Po drugi strani pa so sezonskost periodični vzorci, ki se pojavljajo v sistemu, običajno se dvignejo nad izhodiščno vrednost in nato spet zmanjšajo. Za uporabo Lookout for Metrics ne potrebujete izkušenj z ML.
Predstavimo običajni scenarij spremljanja kakovosti zraka, v katerem zaznamo anomalije v koncentraciji onesnaževal v zraku. Ob koncu te objave se boste naučili uporabljati te upravljane storitve AWS za pomoč pri preprečevanju zdravstvenih težav in globalnega segrevanja. To rešitev lahko uporabite za druge primere uporabe za boljše upravljanje okolja, kot je odkrivanje nepravilnosti v kakovosti vode, kakovosti zemlje in vzorcih porabe energije, če naštejemo le nekatere.
Pregled rešitev
Arhitekturo sestavljajo trije funkcionalni bloki:
- Brezžični senzorji, nameščeni na strateških lokacijah za zaznavanje ravni koncentracije ogljikovega monoksida (CO), žveplovega dioksida (SO2) in dušikovega dioksida (NO2) v zraku
- Vnos in shranjevanje pretočnih podatkov
- Odkrivanje in obveščanje o nepravilnostih
Rešitev zagotavlja popolnoma avtomatizirano podatkovno pot od senzorjev do obvestila, ki se pošlje uporabniku. Z rešitvijo lahko komunicirate tudi z uporabniškim vmesnikom Lookout for Metrics, da analizirate ugotovljene anomalije.
Naslednji diagram ponazarja našo arhitekturo rešitev.
Predpogoji
Preden lahko nadaljujete z rešitvijo, potrebujete naslednje predpogoje. Za to objavo uporabljamo regijo us-east-1.
- Prenesite skript Python (objavi.py) in podatkovno datoteko iz GitHub repo.
- odprite
live_data.csv
datoteko v želenem urejevalniku in zamenjajte datume za današnji in jutrišnji datum. Na primer, če je današnji datum 8. julij 2022, zamenjajte2022-03-25
z2022-07-08
. Format naj bo enak. To je potrebno za simulacijo podatkov senzorja za trenutni datum s pomočjo skripta simulatorja IoT. - Ustvari Preprosta storitev shranjevanja Amazon (Amazon S3) vedro in mapo z imenom
air-quality
. Znotraj ustvarite podmapoair-quality
imenovanhistorical
. Za navodila glej Ustvarjanje mape. - Naložite
live_data.csv
datoteko v korenskem vedru S3 inhistorical_data.json
v zgodovinski mapi. - Ustvari AWS Cloud9 razvojno okolje, ki ga uporabljamo za izvajanje simulatorskega programa Python za ustvarjanje senzorskih podatkov za to rešitev.
Zaužijte in preoblikujte podatke z uporabo AWS IoT Core in Kinesis Data Firehose
Uporabljamo tok dostave Kinesis Data Firehose za vnos pretočnih podatkov iz AWS IoT jedro in ga dostavite Amazonu S3. Izvedite naslednje korake:
- Na konzoli Kinesis Data Firehose izberite Ustvari tok dostave.
- za vir, izberite Neposredni PUT.
- za destinacija, izberite Amazon S3.
- za Ime toka dostave, vnesite ime za vaš tok dostave.
- za Vedro S3, vnesite vedro, ki ste ga ustvarili kot predpogoj.
- Vnesite vrednosti za Predpona vedra S3 in Izhodna predpona napake vedra S3Ena od ključnih točk, ki jih je treba upoštevati, je konfiguracija predpone po meri, ki je konfigurirana za cilj Amazon S3. Ta vzorec predpone zagotavlja, da so podatki ustvarjeni v vedru S3 v skladu s hierarhijo predpon, ki jo pričakuje Lookout for Metrics. (Več o tem kasneje v tej objavi.) Za več informacij o predponah po meri glejte Predpone po meri za predmete Amazon S3.
- za Medpomnilniški interval, vnesite
60
. - Izberite Ustvarite ali posodobite vlogo IAM.
- Izberite Ustvari tok dostave.
Zdaj konfiguriramo AWS IoT Core in zaženemo program simulatorja kakovosti zraka. - Na konzoli AWS IoT Core, ustvarite pravilnik AWS IoT imenovan admin.
- V navigacijskem podoknu pod Usmerjanje sporočil, izberite Pravila.
- Izberite Ustvari pravilo.
- Ustvarite pravilo z Akcija Kinesis Data Firehose (gasilska cev)..
To pošlje podatke iz sporočila MQTT v tok dostave Kinesis Data Firehose. - Izberite ustvarjanje.
- Ustvarite stvar AWS IoT z imenom
Test-Thing
in priložite pravilnik, ki ste ga ustvarili. - Prenesite potrdilo, javni ključ, zasebni ključ, potrdilo naprave in korenski CA za AWS IoT Core.
- Vsako preneseno datoteko shranite v
certificates
podimenik, ki ste ga ustvarili prej. - Naložite publish.py v
iot-test-publish
mapa. - Na konzoli AWS IoT Core v podoknu za krmarjenje izberite Nastavitve.
- Pod Končna točka po meri, kopirajte končno točko.
Ta URL končne točke po meri AWS IoT Core je oseben za vaš račun AWS in regijo. - Zamenjaj
customEndpointUrl
z vašim URL-jem končne točke po meri AWS IoT Core, potrdili z imenom potrdila inYour_S3_Bucket_Name
z imenom vedra S3.
Nato namestite pip in AWS IoT SDK za Python. - Prijavite se v AWS Cloud9 in ustvarite delovni imenik v svojem razvojnem okolju. Na primer:
aq-iot-publish
. - V novem delovnem imeniku ustvarite podimenik za potrdila. Na primer:
certificates
. - Namestite AWS IoT SDK za Python v2 tako, da v ukazni vrstici zaženete naslednje.
- Če želite preizkusiti podatkovni cevovod, zaženite naslednji ukaz:
Tovor lahko vidite na naslednjem posnetku zaslona.
Končno so podatki dostavljeni v določeno vedro S3 v strukturi predpone.
Podatki datotek so naslednji:
{"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}
Časovni žigi kažejo, da vsaka datoteka vsebuje podatke za 5-minutne intervale.
Z minimalno kodo smo zdaj zaužili podatke senzorja, ustvarili vhodni tok iz zaužitih podatkov in shranili podatke v vedro S3 na podlagi zahtev za Lookout for Metrics.
V naslednjih razdelkih si podrobneje ogledamo konstrukcije znotraj Lookout for Metrics in kako enostavno je konfigurirati te koncepte s konzolo Lookout for Metrics.
Ustvarite detektor
Detektor je vir Lookout for Metrics, ki spremlja nabor podatkov in identificira anomalije pri vnaprej določeni pogostosti. Detektorji uporabljajo ML za iskanje vzorcev v podatkih in razlikovanje med pričakovanimi variacijami podatkov in legitimnimi anomalijami. Za izboljšanje delovanja detektor sčasoma izve več o vaših podatkih.
V našem primeru uporabe detektor analizira podatke s senzorja vsakih 5 minut.
Če želite ustvariti detektor, se pomaknite do konzole Lookout for Metrics in izberite Ustvari detektor. Navedite ime in opis (neobvezno) za detektor, skupaj z intervalom 5 minut.
Vaši podatki so privzeto šifrirani s ključem, ki ga ima AWS in ga upravlja namesto vas. Konfigurirate lahko tudi, če želite uporabiti drug šifrirni ključ od tistega, ki se uporablja privzeto.
Zdaj pa usmerimo ta detektor na podatke, za katere želite, da zažene zaznavanje nepravilnosti.
Ustvarite nabor podatkov
Nabor podatkov pove detektorju, kje naj najde vaše podatke in katere meritve naj analizira za nepravilnosti. Če želite ustvariti nabor podatkov, izvedite naslednje korake:
- Na konzoli Amazon Lookout for Metrics se pomaknite do svojega detektorja.
- Izberite Dodajte nabor podatkov.
- za Ime, vnesite ime (npr.
air-quality-dataset
). - za Vir podatkov, izberite vir podatkov (za to objavo Amazon S3).
- za Način detektorja, izberite svoj način (za to objavo, Neprekinjeno).
Z Amazon S3 lahko ustvarite detektor v dveh načinih:
-
- Backtest – Ta način se uporablja za iskanje anomalij v zgodovinskih podatkih. Potrebuje, da so vsi zapisi združeni v eno datoteko.
- Neprekinjeno – Ta način se uporablja za odkrivanje nepravilnosti v podatkih v živo. Ta način uporabljamo v našem primeru uporabe, ker želimo zaznati anomalije, ko prejmemo podatke o onesnaževalih zraka od senzorja za spremljanje zraka.
- Vnesite pot S3 za živo mapo S3 in vzorec poti.
- za Interval vira podatkov, izberite 5 minutni intervali.Če imate zgodovinske podatke, iz katerih se lahko detektor nauči vzorcev, jih lahko zagotovite med to konfiguracijo. Pričakuje se, da bodo podatki v isti obliki, kot jo uporabljate za izvedbo preizkusa za nazaj. Zagotavljanje preteklih podatkov pospeši proces usposabljanja modela ML. Če to ni na voljo, neprekinjeni detektor počaka, da je na voljo dovolj podatkov, preden sklepa.
- Za to objavo že imamo zgodovinske podatke, zato izberite Uporabite pretekle podatke.
- Vnesite pot S3
historical_data.json
. - za format datoteketako, da izberete Vrstice JSON.
Na tej točki Lookout for Metrics dostopa do vira podatkov in preveri, ali lahko podatke razčleni. Če je razčlenjevanje uspešno, se prikaže sporočilo »Preverjanje uspešno« in vas popelje na naslednjo stran, kjer konfigurirate mere, dimenzije in časovne žige.
Konfigurirajte mere, dimenzije in časovne žige
Ukrepi definirajte KPI-je, za katere želite slediti nepravilnostim. Dodate lahko do pet meritev na detektor. Polja, ki se uporabljajo za ustvarjanje KPI-jev iz vaših izvornih podatkov, morajo biti v številski obliki. KPI-je je mogoče trenutno definirati z združevanjem zapisov v časovnem intervalu z uporabo SUM ali AVERAGE.
dimenzije vam omogoča, da svoje podatke razdelite na rezine z definiranjem kategorij ali segmentov. To vam omogoča sledenje nepravilnostim za podmnožico celotnega nabora podatkov, za katere velja določen ukrep.
V našem primeru uporabe dodamo tri mere, ki izračunajo AVG predmetov, videnih v 5-minutnem intervalu, in imajo samo eno dimenzijo, za katero se meri koncentracija onesnaževal.
Vsak zapis v naboru podatkov mora imeti časovni žig. Naslednja konfiguracija vam omogoča, da izberete polje, ki predstavlja vrednost časovnega žiga, in tudi obliko časovnega žiga.
Na naslednji strani lahko pregledate vse podrobnosti, ki ste jih dodali, nato pa shranite in aktivirate detektor.
Detektor se nato začne učiti podatkov, ki se pretakajo v vir podatkov. Na tej stopnji se status detektorja spremeni v Initializing
.
Pomembno je upoštevati minimalno količino podatkov, ki je potrebna, preden lahko Lookout for Metrics začne zaznavati anomalije. Za več informacij o zahtevah in omejitvah glejte Poiščite kvote meritev.
Z minimalno konfiguracijo ste ustvarili svoj detektor, ga usmerili na nabor podatkov in definirali metrike, v katerih želite, da Lookout for Metrics najde anomalije.
Vizualizirajte anomalije
Lookout for Metrics ponuja bogato izkušnjo uporabniškega vmesnika za uporabnike, ki želijo uporabljati Konzola za upravljanje AWS za analizo odkritih nepravilnosti. Omogoča tudi poizvedovanje o anomalijah prek API-jev.
Oglejmo si primer anomalije, odkrite v našem primeru uporabe podatkov o kakovosti zraka. Naslednji posnetek zaslona prikazuje anomalijo, zaznano v koncentraciji CO v zraku ob določenem času in datumu z oceno resnosti 93. Prikazuje tudi odstotek prispevka dimenzije k anomaliji. V tem primeru 100 % prispeva dimenzija ID lokacije B-101.
Ustvarite opozorila
Lookout for Metrics vam omogoča pošiljanje opozoril prek različnih kanalov. Konfigurirate lahko prag ocene resnosti anomalije, pri katerem se morajo sprožiti opozorila.
V našem primeru uporabe konfiguriramo opozorila za pošiljanje na Amazon Simple notification Service (Amazon SNS), ki nato pošlje SMS. Naslednji posnetki zaslona prikazujejo podrobnosti konfiguracije.
Uporabite lahko tudi opozorilo za sprožitev avtomatizacije z uporabo AWS Lambda funkcije za poganjanje operacij, ki jih poganja API, na AWS IoT Core.
zaključek
V tej objavi smo vam pokazali, kako enostavno je uporabljati Lookout for Metrics in Kinesis Data Firehose za odstranitev nediferenciranega težkega dela, ki je vključeno v upravljanje celotnega življenjskega cikla gradnje aplikacij za odkrivanje nepravilnosti, ki jih poganja ML. Ta rešitev vam lahko pomaga pospešiti vašo sposobnost iskanja anomalij v ključnih poslovnih meritvah in vam omogoči, da svoja prizadevanja osredotočite na rast in izboljšanje svojega poslovanja.
Priporočamo vam, da izveste več, tako da obiščete Vodnik za razvijalce Amazon Lookout for Metrics in preizkusite rešitev od konca do konca, ki jo omogočajo te storitve, z naborom podatkov, ki ustreza KPI-jem vašega podjetja.
O avtorju
Dhiraj Thakur je arhitekt rešitev pri Amazon Web Services. Sodeluje s strankami in partnerji AWS, da bi zagotovil smernice o sprejemanju oblaka v podjetju, migraciji in strategiji. Navdušen je nad tehnologijo in uživa v gradnji in eksperimentiranju na področju analitike in AI/ML.
- AI
- ai art
- ai art generator
- imajo robota
- Amazon Lookout za meritve
- Umetna inteligenca
- certificiranje umetne inteligence
- umetna inteligenca v bančništvu
- robot z umetno inteligenco
- roboti z umetno inteligenco
- programska oprema za umetno inteligenco
- Strojno učenje AWS
- blockchain
- blockchain konferenca ai
- coingenius
- pogovorna umetna inteligenca
- kripto konferenca ai
- dall's
- globoko učenje
- strojno učenje
- platon
- platon ai
- Platonova podatkovna inteligenca
- Igra Platon
- PlatoData
- platogaming
- lestvica ai
- sintaksa
- zefirnet