Rilevamento di anomalie in data set di grandi dimensioni
Crea un job che rileva le anomalie utilizzando il rilevamento asincrono.
È possibile utilizzare il rilevamento asincrono per rilevare anomalie nei set di dati di rilevamento univariati e multivariati. I casi d'uso tipici adatti per il rilevamento asincrono sono:
- Rilevamento di anomalie in set di dati di grandi dimensioni
-
Il numero massimo di datapoint supportati dall'API sincrona REST
detectAnomalies
è 30.000. Ciò potrebbe imporre restrizioni negli scenari di rilevamento delle anomalie in cui è necessario rilevare un gran numero di datapoint (in genere in milioni). Il rilevamento asincrono consente di analizzare e rilevare anomalie in set di dati di grandi dimensioni fino a 10 milioni di datapoint. - Automatizzazione dei flussi di lavoro di rilevamento
-
Nei casi d'uso di IoT, i dati delle serie temporali vengono in genere raccolti da un gran numero di sensori e dispositivi e memorizzati in un data store persistente, ad esempio un database o un file system. Spesso, questi dati non elaborati devono essere pre-elaborati (integrati) utilizzando i servizi PaaS, ad esempio Flusso di dati, prima di poter eseguire l'inferenza. Puoi integrare facilmente le API di rilevamento asincrono all'interno delle pipeline di elaborazione dei dati e automatizzare i flussi di lavoro di rilevamento.
- Post-elaborazione di eventi anomali
-
In alcuni scenari di rilevamento delle anomalie, potrebbe essere necessario trasformare o arricchire i dati di rilevamento (anomalie rilevate) prima che possano essere utilizzati dalle applicazioni a valle. Con il rilevamento asincrono, le anomalie rilevate vengono salvate in un bucket di storage degli oggetti. È possibile utilizzare i servizi PaaS, ad esempio Data Flow, per analizzare, elaborare e arricchire gli eventi anomali. Inoltre, puoi utilizzare e visualizzare le anomalie nei grafici di visualizzazione in Oracle Analytics Cloud per consentirti di monitorare i sistemi di destinazione e intraprendere azioni correttive.
Prerequisiti:
È necessario disporre di un progetto contenente un modello addestrato da utilizzare in un job Rilevamento anomalie asincrono.
Si consiglia questo approccio quando si desidera rilevare anomalie e ottenere risultati da set di dati di grandi dimensioni.
- Scaricare e configurare l'interfaccia CLI o l'SDK OCI come descritto nella documentazione OCI esistente.
-
Utilizzare un modello addestrato creando una richiesta
HTTP POST
ed effettuare la richiesta all'endpoint ricevuto nel passo precedente. - Analizza la risposta HTTP per ottenere i risultati da utilizzare nelle applicazioni.
Esempi di chiamate API
Utilizzare i comandi Rilevamento anomalie riportati di seguito e i parametri necessari per rilevare e ottenere i risultati.
-
Ottenere il modello:
https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models/{ModelId} Method: GET Body:
-
Rileva in modo asincrono i dati:
Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/detectAnomalyJobs { "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra", "description": Ashburn data center, "displayName": Ashburn data center, "modelId": "ocid1.aianomalydetectionmodel.oc1.iad.amaaaaaaor7l3jia2q565gumqsmurg3anj6a6xad4e5talry7ynqivboyh5a", "inputDetails": { "inputType": "INLINE", "signalNames":["sensor1","sensor2","sensor3","sensor4","sensor5","sensor6","sensor7","sensor8","sensor9","sensor10"], "data": [ { "timestamp": "2020-07-13T18:54:46.000Z", "values": [ 0.2282, -0.7092, -1.2002, -0.7971, 2.0967, -0.7369, -0.5242, -0.3949, -0.6563, -0.9429 ] }, { "timestamp": "2020-07-13T18:55:46.000Z", "values": [ -0.4359, -0.153, -1.3603, -1.4552, 1.3512, -0.3683, -0.7328, -0.5223, -2.1182, -0.6212 ] }, { "timestamp": "2020-07-13T18:56:46.000Z", "values": [ -0.7482, -0.7112, -2.0408, -0.8236, 1.9157, -0.9435, -1.1136, 0.1365, -0.8872, -0.7323 ] }, { "timestamp": "2020-07-13T18:57:46.000Z", "values": [ 0.2655, -1.23, -0.6551, -0.6294, 1.4812, -1.1023, -1.3472, -1.18, -1.4353, -1.1863 ] }, { "timestamp": "2020-07-13T18:58:46.000Z", "values": [ -0.6848, -1.6165, -1.4954, -1.2594, 2.5512, -0.6693, -0.5837, -1.2494, -0.2837, -0.7751 ] } ] }, "outputDetails": { "outputType": "OBJECT_STORAGE", "namespaceName": "ax3dvjxgkemg", "bucketName": "output-bucket", "prefix": "test-prefix" } }
Si consiglia questo approccio quando si desidera rilevare anomalie e ottenere risultati da set di dati di grandi dimensioni.
- Scaricare e configurare l'interfaccia CLI o l'SDK OCI come descritto nella documentazione OCI esistente.
-
Utilizzare un modello addestrato creando una richiesta
HTTP POST
ed effettuare la richiesta all'endpoint ricevuto nel passo precedente. - Analizza la risposta HTTP per ottenere i risultati da utilizzare nelle applicazioni.
Esempi di chiamate API
Utilizzare l'operazione DetectAnomalies per rilevare e ottenere i risultati.
-
Ottenere il modello:
https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models/{ModelId} Method: GET Body:
-
Rileva in modo asincrono i dati:
Endpoint: https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/detectAnomalyJobs { "compartmentId": "ocid1.compartment.oc1..aaaaaaaaaqf4b7xq6kxrrb…..rcmjpbdfmcjmzdufz6sy52pra", "description": Ashburn data center, "displayName": Ashburn data center, "modelId": "ocid1.aianomalydetectionmodel.oc1.iad.amaaaaaaor7l3jia2q565gumqsmurg3anj6a6xad4e5talry7ynqivboyh5a", "inputDetails": { "inputType": "INLINE", "signalNames":["sensor1","sensor2","sensor3","sensor4","sensor5","sensor6","sensor7","sensor8","sensor9","sensor10"], "data": [ { "timestamp": "2020-07-13T18:54:46.000Z", "values": [ 0.2282, -0.7092, -1.2002, -0.7971, 2.0967, -0.7369, -0.5242, -0.3949, -0.6563, -0.9429 ] }, { "timestamp": "2020-07-13T18:55:46.000Z", "values": [ -0.4359, -0.153, -1.3603, -1.4552, 1.3512, -0.3683, -0.7328, -0.5223, -2.1182, -0.6212 ] }, { "timestamp": "2020-07-13T18:56:46.000Z", "values": [ -0.7482, -0.7112, -2.0408, -0.8236, 1.9157, -0.9435, -1.1136, 0.1365, -0.8872, -0.7323 ] }, { "timestamp": "2020-07-13T18:57:46.000Z", "values": [ 0.2655, -1.23, -0.6551, -0.6294, 1.4812, -1.1023, -1.3472, -1.18, -1.4353, -1.1863 ] }, { "timestamp": "2020-07-13T18:58:46.000Z", "values": [ -0.6848, -1.6165, -1.4954, -1.2594, 2.5512, -0.6693, -0.5837, -1.2494, -0.2837, -0.7751 ] } ] }, "outputDetails": { "outputType": "OBJECT_STORAGE", "namespaceName": "ax3dvjxgkemg", "bucketName": "output-bucket", "prefix": "test-prefix" } }