Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

지표용 Amazon Lookout을 사용하여 공기 품질 이상 감지기 구축

오늘날 대기 오염은 심각한 건강 위협을 제기하는 심각한 호흡기 및 심장 질환을 유발하는 친숙한 환경 문제입니다. 산성비, 오존층 파괴, 지구 온난화도 대기 오염의 악영향입니다. 심각한 건강 문제와 극단적인 경우 생명을 위협하는 상황을 방지하기 위해 지능형 모니터링 및 자동화가 필요합니다. 공기질은 공기 중의 오염물질 농도를 사용하여 측정됩니다. 증상을 조기에 식별하고 위험하기 전에 오염 물질 수준을 제어하는 ​​것이 중요합니다. 대기질과 오염물질 중량 이상을 식별하고 근본 원인을 신속하게 진단하는 과정은 어렵고 비용이 많이 들고 오류가 발생하기 쉽습니다.

데이터 이상을 찾기 위해 AI 및 머신 러닝(ML) 기반 솔루션을 적용하는 프로세스에는 데이터를 올바른 형식으로 수집, 선별 및 준비한 다음 장기간에 걸쳐 이러한 ML 모델의 효율성을 최적화하고 유지하는 데 많은 복잡성이 수반됩니다. 시각. 이는 ML 기능의 채택을 신속하게 구현하고 확장하는 데 있어 장벽 중 하나였습니다.

이 게시물은 통합 솔루션을 사용하는 방법을 보여줍니다. 지표에 대한 Amazon Lookout아마존 키네 시스 데이터 파이어 호스 스트리밍 데이터를 빠르고 쉽게 수집한 다음 관심 있는 핵심 성과 지표의 이상을 감지하여 이러한 장벽을 허물 수 있습니다.

Lookout for Metrics는 비즈니스 및 운영 데이터의 이상(표준에서 벗어난 값)을 자동으로 감지하고 진단합니다. 전문 ML 모델을 사용하여 데이터 특성을 기반으로 이상을 감지하는 완전 관리형 ML 서비스입니다. 예를 들어 추세 및 계절성은 임계값 기반 이상 감지가 작동하지 않는 시계열 측정항목의 두 가지 특성입니다. 추세는 메트릭 값의 지속적인 변동(증가 또는 감소)입니다. 반면에 계절성은 시스템에서 발생하는 주기적인 패턴으로, 일반적으로 기준선 위로 상승했다가 다시 감소합니다. Lookout for Metrics를 사용하기 위해 ML 경험이 필요하지 않습니다.

우리는 공기 중 오염 물질 농도의 이상을 감지하는 일반적인 공기 품질 모니터링 시나리오를 시연합니다. 이 게시물을 마치면 AWS에서 이러한 관리형 서비스를 사용하여 건강 문제와 지구 온난화를 예방하는 방법을 배우게 됩니다. 몇 가지 예를 들어 수질, 토지 품질 및 전력 소비 패턴의 이상 감지와 같은 더 나은 환경 관리를 위해 이 솔루션을 다른 사용 사례에 적용할 수 있습니다.

솔루션 개요

아키텍처는 세 가지 기능 블록으로 구성됩니다.

  • 공기 중 일산화탄소(CO), 이산화황(SO2) 및 이산화질소(NO2)의 농도 수준을 감지하기 위해 전략적 위치에 배치된 무선 센서
  • 스트리밍 데이터 수집 및 저장
  • 이상 감지 및 알림

이 솔루션은 센서에서 사용자에게 알림이 표시될 때까지 완전히 자동화된 데이터 경로를 제공합니다. 식별된 이상을 분석하기 위해 Lookout for Metrics UI를 사용하여 솔루션과 상호 작용할 수도 있습니다.

다음 다이어그램은 솔루션 아키텍처를 보여줍니다.

사전 조건

솔루션을 계속 진행하려면 다음 전제 조건이 필요합니다. 이 게시물에서는 us-east-1 리전을 사용합니다.

  1. Python 스크립트 다운로드(게시.py) 및 데이터 파일 GitHub 레포.
  2. 열기 live_data.csv 원하는 편집기에서 파일을 만들고 날짜를 오늘과 내일 날짜로 바꿉니다. 예를 들어 오늘 날짜가 8년 2022월 XNUMX일이면 2022-03-252022-07-08. 형식을 동일하게 유지하십시오. IoT 시뮬레이터 스크립트를 사용하여 현재 날짜에 대한 센서 데이터를 시뮬레이션하는 데 필요합니다.
  3. 를 생성 아마존 단순 스토리지 서비스 (Amazon S3) 버킷 및 이름이 지정된 폴더 air-quality. 내부에 하위 폴더 생성 air-quality 이름 historical. 지침은 폴더 생성.
  4. 업로드 live_data.csv 루트 S3 버킷의 파일 및 historical_data.json 히스토리 폴더에 있습니다.
  5. 를 생성 AWS 클라우드9 이 솔루션에 대한 센서 데이터를 생성하기 위해 Python 시뮬레이터 프로그램을 실행하는 데 사용하는 개발 환경입니다.

AWS IoT Core 및 Kinesis Data Firehose를 사용하여 데이터 수집 및 변환

Kinesis Data Firehose 전송 스트림을 사용하여 스트리밍 데이터를 수집합니다. AWS IoT 코어 Amazon S3에 전달합니다. 다음 단계를 완료하십시오.

  1. Kinesis Data Firehose 콘솔에서 배달 스트림 만들기.
  2. 럭셔리 출처선택한다. 직접 넣기.
  3. 럭셔리 목적지선택한다. 아마존 S3.
  4. 럭셔리 전송 스트림 이름, 전송 스트림의 이름을 입력합니다.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  5. 럭셔리 S3 버킷, 전제 조건으로 생성한 버킷을 입력합니다.
  6. 에 대한 값을 입력하십시오 S3 버킷 접두사S3 버킷 오류 출력 접두사.주의해야 할 핵심 사항 중 하나는 Amazon S3 대상에 대해 구성된 사용자 지정 접두사의 구성입니다. 이 접두사 패턴은 Lookout for Metrics에서 예상하는 접두사 계층 구조에 따라 S3 버킷에 데이터가 생성되도록 합니다. (이 게시물의 뒷부분에서 더 자세히 설명합니다.) 사용자 지정 접두사에 대한 자세한 내용은 다음을 참조하세요. Amazon S3 객체에 대한 사용자 지정 접두사.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  7. 럭셔리 버퍼 간격, 입력 60.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  8. 왼쪽 메뉴에서 IAM 역할 생성 또는 업데이트.
  9. 왼쪽 메뉴에서 배달 스트림 만들기.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
    이제 AWS IoT Core를 구성하고 공기질 시뮬레이터 프로그램을 실행합니다.
  10. AWS IoT Core 콘솔에서 AWS IoT 정책 생성 관리자라고 합니다.
  11. 아래의 탐색 창에서 메시지 라우팅선택한다. 규칙.
  12. 왼쪽 메뉴에서 규칙 만들기.
  13. 다음을 사용하여 규칙을 만듭니다. Kinesis Data Firehose(firehose) 작업.
    그러면 MQTT 메시지에서 Kinesis Data Firehose 전송 스트림으로 데이터가 전송됩니다.
  14. 왼쪽 메뉴에서 만들기.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  15. 이름으로 AWS IoT 사물 생성 Test-Thing 생성한 정책을 첨부합니다.
  16. AWS IoT Core용 인증서, 퍼블릭 키, 프라이빗 키, 디바이스 인증서 및 루트 CA를 다운로드합니다.
  17. 다운로드한 각 파일을 다음 위치에 저장합니다. certificates 이전에 만든 하위 디렉터리.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  18. publish.py 업로드 iot-test-publish 폴더에 있습니다.
  19. AWS IoT Core 콘솔의 탐색 창에서 다음을 선택합니다. 설정.
  20. $XNUMX Million 미만 커스텀 엔드포인트, 끝점을 복사합니다.
    이 AWS IoT Core 사용자 지정 엔드포인트 URL은 AWS 계정 및 리전에 대한 개인용입니다.
  21. 교체 customEndpointUrl AWS IoT Core 사용자 지정 엔드포인트 URL, 인증서 이름이 있는 인증서 및 Your_S3_Bucket_Name S3 버킷 이름으로.
    다음으로 pip 및 Python용 AWS IoT SDK를 설치합니다.
  22. AWS Cloud9에 로그인하고 개발 환경에서 작업 디렉터리를 생성합니다. 예를 들어: aq-iot-publish.
  23. 새 작업 디렉터리에 인증서의 하위 디렉터리를 만듭니다. 예를 들어: certificates.
  24. 명령줄에서 다음을 실행하여 Python v2용 AWS IoT SDK를 설치합니다.
    pip install awsiotsdk

  25. 데이터 파이프라인을 테스트하려면 다음 명령어를 실행하세요.
    python3 publish.py

다음 스크린샷에서 페이로드를 볼 수 있습니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

마지막으로 데이터는 접두사 구조에서 지정된 S3 버킷으로 전달됩니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

파일의 데이터는 다음과 같습니다.

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

타임스탬프는 각 파일에 5분 간격의 데이터가 포함되어 있음을 보여줍니다.

이제 최소한의 코드로 센서 데이터를 수집하고 수집된 데이터에서 입력 스트림을 생성하고 Lookout for Metrics에 대한 요구 사항을 기반으로 S3 버킷에 데이터를 저장했습니다.

다음 섹션에서는 Lookout for Metrics의 구성과 Lookout for Metrics 콘솔을 사용하여 이러한 개념을 구성하는 것이 얼마나 쉬운지 자세히 살펴봅니다.

감지기 만들기

탐지기는 데이터세트를 모니터링하고 사전 정의된 빈도로 이상을 식별하는 지표 리소스에 대한 감시입니다. 탐지기는 ML을 사용하여 데이터에서 패턴을 찾고 데이터의 예상 변동과 합법적인 이상을 구별합니다. 성능을 개선하기 위해 감지기는 시간이 지남에 따라 데이터에 대해 더 많이 학습합니다.

우리의 사용 사례에서 감지기는 5분마다 센서의 데이터를 분석합니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

탐지기를 생성하려면 Lookout for Metrics 콘솔로 이동하여 다음을 선택합니다. 감지기 만들기. 5분 간격과 함께 감지기의 이름과 설명(선택 사항)을 제공합니다.

데이터는 기본적으로 AWS가 소유하고 관리하는 키로 암호화됩니다. 기본적으로 사용되는 것과 다른 암호화 키를 사용하려는 경우 구성할 수도 있습니다.

이제 이 탐지기가 이상 탐지를 실행할 데이터를 가리키도록 합시다.

데이터세트 만들기

데이터세트는 데이터를 찾을 위치와 이상에 대해 분석할 측정항목을 감지기에 알려줍니다. 데이터세트를 만들려면 다음 단계를 완료하세요.

  1. Amazon Lookout for Metrics 콘솔에서 탐지기로 이동합니다.
  2. 왼쪽 메뉴에서 데이터 세트 추가.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  3. 럭셔리 성함, 이름을 입력하십시오 (예 : air-quality-dataset).
  4. 럭셔리 데이터 소스, 데이터 원본을 선택합니다(이 게시물의 경우 Amazon S3).
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.
  5. 럭셔리 감지기 모드, 모드를 선택합니다(이 게시물의 경우 끊임없는).

Amazon S3를 사용하면 두 가지 모드로 감지기를 생성할 수 있습니다.

    • Backtest – 이 모드는 과거 데이터에서 이상을 찾는 데 사용됩니다. 모든 기록을 단일 파일로 통합해야 합니다.
    • 끊임없는 – 이 모드는 라이브 데이터의 이상을 감지하는 데 사용됩니다. 대기 모니터링 센서에서 대기 오염 데이터를 수신할 때 이상을 감지하기를 원하기 때문에 이 모드를 사용 사례와 함께 사용합니다.
  1. 라이브 S3 폴더 및 경로 패턴에 대한 S3 경로를 입력합니다.
  2. 럭셔리 데이터 소스 간격선택한다. 5 분 간격.탐지기가 패턴을 학습할 수 있는 과거 데이터가 있는 경우 이 구성 중에 제공할 수 있습니다. 데이터는 백테스트를 수행하는 데 사용하는 것과 동일한 형식이어야 합니다. 기록 데이터를 제공하면 ML 모델 교육 프로세스의 속도가 빨라집니다. 이것이 가능하지 않은 경우 연속 검출기는 추론을 수행하기 전에 충분한 데이터를 사용할 수 있을 때까지 기다립니다.
  3. 이 게시물에는 이미 과거 데이터가 있으므로 선택하십시오. 과거 데이터 사용.
  4. 의 S3 경로를 입력하십시오. historical_data.json.
  5. 럭셔리 파일 형식, 고르다 JSON 라인.
    Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

이 시점에서 Lookout for Metrics는 데이터 원본에 액세스하고 데이터를 구문 분석할 수 있는지 여부를 확인합니다. 구문 분석에 성공하면 "검증 성공" 메시지가 표시되고 측정값, 차원 및 타임스탬프를 구성하는 다음 페이지로 이동합니다.

측정값, 차원 및 타임스탬프 구성

조치 이상 징후를 추적할 KPI를 정의합니다. 감지기당 최대 XNUMX개의 측정값을 추가할 수 있습니다. 소스 데이터에서 KPI를 만드는 데 사용되는 필드는 숫자 형식이어야 합니다. KPI는 현재 SUM 또는 AVERAGE를 수행하여 시간 간격 내에서 레코드를 집계하여 정의할 수 있습니다.

크기 범주 또는 세그먼트를 정의하여 데이터를 분할하고 분석할 수 있는 기능을 제공합니다. 이를 통해 특정 측정값을 적용할 수 있는 전체 데이터 집합의 하위 집합에 대한 이상을 추적할 수 있습니다.

우리의 사용 사례에서는 5분 간격으로 보이는 물체의 AVG를 계산하는 세 가지 측정값을 추가하고 오염 물질 농도가 측정되는 단 하나의 차원을 갖습니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

데이터세트의 모든 레코드에는 타임스탬프가 있어야 합니다. 다음 구성을 사용하면 타임스탬프 값과 타임스탬프 형식을 나타내는 필드를 선택할 수 있습니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

다음 페이지에서는 추가한 모든 세부 정보를 검토한 다음 감지기를 저장하고 활성화할 수 있습니다.

그런 다음 감지기는 데이터 소스로 스트리밍되는 데이터 학습을 시작합니다. 이 단계에서 감지기의 상태는 다음으로 변경됩니다. Initializing.

Lookout for Metrics가 이상 탐지를 시작하기 전에 필요한 최소 데이터 양을 기록하는 것이 중요합니다. 요구 사항 및 제한에 대한 자세한 내용은 다음을 참조하십시오. 측정항목 할당량 확인.

최소한의 구성으로 탐지기를 만들고 데이터 세트를 가리키고 Lookout for Metrics가 이상을 찾을 메트릭을 정의했습니다.

이상 징후 시각화

Lookout for Metrics는 사용하려는 사용자에게 풍부한 UI 경험을 제공합니다. AWS 관리 콘솔 감지된 이상을 분석합니다. 또한 API를 통해 이상을 쿼리하는 기능도 제공합니다.

대기 질 데이터 사용 사례에서 감지된 이상 징후의 예를 살펴보겠습니다. 다음 스크린샷은 지정된 시간과 날짜에 심각도 점수가 93인 공기 중 CO 농도에서 감지된 이상을 보여줍니다. 또한 이상에 대한 차원의 기여도를 보여줍니다. 이 경우 100% 기여도는 위치 ID B-101 차원에서 나옵니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

알림 생성

Lookout for Metrics를 사용하면 다양한 채널을 사용하여 경고를 보낼 수 있습니다. 경고가 트리거되어야 하는 이상 심각도 점수 임계값을 구성할 수 있습니다.

우리의 사용 사례에서는 경고를 보내도록 구성합니다. 아마존 단순 알림 서비스 (Amazon SNS) 채널에서 차례로 SMS를 보냅니다. 다음 스크린샷은 구성 세부 정보를 보여줍니다.

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.

경고를 사용하여 다음을 사용하여 자동화를 트리거할 수도 있습니다. AWS 람다 AWS IoT Core에서 API 기반 작업을 구동하기 위한 기능.

결론

이 게시물에서는 Lookout for Metrics 및 Kinesis Data Firehose를 사용하여 ML 기반 이상 감지 애플리케이션 구축의 엔드 투 엔드 수명 주기 관리와 관련된 획일적인 무거운 작업을 제거하는 방법을 보여주었습니다. 이 솔루션을 사용하면 주요 비즈니스 메트릭에서 이상을 찾는 능력을 가속화하고 비즈니스 성장 및 개선에 집중할 수 있습니다.

우리는 당신이 방문하여 더 많은 것을 배울 것을 권장합니다 Amazon Lookout for Metrics 개발자 안내서 비즈니스 KPI와 관련된 데이터 세트를 사용하여 이러한 서비스에서 지원하는 엔드 투 엔드 솔루션을 사용해 보십시오.


저자,

Amazon Lookout for Metrics PlatoBlockchain Data Intelligence를 사용하여 공기질 이상 감지기를 구축합니다. 수직 검색. 일체 포함.디 라즈 타쿠 르 Amazon Web Services의 솔루션 설계자입니다. 그는 AWS 고객 및 파트너와 협력하여 엔터프라이즈 클라우드 채택, 마이그레이션 및 전략에 대한 지침을 제공합니다. 그는 기술에 대한 열정이 있으며 분석 및 AI / ML 공간에서 구축하고 실험하는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습