Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Xây dựng máy phát hiện bất thường về chất lượng không khí bằng Amazon Lookout for Metrics

Ngày nay, ô nhiễm không khí là một vấn đề môi trường quen thuộc, gây ra các tình trạng hô hấp và tim mạch nghiêm trọng, đe dọa nghiêm trọng đến sức khỏe. Mưa axit, suy giảm tầng ôzôn và sự nóng lên toàn cầu cũng là những hậu quả bất lợi của ô nhiễm không khí. Cần có sự giám sát thông minh và tự động hóa để ngăn ngừa các vấn đề sức khỏe nghiêm trọng và trong những trường hợp nghiêm trọng có thể đe dọa đến tính mạng. Chất lượng không khí được đo bằng cách sử dụng nồng độ của các chất ô nhiễm trong không khí. Nhận biết sớm các triệu chứng và kiểm soát mức độ ô nhiễm trước khi nó nguy hiểm là rất quan trọng. Quá trình xác định chất lượng không khí và sự bất thường về trọng lượng của các chất ô nhiễm, và nhanh chóng chẩn đoán nguyên nhân gốc rễ, rất khó khăn, tốn kém và dễ xảy ra sai sót.

Quá trình áp dụng các giải pháp dựa trên AI và học máy (ML) để tìm ra sự bất thường của dữ liệu liên quan đến rất nhiều sự phức tạp trong việc nhập, quản lý và chuẩn bị dữ liệu ở định dạng phù hợp, sau đó tối ưu hóa và duy trì hiệu quả của các mô hình ML này trong thời gian dài thời gian. Đây là một trong những rào cản đối với việc nhanh chóng triển khai và mở rộng việc áp dụng các khả năng ML.

Bài đăng này chỉ cho bạn cách sử dụng một giải pháp tích hợp với Amazon Lookout cho số liệuAmazon Kinesis Dữ liệu Firehose để phá vỡ những rào cản này bằng cách nhập dữ liệu phát trực tuyến một cách nhanh chóng và dễ dàng và sau đó phát hiện những điểm bất thường trong các chỉ số hiệu suất chính mà bạn quan tâm.

Lookout for Metrics tự động phát hiện và chẩn đoán các điểm bất thường (ngoại lệ so với tiêu chuẩn) trong dữ liệu kinh doanh và hoạt động. Đó là một dịch vụ ML được quản lý hoàn toàn sử dụng các mô hình ML chuyên biệt để phát hiện các điểm bất thường dựa trên các đặc điểm của dữ liệu của bạn. Ví dụ: xu hướng và tính thời vụ là hai đặc điểm của chỉ số chuỗi thời gian mà tính năng phát hiện bất thường dựa trên ngưỡng không hoạt động. Xu hướng là các biến thể liên tục (tăng hoặc giảm) trong giá trị của chỉ số. Mặt khác, tính thời vụ là các dạng tuần hoàn xảy ra trong một hệ thống, thường tăng lên trên đường cơ sở và sau đó lại giảm xuống. Bạn không cần kinh nghiệm ML để sử dụng Lookout for Metrics.

Chúng tôi trình bày một kịch bản giám sát chất lượng không khí chung, trong đó chúng tôi phát hiện những bất thường về nồng độ chất ô nhiễm trong không khí. Đến cuối bài đăng này, bạn sẽ học cách sử dụng các dịch vụ được quản lý này từ AWS để giúp ngăn ngừa các vấn đề về sức khỏe và sự nóng lên toàn cầu. Bạn có thể áp dụng giải pháp này cho các trường hợp sử dụng khác để quản lý môi trường tốt hơn, chẳng hạn như phát hiện các bất thường về chất lượng nước, chất lượng đất và các mô hình tiêu thụ điện, để nêu tên một số trường hợp.

Tổng quan về giải pháp

Kiến trúc bao gồm ba khối chức năng:

  • Cảm biến không dây được đặt tại các vị trí chiến lược để cảm nhận mức độ tập trung của carbon monoxide (CO), sulfur dioxide (SO2) và nitrogen dioxide (NO2) trong không khí
  • Truyền dữ liệu nhập và lưu trữ
  • Phát hiện và thông báo bất thường

Giải pháp này cung cấp một đường dẫn dữ liệu hoàn toàn tự động từ các cảm biến đến thông báo được gửi cho người dùng. Bạn cũng có thể tương tác với giải pháp bằng cách sử dụng Giao diện người dùng Lookout for Metrics để phân tích các điểm bất thường đã xác định.

Sơ đồ sau minh họa kiến ​​trúc giải pháp của chúng tôi.

Điều kiện tiên quyết

Bạn cần các điều kiện tiên quyết sau trước khi có thể tiến hành giải pháp. Đối với bài đăng này, chúng tôi sử dụng Miền đông-1 chúng tôi.

  1. Tải xuống tập lệnh Python (Publishing.py) và tệp dữ liệu từ Repo GitHub.
  2. Mở live_data.csv gửi trong trình soạn thảo ưa thích của bạn và thay thế ngày thành ngày hôm nay và ngày mai. Ví dụ: nếu ngày hôm nay là ngày 8 tháng 2022 năm XNUMX, thì hãy thay thế 2022-03-25 với 2022-07-08. Giữ nguyên định dạng. Điều này là bắt buộc để mô phỏng dữ liệu cảm biến cho ngày hiện tại bằng cách sử dụng tập lệnh trình mô phỏng IoT.
  3. tạo một Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) nhóm và một thư mục có tên air-quality. Tạo một thư mục con bên trong air-quality tên historical. Để được hướng dẫn, xem Tạo một thư mục.
  4. Tải lên live_data.csv tệp trong nhóm S3 gốc và historical_data.json trong thư mục lịch sử.
  5. tạo một Đám mây AWS9 môi trường phát triển mà chúng tôi sử dụng để chạy chương trình trình mô phỏng Python nhằm tạo dữ liệu cảm biến cho giải pháp này.

Nhập và chuyển đổi dữ liệu bằng AWS IoT Core và Kinesis Data Firehose

Chúng tôi sử dụng luồng phân phối Kinesis Data Firehose để nhập dữ liệu phát trực tuyến từ Lõi AWS IoT và chuyển nó đến Amazon S3. Hoàn thành các bước sau:

  1. Trên bảng điều khiển Kinesis Data Firehose, hãy chọn Tạo luồng phân phối.
  2. Trong nguồn, chọn PUT trực tiếp.
  3. Trong Nơi đến, chọn Amazon S3.
  4. Trong Tên luồng phân phối, hãy nhập tên cho luồng phân phối của bạn.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  5. Trong Xô S3, hãy nhập nhóm bạn đã tạo làm điều kiện tiên quyết.
  6. Nhập giá trị cho Tiền tố thùng S3Tiền tố đầu ra lỗi thùng S3Một trong những điểm chính cần lưu ý là cấu hình của tiền tố tùy chỉnh được định cấu hình cho đích Amazon S3. Mẫu tiền tố này đảm bảo rằng dữ liệu được tạo trong nhóm S3 theo phân cấp tiền tố mà Lookout for Metrics mong đợi. (Thông tin thêm về điều này sau trong bài đăng này.) Để biết thêm thông tin về tiền tố tùy chỉnh, hãy xem Tiền tố tùy chỉnh cho các đối tượng Amazon S3.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  7. Trong Khoảng đệm, đi vào 60.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  8. Chọn Tạo hoặc cập nhật vai trò IAM.
  9. Chọn Tạo luồng phân phối.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
    Bây giờ chúng tôi định cấu hình AWS IoT Core và chạy chương trình mô phỏng chất lượng không khí.
  10. Trên bảng điều khiển AWS IoT Core, tạo chính sách AWS IoT được gọi là quản trị viên.
  11. Trong ngăn điều hướng dưới Định tuyến tin nhắn, chọn Nội quy.
  12. Chọn Tạo quy tắc.
  13. Tạo quy tắc với Hành động Kinesis Data Firehose (firehose).
    Thao tác này sẽ gửi dữ liệu từ tin nhắn MQTT đến luồng phân phối Kinesis Data Firehose.
  14. Chọn Tạo.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  15. Tạo một thứ AWS IoT có tên Test-Thing và đính kèm chính sách bạn đã tạo.
  16. Tải xuống chứng chỉ, khóa công khai, khóa riêng tư, chứng chỉ thiết bị và CA gốc cho AWS IoT Core.
  17. Lưu từng tệp đã tải xuống vào certificates thư mục con mà bạn đã tạo trước đó.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  18. Tải lên publish.py lên iot-test-publish thư mục.
  19. Trên bảng điều khiển AWS IoT Core, trong ngăn điều hướng, hãy chọn Cài đặt.
  20. Theo Điểm cuối tùy chỉnh, sao chép điểm cuối.
    URL điểm cuối tùy chỉnh AWS IoT Core này là cá nhân đối với tài khoản AWS và Khu vực của bạn.
  21. Thay thế customEndpointUrl với URL điểm cuối tùy chỉnh AWS IoT Core của bạn, các chứng chỉ có tên chứng chỉ và Your_S3_Bucket_Name với tên nhóm S3 của bạn.
    Tiếp theo, bạn cài đặt pip và AWS IoT SDK cho Python.
  22. Đăng nhập vào AWS Cloud9 và tạo một thư mục làm việc trong môi trường phát triển của bạn. Ví dụ: aq-iot-publish.
  23. Tạo một thư mục con cho các chứng chỉ trong thư mục làm việc mới của bạn. Ví dụ: certificates.
  24. Cài đặt AWS IoT SDK cho Python v2 bằng cách chạy dòng lệnh sau.
    pip install awsiotsdk

  25. Để kiểm tra đường ống dữ liệu, hãy chạy lệnh sau:
    python3 publish.py

Bạn có thể thấy tải trọng trong ảnh chụp màn hình sau.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Cuối cùng, dữ liệu được chuyển đến nhóm S3 được chỉ định trong cấu trúc tiền tố.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Dữ liệu của các tệp như sau:

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

Dấu thời gian cho thấy mỗi tệp chứa dữ liệu trong khoảng thời gian 5 phút.

Với mã tối thiểu, chúng tôi hiện đã nhập dữ liệu cảm biến, tạo luồng đầu vào từ dữ liệu đã nhập và lưu trữ dữ liệu trong nhóm S3 dựa trên các yêu cầu đối với Lookout for Metrics.

Trong các phần sau, chúng ta sẽ xem xét sâu hơn các cấu trúc trong Lookout for Metrics và việc định cấu hình các khái niệm này dễ dàng như thế nào bằng cách sử dụng bảng điều khiển Lookout for Metrics.

Tạo một máy dò

Bộ phát hiện là tài nguyên Lookout for Metrics giám sát tập dữ liệu và xác định các điểm bất thường ở tần suất xác định trước. Máy dò sử dụng ML để tìm các mẫu trong dữ liệu và phân biệt giữa các biến thể dự kiến ​​trong dữ liệu và các bất thường hợp pháp. Để cải thiện hiệu suất của nó, bộ dò tìm hiểu thêm về dữ liệu của bạn theo thời gian.

Trong trường hợp sử dụng của chúng tôi, máy dò phân tích dữ liệu từ cảm biến 5 phút một lần.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Để tạo trình phát hiện, hãy điều hướng đến bảng điều khiển Lookout for Metrics và chọn Tạo máy dò. Cung cấp tên và mô tả (tùy chọn) cho máy dò, cùng với khoảng thời gian 5 phút.

Dữ liệu của bạn được mã hóa theo mặc định bằng khóa mà AWS sở hữu và quản lý cho bạn. Bạn cũng có thể định cấu hình nếu bạn muốn sử dụng khóa mã hóa khác với khóa được sử dụng theo mặc định.

Bây giờ, hãy trỏ máy dò này đến dữ liệu mà bạn muốn nó chạy tính năng phát hiện bất thường.

Tạo tập dữ liệu

Tập dữ liệu cho bộ phát hiện biết nơi tìm dữ liệu của bạn và số liệu nào cần phân tích để tìm các điểm bất thường. Để tạo tập dữ liệu, hãy hoàn thành các bước sau:

  1. Trên bảng điều khiển Amazon Lookout for Metrics, điều hướng đến trình phát hiện của bạn.
  2. Chọn Thêm tập dữ liệu.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  3. Trong Họ tên, hãy nhập tên (ví dụ: air-quality-dataset).
  4. Trong Nguồn dữ liệu, chọn nguồn dữ liệu của bạn (cho bài đăng này, Amazon S3).
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.
  5. Trong Chế độ dò, chọn chế độ của bạn (cho bài đăng này, liên tiếp).

Với Amazon S3, bạn có thể tạo một máy dò ở hai chế độ:

    • Kiểm tra ngược - Chế độ này được sử dụng để tìm các điểm bất thường trong dữ liệu lịch sử. Nó cần tất cả các bản ghi được hợp nhất trong một tệp duy nhất.
    • liên tiếp - Chế độ này được sử dụng để phát hiện sự bất thường trong dữ liệu trực tiếp. Chúng tôi sử dụng chế độ này với trường hợp sử dụng của mình vì chúng tôi muốn phát hiện sự bất thường khi chúng tôi nhận dữ liệu ô nhiễm không khí từ cảm biến giám sát không khí.
  1. Nhập đường dẫn S3 cho thư mục S3 trực tiếp và mẫu đường dẫn.
  2. Trong Khoảng thời gian nguồn dữ liệu, chọn Khoảng thời gian 5 phútNếu bạn có dữ liệu lịch sử mà từ đó máy dò có thể tìm hiểu các mẫu, bạn có thể cung cấp dữ liệu đó trong quá trình cấu hình này. Dữ liệu được mong đợi ở cùng một định dạng mà bạn sử dụng để thực hiện kiểm tra lại. Cung cấp dữ liệu lịch sử tăng tốc quá trình đào tạo mô hình ML. Nếu điều này không khả dụng, bộ dò liên tục sẽ đợi có đủ dữ liệu trước khi đưa ra suy luận.
  3. Đối với bài đăng này, chúng tôi đã có dữ liệu lịch sử, vì vậy hãy chọn Sử dụng dữ liệu lịch sử.
  4. Nhập đường dẫn S3 của historical_data.json.
  5. Trong Định dạng file, lựa chọn Dòng JSON.
    Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tại thời điểm này, Lookout for Metrics truy cập vào nguồn dữ liệu và xác nhận xem nó có thể phân tích cú pháp dữ liệu hay không. Nếu quá trình phân tích cú pháp thành công, nó sẽ cung cấp cho bạn thông báo “Xác thực thành công” và đưa bạn đến trang tiếp theo, nơi bạn định cấu hình các thước đo, thứ nguyên và dấu thời gian.

Định cấu hình số đo, thứ nguyên và dấu thời gian

Các biện pháp xác định KPI mà bạn muốn theo dõi các điểm bất thường. Bạn có thể thêm tối đa năm phép đo cho mỗi máy dò. Các trường được sử dụng để tạo KPI từ dữ liệu nguồn của bạn phải có định dạng số. KPI hiện có thể được xác định bằng cách tổng hợp các bản ghi trong khoảng thời gian bằng cách thực hiện SUM hoặc AVERAGE.

Kích thước cung cấp cho bạn khả năng chia nhỏ dữ liệu của mình bằng cách xác định danh mục hoặc phân đoạn. Điều này cho phép bạn theo dõi các điểm bất thường cho một tập hợp con của toàn bộ tập dữ liệu mà một biện pháp cụ thể có thể áp dụng.

Trong trường hợp sử dụng của chúng tôi, chúng tôi thêm ba thước đo, tính toán AVG của các đối tượng được nhìn thấy trong khoảng thời gian 5 phút và chỉ có một thứ nguyên để đo nồng độ chất ô nhiễm.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Mọi bản ghi trong tập dữ liệu phải có dấu thời gian. Cấu hình sau đây cho phép bạn chọn trường đại diện cho giá trị dấu thời gian và cũng là định dạng của dấu thời gian.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Trang tiếp theo cho phép bạn xem lại tất cả các chi tiết bạn đã thêm, sau đó lưu và kích hoạt bộ dò.

Sau đó máy dò bắt đầu tìm hiểu luồng dữ liệu vào nguồn dữ liệu. Ở giai đoạn này, trạng thái của máy dò thay đổi thành Initializing.

Điều quan trọng cần lưu ý là lượng dữ liệu tối thiểu cần thiết trước khi Lookout for Metrics có thể bắt đầu phát hiện sự bất thường. Để biết thêm thông tin về các yêu cầu và giới hạn, hãy xem Chú ý đến hạn ngạch Chỉ số.

Với cấu hình tối thiểu, bạn đã tạo bộ phát hiện của mình, trỏ nó vào tập dữ liệu và xác định các chỉ số mà bạn muốn Lookout for Metrics tìm ra những điểm bất thường trong đó.

Hình dung sự bất thường

Lookout for Metrics cung cấp trải nghiệm giao diện người dùng phong phú cho người dùng muốn sử dụng Bảng điều khiển quản lý AWS để phân tích các điểm bất thường được phát hiện. Nó cũng cung cấp khả năng truy vấn các điểm bất thường thông qua các API.

Hãy xem xét một ví dụ bất thường được phát hiện từ trường hợp sử dụng dữ liệu chất lượng không khí của chúng tôi. Ảnh chụp màn hình sau đây cho thấy sự bất thường được phát hiện ở nồng độ CO trong không khí vào ngày và giờ được chỉ định với điểm mức độ nghiêm trọng là 93. Nó cũng cho thấy phần trăm đóng góp của thứ nguyên đối với sự bất thường. Trong trường hợp này, 100% đóng góp đến từ thứ nguyên ID vị trí B-101.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Tạo cảnh báo

Lookout for Metrics cho phép bạn gửi cảnh báo bằng nhiều kênh khác nhau. Bạn có thể định cấu hình ngưỡng điểm mức độ nghiêm trọng bất thường mà tại đó cảnh báo phải được kích hoạt.

Trong trường hợp sử dụng của chúng tôi, chúng tôi định cấu hình các cảnh báo để gửi đến một Dịch vụ thông báo đơn giản của Amazon (Amazon SNS), kênh này sẽ gửi SMS. Ảnh chụp màn hình sau đây hiển thị chi tiết cấu hình.

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bạn cũng có thể sử dụng cảnh báo để kích hoạt tự động hóa bằng cách sử dụng AWS Lambda các chức năng để thúc đẩy các hoạt động theo hướng API trên AWS IoT Core.

Kết luận

Trong bài đăng này, chúng tôi đã chỉ cho bạn cách dễ dàng sử dụng Lookout for Metrics và Kinesis Data Firehose để loại bỏ khối lượng nặng nề chưa phân biệt liên quan đến việc quản lý vòng đời đầu cuối của việc xây dựng các ứng dụng phát hiện bất thường được hỗ trợ bởi ML. Giải pháp này có thể giúp bạn tăng tốc khả năng tìm ra điểm bất thường trong các chỉ số kinh doanh chính và cho phép bạn tập trung nỗ lực vào việc phát triển và cải thiện doanh nghiệp của mình.

Chúng tôi khuyến khích bạn tìm hiểu thêm bằng cách truy cập Hướng dẫn dành cho nhà phát triển Amazon Lookout for Metrics và thử giải pháp end-to-end được các dịch vụ này kích hoạt với tập dữ liệu có liên quan đến KPI doanh nghiệp của bạn.


Giới thiệu về tác giả

Xây dựng trình phát hiện sự bất thường về chất lượng không khí bằng cách sử dụng Amazon Lookout for Metrics PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Dhiraj Thakur là Kiến trúc sư Giải pháp với Dịch vụ Web của Amazon. Anh làm việc với các khách hàng và đối tác của AWS để cung cấp hướng dẫn về chiến lược, di chuyển và áp dụng đám mây dành cho doanh nghiệp. Anh ấy đam mê công nghệ và thích xây dựng và thử nghiệm trong không gian phân tích và AI / ML.

Dấu thời gian:

Thêm từ Học máy AWS