Tengo un vector y quiero detectar valores atípicos en él.
La siguiente figura muestra la distribución del vector. Los puntos rojos son valores atípicos. Los puntos azules son puntos normales. Los puntos amarillos también son normales.
Necesito un método de detección de valores atípicos (un método no paramétrico) que pueda detectar puntos rojos como valores atípicos. Probé algunos métodos como IQR, desviación estándar, pero también detectan puntos amarillos como valores atípicos.
Sé que es difícil detectar solo el punto rojo, pero creo que debería haber una forma (incluso una combinación de métodos) para resolver este problema.
Los puntos son lecturas de un sensor por un día. Pero los valores del sensor cambian debido a la reconfiguración del sistema (el entorno no es estático). Los tiempos de las reconfiguraciones son desconocidos. Los puntos azules corresponden al período anterior a la reconfiguración. Los puntos amarillos son para después de la reconfiguración, lo que causa una desviación en la distribución de las lecturas (pero son normales). Los puntos rojos son el resultado de la modificación ilegal de los puntos amarillos. En otras palabras, son anomalías que deben detectarse.
Me pregunto si la estimación de la función de suavizado del núcleo ('pdf', 'survivor', 'cdf', etc.) podría ayudar o no. ¿Alguien ayudaría sobre su funcionalidad principal (u otros métodos de suavizado) y la justificación para usar en un contexto para resolver un problema?
Respuestas:
Puede ver sus datos como una serie temporal en la que una medición ordinaria produce un valor muy cercano al valor anterior y una recalibración produce un valor con una gran diferencia con respecto al predecesor.
Aquí hay datos de muestra simulados basados en la distribución normal con tres medios diferentes similares a su ejemplo.
Al calcular la diferencia con el valor anterior (una especie de derivación) obtiene los siguientes datos:
Mi interpretación de su descripción es que tolera la recalibración (es decir, puntos a mayor distancia de cero, rojo en el diagrama), pero deben intercambiar entre valores positivos y negativos (es decir, el cambio del estado azul al amarillo y espalda).
Esto significa que puede configurar una alarma para ver un segundo punto rojo, ya sea en el lado negativo o positivo .
fuente
Si usa el registro, puede usar un promedio continuo que se restablece si la configuración cambia. Sin embargo, esto tendrá la debilidad de que necesita al menos algunos datos antes de poder detectar un valor atípico.
Sus datos se ven bastante "agradables" (no demasiado ruido). Recomendaría tomar el promedio de los últimos 10-20 puntos en la misma configuración. Si estos valores son algún tipo de cantidad contada, puede tomar un error de Poisson para puntos de datos individuales y calcular el error en promedio.
¿Cuántos datos históricos tienes? Si tiene mucho, puede usarlo para ajustar su frecuencia de alarma de manera que obtenga una proporción aceptable de todos los valores atípicos reales mientras obtiene un número mínimo de advertencias falsas. Lo que es aceptable depende del problema específico. (Costo de falsos positivos o valores atípicos no detectados y su abundancia).
fuente
Vamos a ilustrar el enfoque propuesto en la otra respuesta con un ejemplo simple
Obtener datos
Simularemos los datos con siete fragmentos producidos con distribución normal con diferentes medios.
Esto es importante ya que nos permite distinguir limpiamente entre los grupos y detectar de manera simple los puntos de ruptura. Esta respuesta utiliza un enfoque de umbral elemental, es posible que se requiera una forma más avanzada para sus datos reales.
Derive los puntos de ruptura
Con una simple diferencia con respecto al punto anterior
lag(y)
, obtenemos los valores atípicos. Se clasifican utilizando un umbral.Cambio de clasificación de comportamiento
Basándose en las reglas que describió, los puntos de ruptura se clasifican como
OK
yproblem
.La regla establece que no se permiten dos cambios en la misma dirección. El segundo movimiento en la dirección anterior se considera un problema.
Es posible que deba ajustar esta interpretación simple si su logik es más avanzado.
Presentación
Finalmente, proyecta los valores atípicos reconocidos a los datos originales
fuente