Microsoft Fabric에서 다변량 변칙 검색 - 개요
시계열의 다변량 변칙 검색이란? KQL 함수 series_decompose_anomalies()에 의해 구현되는 단변량 변칙 검색을 사용하면 시간 경과에 따른 단일 변수의 분포에서 변칙을 모니터링하고 검색할 수 있습니다. 반면, 다변량 변칙 검색은 시간 경과에 따른 여러 변수의 공동 분포에서 변칙을 검색하는 방법입니다. 이 방법은 변수가 상관된 경우에 유용하므로, 특정 시간에 해당 값의 조합은 비정상일 수 있지만 각 변수의 값 자체는 정상입니다. 다변량 변칙 검색은 복잡한 IoT 시스템 상태 모니터링, 금융 트랜잭션에서 사기 감지 및 네트워크 트래픽의 특이한 패턴 식별과 같이 다양한 애플리케이션에서 사용할 수 있습니다.
예를 들어 차량의 성능을 모니터링하는 시스템이 이에 해당합니다. 시스템은 속도, 연료 사용량 및 엔진 온도와 같은 다양한 메트릭에 대한 데이터를 수집합니다. 이러한 메트릭을 함께 분석하면 시스템은 각 메트릭을 개별적으로 분석하여 명백하지 않은 변칙을 검색할 수 있습니다. 연료 소비의 증가 자체는 다양한 허용 가능한 이유 때문에 나타날 수 있습니다. 그러나 엔진 온도의 감소와 결합된 연료 소비량의 급격한 증가는 각 메트릭이 정상 범위 내에 있더라도 엔진에 문제가 있음을 나타낼 수 있습니다.
Microsoft Fabric에서 다변량 변칙을 검색하려면 어떻게 해야 하나요?
Fabric의 다변량 변칙 검색은 공유 영구적 저장소 계층 위에 위치한 강력한 Spark 및 Eventhouse 엔진을 활용합니다. 초기 데이터는 Eventhouse로 수집되고, OneLake에 노출될 수 있습니다. 그런 다음, Spark 엔진을 사용하여 변칙 검색 모델을 학습할 수 있으며, Eventhouse 엔진을 사용하여 새 스트리밍 데이터에 대한 변칙 예측을 실시간으로 수행할 수 있습니다. 공유 스토리지에서 동일한 데이터를 처리할 수 있는 이러한 엔진의 상호 연결은 모델 학습을 통해 수집에서 변칙 예측까지 데이터의 원활한 흐름을 지원합니다. 이 워크플로는 복잡한 시스템에서 변칙을 실시간으로 모니터링하고 검색하는 경우에 간단하고 강력한 성능을 지원합니다.
솔루션 구성 요소
이 솔루션은 다음 구성 요소에 기반합니다.
- Eventhouse: 처음에 데이터는 많은 처리량 데이터 스트림을 처리할 수 있는 실시간 데이터 처리 엔진인 Eventhouse로 수집됩니다.
- OneLake: Eventhouse의 데이터는 데이터의 통합 보기를 제공하는 공유 영구적 저장소 계층인 OneLake에 노출됩니다.
- 다변량 변칙 검색 패키지: 솔루션은 time-series-anomaly-detector Python 패키지를 사용하여 서로 다른 시계열 간 상관 관계를 캡처하고 실시간으로 변칙을 검색하는 GAT(Graph Attention Network)를 기반으로 하는 고급 알고리즘을 구현합니다. GAT 모델은 기록 데이터에서 학습되어 서로 다른 시계열 간의 관계를 학습합니다. 학습된 모델은 새 스트리밍 데이터에 대한 변칙을 예측하는 데 적용할 수 있습니다. 이 알고리즘은 사용 중지된 AI Anomaly Detector 서비스에 사용되는 알고리즘입니다. 알고리즘에 대한 자세한 내용은 블로그 및 관련 자료를 참조하세요.
- Spark Notebook: 기록 데이터에 대한 변칙 검색 모델을 오프라인 학습하고 학습된 모델을 Fabric의 MLflow 모델 레지스트리에 저장하는 데 사용됩니다.
- KQL 쿼리 세트: 수신 데이터에 대한 변칙을 실시간으로 예측하는 데 사용됩니다.