Detección de valores atípicos en series temporales: ¿Cómo reducir los falsos positivos?


11

Estoy tratando de automatizar la detección de valores atípicos en series de tiempo y utilicé una modificación de la solución propuesta por Rob Hyndman aquí .

Digamos que mido las visitas diarias a un sitio web de varios países. Para algunos países donde las visitas diarias son de cientos o miles, mi método parece estar funcionando razonablemente.

Sin embargo, en los casos en que un país solo realiza 1 o 2 visitas por día, los límites del algoritmo son muy estrechos (por ejemplo, 1 ± 0,001) y, por lo tanto, las 2 visitas se consideran atípicas. ¿Cómo podría detectar automáticamente tales casos y cómo podría tratarlos para identificar valores atípicos? No me gustaría establecer un umbral manual de, digamos, 100 visitas por día.

¡Gracias!


2
Una forma simple y natural que podría resolver su problema, que se debe (al menos en parte) a una varianza altamente variable, es aplicar una transformación de estabilización de varianza, como una transformación de Anscombe o Freeman-Tukey , a los datos antes de buscar valores atípicos.
whuber

Respuestas:


3

No esperes mucho para cuentas pequeñas y discretas. Pasar de 1 a 2 visitas es un aumento del 100%, y pasar de 0 a 1 visitas es un aumento infinito. A niveles bajos, puede estar lidiando con modelos inflados a cero , y puede ser muy ruidoso allí también.

En mi experiencia, los datos de conteo con una combinación de conteos grandes y pequeños como este resultan en dos problemas con sus conteos pequeños: 1) son demasiado gruesos para hacer mucho, 2) son generados por diferentes procesos. (Piense en la oficina de correos rural pequeña versus la oficina de correos de la gran ciudad). Por lo tanto, debe dividir al menos su modelado en dos: haga lo que está haciendo con éxito para los recuentos más grandes y haga algo diferente, más grueso y más aproximado, con recuentos pequeños. Pero no esperes mucho de los recuentos pequeños.

La buena noticia es que los grandes recuentos, por definición, incluyen más de sus transacciones, por lo que su mejor modelo cubre más datos, aunque puede que no cubra la mayoría de sus sitios.

(Digo que "modelar" es general, pero, por supuesto, la detección de valores atípicos supone un modelo en particular y encuentra puntos que son altamente improbables con los supuestos de ese modelo).


1

Cada valor de su serie temporal es una muestra de una distribución de probabilidad. Primero debe encontrar cuál es la distribución de probabilidad y luego definir qué significa la palabra raro dentro de esa distribución.

Así que calcule el cdf empírico y calcule el intervalo de confianza del 95%. Cada vez que ocurre algo fuera de esa región, entonces, por definición, sabes que debe ser un evento raro.


0

Una cosa es detectar un valor atípico en un nivel particular de confianza y otra más es colocar una segunda especificación que restringiría aún más la aceptación del valor atípico. Una vez me hicieron la siguiente pregunta: "¿Puede AUTOBOX detectar un cambio medio de unidades xx a un nivel de confianza previamente especificado"? Esencialmente, lo que se requería era una prueba doble. AUTOBOX es un software que he ayudado a desarrollar y que puede ser rentable ya que ningún software gratuito ha implementado esta doble prueba.

Gracias Nick: estaba usando un cambio de nivel como un ejemplo particular de un "valor atípico" o en general el impacto determinista identificado empíricamente. Otras formas de "valores atípicos" son Pulsos, Pulsos estacionales y Tendencias de tiempo local Y combinaciones particulares como un cambio transitorio a un nuevo nivel. El punto principal era que puede haber dos hipótesis en juego que reflejen la significación estadística y la significación del mundo real. El cliente que originalmente me había llamado la atención sobre este problema estaba interesado en ambos.


Un valor atípico no implica necesariamente un cambio medio ... De hecho, el cambio escalonado o acelerado entre regímenes con diferentes medios no implica necesariamente valores atípicos. Lo sabes muy bien, pero lo que creo que implica es que sería de gran ayuda para los demás dar tu respuesta.
Nick Cox

Gracias a los dos. Estoy interesado en la importancia del mundo real. Después de identificar un valor atípico, considero su importancia con, por ejemplo, la proporción de visitas en comparación con las visitas totales para obtener su importancia final. Aunque esa proporción es realmente pequeña en los casos de 2 visitas, dado que los valores esperados son 1 ± 0.001, la 'distancia' del punto real desde los límites esperados es muy alta (por ejemplo, 2 / 0.002 donde 0.002 es el 'iqr') . Entonces, el problema adquiere una gran importancia al final. ¿Algunas ideas?
Stergios

Señalaría que el uso extendido de "atípico" aquí es mucho más amplio incluso que el sentido generoso de algo extremo que es común en muchas literaturas. Los lectores experimentados sabrán que @IrishStat se apega a su fuerte análisis de series de tiempo.
Nick Cox

0

Tiene ese problema porque sus datos están lejos de ser una distribución normal. Si la distribución es muy asimétrica, con protuberancias, jorobas o colas demasiado largas / cortas, encontrará problemas. Una buena idea es aplicar una transformación como Box Cox o Yeo-Johnson antes de usar su método. En su ejemplo, si usa F (x) = log (1 + x), evita el problema de diferente magnitud y puede volver a convertir usando: exp (z) -1

Hay varios procedimientos que puede usar para encontrar automáticamente una buena lambda para la transformación de Box-Cox. Personalmente, utilizo la mediana de todos los métodos de la función boxcoxnc del paquete AID en R. Si sus datos no son estrictamente positivos, deberá agregar 1 u otro número positivo antes de usarlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.