Detección de anomalías en grandes conjuntos de datos
Cree un trabajo que detecte anomalías mediante la detección asíncrona.
Puede utilizar la detección asíncrona para detectar anomalías en conjuntos de datos de detección univariado y multivariado. Los casos de uso típicos adecuados para la detección asíncrona son:
- Detección de anomalías en conjuntos de datos muy grandes
-
El número máximo de puntos de datos soportados por la API síncrona de REST
detectAnomalies
es 30 000. Esto podría imponer restricciones en los escenarios de detección de anomalías en los que se debe detectar un gran número de puntos de datos (normalmente en millones). Mediante la detección asíncrona, puede analizar y detectar anomalías en conjuntos de datos muy grandes en más de 10 millones de puntos de datos. - Automatización de flujos de trabajo de detección
-
En los casos de uso de IoT, los datos de serie temporal se suelen recopilar de un gran número de sensores y dispositivos, y se almacenan en un almacén de datos persistente, como una base de datos o un sistema de archivos. A menudo, estos datos raw se deben preprocesar (enriquecer) mediante servicios PaaS como Data Flow antes de realizar la inferencia. Puede integrar fácilmente las API de detección asíncronas en los pipelines de procesamiento de datos y automatizar los flujos de trabajo de detección.
- Procesamiento posterior de eventos anómalos
-
En ciertos escenarios de detección de anomalías, es posible que los datos de detección (anomalías detectadas) deban transformarse o enriquecerse antes de que puedan consumirlos las aplicaciones descendentes. Con la detección asíncrona, las anomalías detectadas se guardan en un bloque de Object Storage. Puede utilizar servicios PaaS como Data Flow para analizar, procesar y enriquecer los eventos anómalos. Además, puede consumir y representar las anomalías en los gráficos de visualización en Oracle Analytics Cloud para permitirle supervisar los sistemas de destino y realizar acciones correctivas.
Requisitos:
Debe tener un proyecto que contenga un modelo entrenado para utilizarlo en un trabajo asíncrono de detección de anomalías.
Recomendamos este enfoque cuando desee detectar anomalías y obtener resultados de grandes conjuntos de datos.
- Descargue y configure la CLI o el SDK de OCI como se describe en la documentación de OCI existente.
-
Utilice un modelo entrenado creando una solicitud
HTTP POST
y realice la solicitud en el punto final recibido en el paso anterior. - Analizar la respuesta HTTP para obtener los resultados para su uso en aplicaciones.
Ejemplo de llamadas a la API
Utilice los siguientes comandos de Anomaly Detection y los parámetros necesarios para ayudarle a detectar y obtener resultados:
-
Obtenga el modelo:
https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models/{ModelId} Method: GET Body:
-
Detecte de forma asíncrona con los datos:
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" } }
Recomendamos este enfoque cuando desee detectar anomalías y obtener resultados de grandes conjuntos de datos.
- Descargue y configure la CLI o el SDK de OCI como se describe en la documentación de OCI existente.
-
Utilice un modelo entrenado creando una solicitud
HTTP POST
y realice la solicitud en el punto final recibido en el paso anterior. - Analizar la respuesta HTTP para obtener los resultados para su uso en aplicaciones.
Ejemplo de llamadas a la API
Utilice la operación DetectAnomalies para ayudarle a detectar y obtener resultados.
-
Obtenga el modelo:
https://anomalydetection.aiservice.us-phoenix-1.oci.oraclecloud.com/20210101/models/{ModelId} Method: GET Body:
-
Detecte de forma asíncrona con los datos:
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" } }