4 votos

Pruebas para detectar un descenso de las reservas

Estamos desarrollando alertas en tiempo real para datos de reservas de series temporales detalladas (cada 5 minutos), y estoy buscando el mejor enfoque para hacerlo. La idea es que si en los últimos 10-15 minutos (digamos) hay una gran caída en el volumen de reservas en relación con alguna expectativa, entonces quiero disparar una alerta. Hemos estado utilizando datos históricos para establecer la expectativa.

Estoy familiarizado con el análisis de series temporales y el suavizado exponencial. Holt-Winters surgió como una posibilidad aquí, pero incluso el alisamiento exponencial triple parece manejar sólo una estacionalidad, y los datos de reservas en mi industria (viajes) definitivamente tienen al menos tres estacionalidades impulsoras: diaria, semanal y anual.

Lo que hemos estado haciendo. Un método que hemos estado utilizando, y que parece funcionar bien en la mayoría de los casos, es realizar una prueba de hipótesis de diferencia entre dos medias muestrales. Digamos que dividimos las reservas en bloques de cinco minutos. Entonces construimos una muestra de tamaño tres para los últimos 15 minutos, una muestra de tamaño 12 para los correspondientes intervalos de 15 minutos durante las últimas cuatro semanas, y luego probamos la diferencia entre sus medias.

Me preocupa que el tamaño de las muestras (especialmente la de las reservas actuales) sea demasiado pequeño para ser fiable. La prueba tiene en cuenta el tamaño de la muestra y, de todos modos, la varianza dentro de una muestra suele ser bastante pequeña, al menos en volumen, así que quizá esté bien. Pero utilizar una $n=3$ muestra se siente mal. Además, este enfoque no tiene en cuenta el ciclo anual, que me gustaría poder captar si fuera posible.

Fondo extra. Hay que añadir un par de consideraciones. No estoy seguro de su relevancia, pero por si acaso:

1) Se trata de reservas globales (es decir, personas de todo el mundo reservan), por lo que los volúmenes de reservas no son simples sinusoides. Son más o menos la suma de múltiples sinusoides de reservas correspondientes a diferentes regiones (NA/LATAM, EU, APAC) además de las asociadas a las diferentes estacionalidades. Sé que podemos analizar las regiones individuales para separar las sinusoides, y queremos hacerlo. Pero también queremos saber cuándo ha caído el volumen agregado.

2) En cierto sentido, las reservas parecen tener una distribución binomial. Si fijamos el volumen de usuarios, podemos considerar una reserva como un "éxito" en un ensayo binomial. Esto ocurre, por ejemplo, si se tiene una granja de servidores web con muchos servidores y se observa la distribución del recuento de reservas entre los servidores dentro de una ventana de tiempo corta (por ejemplo, 30 minutos). Esa distribución pasa una prueba de normalidad (he estado usando Shapiro), y asumo que es porque es una distribución binomial dado el mecanismo subyacente. Las reservas a lo largo del tiempo no se distribuyen binomialmente porque los propios volúmenes de usuarios fluctúan mucho. Pero todavía me pregunto si de alguna manera podemos utilizar el gran número de "oportunidades de conversión" binomiales subyacentes como una forma de impulsar una prueba adecuada.

Mi pregunta es: ¿qué enfoque deberíamos utilizar para comprobar las caídas de reservas, teniendo en cuenta lo anterior?

Actualización. Basándome en lo que Stephan dice más abajo (que esto es realmente detección de anomalías, no previsión), tengo otra idea. ¿Qué pasaría si construyera una muestra comparativa basada en recuentos históricos de reservas de 5 minutos (por ejemplo, siete bloques de 5 minutos de la semana anterior, flanqueando e incluyendo el bloque correspondiente a la actual, otros siete de la semana anterior, y así sucesivamente, quizá cuatro semanas atrás, lo que me daría una $n=28$ muestra) y, a continuación, utilizar una prueba de valores atípicos basada en el rango intercuartílico? Es sencillo, y las bandas de detección vienen dadas por los bigotes del boxplot. ¿Es esto plausible?

2voto

icelava Puntos 548

Hay al menos otros dos casos de uso para el tipo de estacionalidad compleja que usted presenta: el consumo eléctrico y la demanda de los centros de llamadas. Ambos tienen fuertes patrones intradiarios y estacionalidad en días de la semana, y al menos la electricidad también tiene un gran efecto anual (los centros de llamadas probablemente menos). Ambos suelen analizarse en intervalos de 5 o 15 minutos. Y ambas son áreas activas de investigación, así que buscar en Google "electicity forecasting" o "power forecasting" o "call center forecasting" ya puede ser útil. Recomiendo especialmente este documento que trata varios métodos diferentes.

Por desgracia, lo que le interesa no es la previsión puntual en sí, sino la detección o vigilancia de anomalías o señales. No recuerdo nada parecido en la literatura sobre previsión, pero puede que haya algo en la literatura sobre procesamiento de señales. Te sugiero que utilices las palabras clave anteriores y busques en Google "detección de señales en series temporales de electricidad" y similares.

Si no encuentras nada, te recomendaría un enfoque sencillo y sucio: consulta el artículo de Taylor que he enlazado antes, ajusta uno de los modelos e intenta comprender la varianza residual. ¿Es homoscedástica, o varía con el tiempo, o con el nivel subyacente? Calcula el ajuste y crea una banda de detección "razonable" a su alrededor, basándote en tu comprensión de la varianza residual. Alerte si los datos recientes están fuera de esta banda. De todos modos, tendrá que experimentar un poco. Buena suerte.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X