¿Existe un paquete completo de código abierto (preferiblemente en python o R) que pueda usarse para la detección de anomalías en series de tiempo?
Hay un paquete SVM de una clase en scikit-learn, pero no es para datos de series temporales. Estoy buscando paquetes más sofisticados que, por ejemplo, utilicen redes bayesianas para la detección de anomalías.
python
time-series
anomaly-detection
Pythinker
fuente
fuente
Respuestas:
Sé que llego un poco tarde aquí, pero sí, hay un paquete para la detección de anomalías junto con marcos de combinación atípicos.
Todavía está en su etapa inicial de desarrollo en github y pronto se publicará en JMLR.
El paquete está en lenguaje python y el nombre del paquete es pyod ( https://github.com/yzhao062/Pyod ).
Tiene múltiples algoritmos para los siguientes enfoques individuales:
Finalmente, si está buscando específicamente series de tiempo per se, entonces este enlace github será útil.
Tiene los siguientes paquetes de listas para la detección de valores atípicos de series de tiempo:
datastream.io
horizonte
banpei
Detección de anomalías
fuente
Hay múltiples formas de manejar las anormalidades de series de tiempo.
1) Si se conocen anormalidades , construya un modelo de clasificación. Use este modelo para detectar el mismo tipo de anomalías para datos de series temporales.
2) Si se desconocen las anomalías , lo que hemos hecho en nuestra organización es una combinación de agrupamiento y clasificación.
Primero use LOF / K-means / Distancia de Cook para identificar valores atípicos. Convierta datos completos en problemas de clasificación, ya que ahora tenemos 2 clases: valores atípicos y normales. Ahora construya un modelo de clasificación y obtenga reglas (modelo de clasificación) para identificar anormalidades en el tiempo de ejecución (datos de series de tiempo).
3) Si se desconocen las anomalías , durante mi investigación, la forma más común de identificar anomalías es construir un modelo normal y cualquier desviación del modelo normal (error) es anormal, por lo que en su caso pronostique su serie de tiempo para la próxima hora y luego compare con valores reales Si el error es más de lo esperado, está sucediendo algo anormal.
No pude encontrar ningún paquete directo en Python o R para hacerlo, ya que nadie sabía lo que es realmente anormal: P, en todos los casos se ha relacionado con la detección de valores atípicos.
algunos enlaces útiles
https://machinelearningstories.blogspot.com/2018/12/easiest-way-of-detection-abnormality.html
https://machinelearningstories.blogspot.com/2018/07/anomaly-detection-anomaly-detection-by.html
fuente
Prueba Prophet Library
Prophet es un procedimiento para pronosticar datos de series temporales basados en un modelo aditivo donde las tendencias no lineales se ajustan a la estacionalidad anual, semanal y diaria, más los efectos de vacaciones. Funciona mejor con series de tiempo que tienen fuertes efectos estacionales y varias temporadas de datos históricos. Prophet es robusto ante los datos faltantes y los cambios en la tendencia, y generalmente maneja bien los valores atípicos.
Más en: Detección de anomalías en series de tiempo con la biblioteca Prophet
fuente