Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Buat pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics

Saat ini, polusi udara adalah masalah lingkungan yang akrab yang menciptakan kondisi pernapasan dan jantung yang parah, yang menimbulkan ancaman kesehatan yang serius. Hujan asam, penipisan lapisan ozon, dan pemanasan global juga merupakan akibat buruk dari polusi udara. Ada kebutuhan untuk pemantauan dan otomatisasi yang cerdas untuk mencegah masalah kesehatan yang parah dan dalam kasus-kasus ekstrim situasi yang mengancam jiwa. Kualitas udara diukur dengan menggunakan konsentrasi polutan di udara. Mengidentifikasi gejala sejak dini dan mengendalikan tingkat polutan sebelum berbahaya sangat penting. Proses mengidentifikasi kualitas udara dan anomali berat polutan, dan mendiagnosis akar penyebabnya dengan cepat, sulit, mahal, dan rawan kesalahan.

Proses penerapan solusi berbasis AI dan machine learning (ML) untuk menemukan anomali data melibatkan banyak kerumitan dalam menyerap, menyeleksi, dan menyiapkan data dalam format yang tepat, lalu mengoptimalkan dan mempertahankan keefektifan model ML ini dalam jangka waktu yang lama. waktu. Ini telah menjadi salah satu hambatan untuk menerapkan dan menskalakan adopsi kemampuan ML dengan cepat.

Posting ini menunjukkan cara menggunakan solusi terintegrasi dengan Amazon Lookout untuk Metrik dan Firehose Data Amazon Kinesis untuk memecahkan hambatan ini dengan menyerap data streaming dengan cepat dan mudah, dan selanjutnya mendeteksi anomali dalam indikator kinerja utama yang Anda minati.

Lookout for Metrics secara otomatis mendeteksi dan mendiagnosis anomali (pencilan dari norma) dalam data bisnis dan operasional. Ini adalah layanan ML terkelola sepenuhnya yang menggunakan model ML khusus untuk mendeteksi anomali berdasarkan karakteristik data Anda. Misalnya, tren dan musiman adalah dua karakteristik metrik deret waktu di mana deteksi anomali berbasis ambang tidak berfungsi. Tren adalah variasi berkelanjutan (kenaikan atau penurunan) dalam nilai metrik. Di sisi lain, musiman adalah pola periodik yang terjadi dalam suatu sistem, biasanya naik di atas garis dasar dan kemudian menurun lagi. Anda tidak memerlukan pengalaman ML untuk menggunakan Lookout for Metrics.

Kami mendemonstrasikan skenario pemantauan kualitas udara yang umum, di mana kami mendeteksi anomali konsentrasi polutan di udara. Di akhir posting ini, Anda akan mempelajari cara menggunakan layanan terkelola dari AWS ini untuk membantu mencegah masalah kesehatan dan pemanasan global. Anda dapat menerapkan solusi ini ke kasus penggunaan lain untuk pengelolaan lingkungan yang lebih baik, seperti mendeteksi anomali dalam kualitas air, kualitas lahan, dan pola konsumsi daya, untuk beberapa nama.

Ikhtisar solusi

Arsitektur terdiri dari tiga blok fungsional:

  • Sensor nirkabel ditempatkan di lokasi strategis untuk mendeteksi tingkat konsentrasi karbon monoksida (CO), sulfur dioksida (SO2), dan nitrogen dioksida (NO2) di udara
  • Streaming penyerapan dan penyimpanan data
  • Deteksi dan pemberitahuan anomali

Solusi ini menyediakan jalur data yang sepenuhnya otomatis dari sensor hingga pemberitahuan yang disampaikan kepada pengguna. Anda juga dapat berinteraksi dengan solusi menggunakan Lookout for Metrics UI untuk menganalisis anomali yang teridentifikasi.

Diagram berikut menggambarkan arsitektur solusi kami.

Prasyarat

Anda memerlukan prasyarat berikut sebelum Anda dapat melanjutkan dengan solusi. Untuk postingan kali ini, kami menggunakan Region us-east-1.

  1. Unduh skrip Python (terbitkan.py) dan file data dari GitHub repo.
  2. Buka live_data.csv file di editor pilihan Anda dan ganti tanggal menjadi tanggal hari ini dan besok. Misalnya, jika tanggal hari ini adalah 8 Juli 2022, maka ganti 2022-03-25 dengan 2022-07-08. Tetap sama formatnya. Ini diperlukan untuk mensimulasikan data sensor untuk tanggal saat ini menggunakan skrip simulator IoT.
  3. Buat Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember dan folder bernama air-quality. Buat subfolder di dalamnya air-quality bernama historical. Untuk instruksi, lihat Membuat folder.
  4. Unggah live_data.csv file di ember root S3 dan historical_data.json dalam folder sejarah.
  5. Buat AWS Cloud9 lingkungan pengembangan, yang kami gunakan untuk menjalankan program simulator Python untuk membuat data sensor untuk solusi ini.

Serap dan ubah data menggunakan AWS IoT Core dan Kinesis Data Firehose

Kami menggunakan aliran pengiriman Firehose Data Kinesis untuk menyerap data streaming dari Inti AWS IoT dan mengirimkannya ke Amazon S3. Selesaikan langkah-langkah berikut:

  1. Pada konsol Firehose Data Kinesis, pilih Buat aliran pengiriman.
  2. Untuk sumber, pilih PUT langsung.
  3. Untuk Tujuan, pilih Amazon S3.
  4. Untuk Nama aliran pengiriman, masukkan nama untuk aliran pengiriman Anda.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  5. Untuk Ember S3, masukkan keranjang yang Anda buat sebagai prasyarat.
  6. Masukkan nilai untuk Awalan ember S3 dan Awalan keluaran kesalahan ember S3.Salah satu poin penting yang perlu diperhatikan adalah konfigurasi awalan khusus yang dikonfigurasi untuk tujuan Amazon S3. Pola awalan ini memastikan bahwa data dibuat di keranjang S3 sesuai dengan hierarki awalan yang diharapkan oleh Lookout for Metrics. (Lebih lanjut tentang ini nanti di posting ini.) Untuk informasi lebih lanjut tentang prefiks khusus, lihat Prefiks Kustom untuk Objek Amazon S3.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  7. Untuk Interval penyangga, Masuk 60.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  8. Pilih Buat atau perbarui peran IAM.
  9. Pilih Buat aliran pengiriman.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
    Sekarang kami mengonfigurasi AWS IoT Core dan menjalankan program simulator kualitas udara.
  10. Di konsol AWS IoT Core, buat kebijakan AWS IoT disebut admin.
  11. Di panel navigasi di bawah Perutean Pesan, pilih Peraturan.
  12. Pilih Buat aturan.
  13. Buat aturan dengan Aksi Kinesis Data Firehose (selang pemadam).
    Ini mengirimkan data dari pesan MQTT ke aliran pengiriman Kinesis Data Firehose.
  14. Pilih membuat.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  15. Buat hal AWS IoT dengan nama Test-Thing dan lampirkan kebijakan yang Anda buat.
  16. Unduh sertifikat, kunci publik, kunci pribadi, sertifikat perangkat, dan CA root untuk AWS IoT Core.
  17. Simpan setiap file yang diunduh ke certificates subdirektori yang Anda buat sebelumnya.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  18. Unggah publish.py ke iot-test-publish folder.
  19. Di konsol AWS IoT Core, di panel navigasi, pilih Settings.
  20. Bawah Titik akhir khusus, salin titik akhir.
    URL titik akhir kustom AWS IoT Core ini bersifat pribadi untuk akun dan Wilayah AWS Anda.
  21. menggantikan customEndpointUrl dengan URL titik akhir kustom AWS IoT Core Anda, sertifikat dengan nama sertifikat, dan Your_S3_Bucket_Name dengan nama ember S3 Anda.
    Selanjutnya, Anda menginstal pip dan AWS IoT SDK untuk Python.
  22. Masuk ke AWS Cloud9 dan buat direktori kerja di lingkungan pengembangan Anda. Sebagai contoh: aq-iot-publish.
  23. Buat subdirektori untuk sertifikat di direktori kerja baru Anda. Sebagai contoh: certificates.
  24. Instal AWS IoT SDK untuk Python v2 dengan menjalankan perintah berikut dari baris perintah.
    pip install awsiotsdk

  25. Untuk menguji pipa data, jalankan perintah berikut:
    python3 publish.py

Anda dapat melihat payload di screenshot berikut.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Terakhir, data dikirimkan ke bucket S3 yang ditentukan dalam struktur awalan.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Data dari file tersebut adalah sebagai berikut:

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

Stempel waktu menunjukkan bahwa setiap file berisi data untuk interval 5 menit.

Dengan kode minimal, kami sekarang telah menyerap data sensor, membuat aliran input dari data yang diserap, dan menyimpan data dalam bucket S3 berdasarkan persyaratan untuk Lookout for Metrics.

Di bagian berikut, kita melihat lebih dalam konstruksi dalam Lookout for Metrics, dan betapa mudahnya mengonfigurasi konsep ini menggunakan konsol Lookout for Metrics.

Buat detektor

Detektor adalah resource Lookout for Metrics yang memantau set data dan mengidentifikasi anomali pada frekuensi yang telah ditentukan sebelumnya. Detektor menggunakan ML untuk menemukan pola dalam data dan membedakan antara variasi yang diharapkan dalam data dan anomali yang sah. Untuk meningkatkan kinerjanya, detektor mempelajari lebih lanjut data Anda dari waktu ke waktu.

Dalam kasus penggunaan kami, detektor menganalisis data dari sensor setiap 5 menit.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Untuk membuat detektor, navigasikan ke konsol Lookout for Metrics dan pilih Buat detektor. Berikan nama dan deskripsi (opsional) untuk detektor, bersama dengan interval 5 menit.

Data Anda dienkripsi secara default dengan kunci yang dimiliki dan dikelola AWS untuk Anda. Anda juga dapat mengonfigurasi jika Anda ingin menggunakan kunci enkripsi yang berbeda dari kunci enkripsi yang digunakan secara default.

Sekarang mari arahkan detektor ini ke data yang Anda inginkan untuk menjalankan deteksi anomali.

Buat kumpulan data

Kumpulan data memberi tahu detektor tempat untuk menemukan data Anda dan metrik mana yang harus dianalisis untuk anomali. Untuk membuat kumpulan data, selesaikan langkah-langkah berikut:

  1. Di konsol Amazon Lookout for Metrics, navigasikan ke detektor Anda.
  2. Pilih Tambahkan set data.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  3. Untuk Nama, masukkan nama (misalnya, air-quality-dataset).
  4. Untuk Sumber data, pilih sumber data Anda (untuk posting ini, Amazon S3).
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.
  5. Untuk Mode detektor, pilih mode Anda (untuk posting ini, Kontinu).

Dengan Amazon S3, Anda dapat membuat detektor dalam dua mode:

    • Backtest โ€“ Mode ini digunakan untuk menemukan anomali pada data historis. Itu membutuhkan semua catatan untuk dikonsolidasikan dalam satu file.
    • Kontinu โ€“ Mode ini digunakan untuk mendeteksi anomali pada data langsung. Kami menggunakan mode ini dengan use case kami karena kami ingin mendeteksi anomali saat kami menerima data polutan udara dari sensor pemantauan udara.
  1. Masukkan jalur S3 untuk folder S3 langsung dan pola jalur.
  2. Untuk Interval sumber data, pilih Interval 5 menit.Jika Anda memiliki data historis dari mana detektor dapat mempelajari pola, Anda dapat memberikannya selama konfigurasi ini. Data diharapkan dalam format yang sama dengan yang Anda gunakan untuk melakukan backtest. Menyediakan data historis mempercepat proses pelatihan model ML. Jika ini tidak tersedia, detektor kontinu menunggu data yang memadai tersedia sebelum membuat kesimpulan.
  3. Untuk postingan ini, kami sudah memiliki data historis, jadi pilih Gunakan data historis.
  4. Masuk jalur S3 dari historical_data.json.
  5. Untuk format file, pilih Garis JSON.
    Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Pada titik ini, Lookout for Metrics mengakses sumber data dan memvalidasi apakah dapat mengurai data. Jika penguraian berhasil, ini memberi Anda pesan "Validasi berhasil" dan membawa Anda ke halaman berikutnya, tempat Anda mengonfigurasi ukuran, dimensi, dan stempel waktu.

Konfigurasikan ukuran, dimensi, dan stempel waktu

Ukuran tentukan KPI yang ingin Anda lacak anomalinya. Anda dapat menambahkan hingga lima pengukuran per detektor. Bidang yang digunakan untuk membuat KPI dari data sumber Anda harus dalam format numerik. KPI saat ini dapat ditentukan dengan menggabungkan catatan dalam interval waktu dengan melakukan SUM atau RATA-RATA.

Ukuran memberi Anda kemampuan untuk mengiris dan memotong data Anda dengan menentukan kategori atau segmen. Ini memungkinkan Anda melacak anomali untuk subset dari seluruh rangkaian data yang menerapkan ukuran tertentu.

Dalam kasus penggunaan kami, kami menambahkan tiga ukuran, yang menghitung AVG objek yang terlihat dalam interval 5 menit, dan hanya memiliki satu dimensi, yang konsentrasi polutannya diukur.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Setiap record dalam dataset harus memiliki timestamp. Konfigurasi berikut memungkinkan Anda untuk memilih bidang yang mewakili nilai stempel waktu dan juga format stempel waktu.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Halaman berikutnya memungkinkan Anda untuk meninjau semua detail yang Anda tambahkan dan kemudian menyimpan dan mengaktifkan detektor.

Detektor kemudian mulai mempelajari aliran data ke sumber data. Pada tahap ini, status detektor berubah menjadi Initializing.

Penting untuk dicatat jumlah minimum data yang diperlukan sebelum Lookout for Metrics dapat mulai mendeteksi anomali. Untuk informasi lebih lanjut tentang persyaratan dan batasan, lihat Cari kuota Metrik.

Dengan konfigurasi minimal, Anda telah membuat detektor, mengarahkannya ke kumpulan data, dan menentukan metrik yang Anda inginkan untuk menemukan anomali di Lookout for Metrics.

Visualisasikan anomali

Lookout for Metrics memberikan pengalaman UI yang kaya bagi pengguna yang ingin menggunakan Konsol Manajemen AWS untuk menganalisis anomali yang terdeteksi. Ini juga menyediakan kemampuan untuk menanyakan anomali melalui API.

Mari kita lihat contoh anomali yang terdeteksi dari kasus penggunaan data kualitas udara kami. Tangkapan layar berikut menunjukkan anomali yang terdeteksi dalam konsentrasi CO di udara pada waktu dan tanggal yang ditentukan dengan skor keparahan 93. Ini juga menunjukkan persentase kontribusi dimensi terhadap anomali. Dalam hal ini, kontribusi 100% berasal dari dimensi lokasi ID B-101.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Buat peringatan

Lookout for Metrics memungkinkan Anda mengirim peringatan menggunakan berbagai saluran. Anda dapat mengonfigurasi ambang skor keparahan anomali di mana peringatan harus dipicu.

Dalam kasus penggunaan kami, kami mengonfigurasi peringatan untuk dikirim ke Layanan Pemberitahuan Sederhana Amazon (Amazon SNS) saluran, yang pada gilirannya mengirimkan SMS. Tangkapan layar berikut menunjukkan detail konfigurasi.

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Anda juga dapat menggunakan peringatan untuk memicu otomatisasi menggunakan AWS Lambda berfungsi untuk mendorong operasi berbasis API di AWS IoT Core.

Kesimpulan

Dalam postingan ini, kami menunjukkan kepada Anda betapa mudahnya menggunakan Lookout for Metrics dan Kinesis Data Firehose untuk menghapus beban berat yang tidak terdiferensiasi yang terlibat dalam mengelola siklus hidup end-to-end pembuatan aplikasi deteksi anomali yang didukung ML. Solusi ini dapat membantu Anda mempercepat kemampuan Anda untuk menemukan anomali dalam metrik bisnis utama dan memungkinkan Anda memfokuskan upaya Anda untuk mengembangkan dan meningkatkan bisnis Anda.

Kami mendorong Anda untuk belajar lebih banyak dengan mengunjungi Panduan Pengembang Amazon Lookout for Metrics dan coba solusi ujung ke ujung yang diaktifkan oleh layanan ini dengan kumpulan data yang relevan dengan KPI bisnis Anda.


Tentang Penulis

Bangun pendeteksi anomali kualitas udara menggunakan Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Dhiraj Thakur adalah Arsitek Solusi dengan Amazon Web Services. Dia bekerja dengan pelanggan dan mitra AWS untuk memberikan panduan tentang adopsi cloud perusahaan, migrasi, dan strategi. Dia sangat menyukai teknologi dan suka membangun serta bereksperimen dalam ruang analitik dan AI / ML.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS