Multivariate anomaliedetectie in Microsoft Fabric - overzicht
Wat is multivariate anomaliedetectie voor tijdreeksen? Univariate anomaliedetectie, die wordt geïmplementeerd door de KQL-functie series_decompose_anomalies(), stelt u in staat om afwijkingen in de verdeling van één variabele in de loop van de tijd te bewaken en te detecteren. Multivariate anomaliedetectie is daarentegen een methode voor het detecteren van afwijkingen in de gezamenlijke verdeling van meerdere variabelen in de loop van de tijd. Deze methode is handig wanneer de variabelen worden gecorreleerd, waardoor de combinatie van hun waarden op een bepaald tijdstip afwijkend kan zijn, terwijl de waarde van elke variabele op zichzelf normaal is. Multivariate anomaliedetectie kan worden gebruikt in verschillende toepassingen, zoals het bewaken van de status van complexe IoT-systemen, het detecteren van fraude in financiële transacties en het identificeren van ongebruikelijke patronen in netwerkverkeer.
Denk bijvoorbeeld aan een systeem dat de prestaties van een vloot voertuigen bewaakt. Het systeem verzamelt gegevens over verschillende metrische gegevens, zoals snelheid, brandstofverbruik en motortemperatuur. Door deze metrische gegevens samen te analyseren, kan het systeem afwijkingen detecteren die niet duidelijk zouden zijn door elke metriek afzonderlijk te analyseren. Op zichzelf kan een toename van het brandstofverbruik worden veroorzaakt door verschillende acceptabele redenen. Een plotselinge toename van het brandstofverbruik in combinatie met een daling van de motortemperatuur kan echter duiden op een probleem met de motor, zelfs als elke metriek zelf binnen het normale bereik valt.
Hoe kunt u afwijkingen met meerdere variabelen detecteren in Microsoft Fabric?
Multivariate anomaliedetectie in Fabric maakt gebruik van de krachtige Spark- en Eventhouse-engines boven op een gedeelde permanente opslaglaag. De initiële gegevens kunnen worden opgenomen in een Eventhouse en worden weergegeven in OneLake. Het anomaliedetectiemodel kan vervolgens worden getraind met behulp van de Spark-engine en de voorspellingen van afwijkingen op nieuwe streaminggegevens kunnen in realtime worden uitgevoerd met behulp van de Eventhouse-engine. De onderlinge verbinding van deze engines die dezelfde gegevens in de gedeelde opslag kunnen verwerken, maakt een naadloze stroom van gegevens van opname, via modeltraining, mogelijk om afwijkingen te voorspellen. Deze werkstroom is eenvoudig en krachtig voor realtime bewaking en detectie van afwijkingen in complexe systemen.
Onderdelen van oplossing
Deze oplossing is afhankelijk van de volgende onderdelen:
- Eventhouse: De gegevens worden in eerste instantie opgenomen in een Eventhouse, een realtime gegevensverwerkingsengine die gegevensstromen met hoge doorvoer kan verwerken.
- OneLake: gegevens uit eventhouse worden weergegeven in onelake, een gedeelde permanente opslaglaag die een uniforme weergave van de gegevens biedt.
- Multivariate anomaliedetectiepakket: de oplossing maakt gebruik van het python-pakket time-series-anomaly-detector , waarbij een geavanceerd algoritme wordt geïmplementeerd op basis van een GAT (Graph Attention Network) waarmee de correlaties tussen verschillende tijdreeksen worden vastgelegd en afwijkingen in realtime worden gedetecteerd. Het GAT-model wordt getraind op historische gegevens om de relaties tussen verschillende tijdreeksen te leren. Het getrainde model kan worden toegepast om afwijkingen in nieuwe streaminggegevens te voorspellen. Houd er rekening mee dat dit algoritme het algoritme is dat wordt gebruikt in de AI Anomaly Detector-service die buiten gebruik wordt gesteld. Zie de blog en het document voor meer informatie over het algoritme.
- Spark Notebook: wordt gebruikt voor offlinetraining van het anomaliedetectiemodel op historische gegevens en slaat het getrainde model op in het MLflow-modellenregister van Fabric
- KQL-queryset: gebruikt voor realtime voorspelling van afwijkingen op binnenkomende gegevens.