Técnicas estadísticas utilizadas en la detección de anomalías
La detección de anomalías de Analysis Workspace utiliza una serie de técnicas estadísticas avanzadas para determinar si una observación debe considerarse como anómala o no.
En función de la granularidad de fecha utilizada en el informe, se utilizan 3 técnicas estadísticas distintas: específicamente para la detección de anomalías horarias, diarias, semanales/mensuales. Cada técnica estadística se enumera a continuación.
Detección de anomalías para la granularidad diaria section_758ACA3C0A6B4D399563ECABFB8316FA
Para los informes de granularidad diaria, el algoritmo considera distintos factores importantes para ofrecer los resultados más precisos posibles. En primer lugar, el algoritmo determina qué tipo de modelo se aplica en función de los datos disponibles que seleccionamos entre uno de los dos casos: un modelo basado en series temporales o un modelo de detección de externos (llamado filtrado funcional).
El modelo de selección de series temporales se basa en las siguientes combinaciones por tipo de error, tendencia o temporada (ETS) como se describe en Hyndman et al. (2008). En concreto, el algoritmo prueba las siguientes combinaciones:
- ANA (error acumulativo, sin tendencia, temporada acumulativa)
- AAA (error acumulativo, tendencia acumulativa, temporada acumulativa)
- MNM (error multiplicativo, sin tendencia, temporada multiplicativa)
- MNA (error multiplicativo, sin tendencia, temporada acumulativa)
- AAN (error acumulativo, tendencia acumulativa, sin temporada)
Las pruebas de idoneidad del algoritmo de cada una de ellas mediante la selección de la que tiene mejor error de porcentaje absoluto promedio (MAPE). Si el MAPE del mejor modelo de serie temporal es superior al 15 % sin embargo, se aplica el filtrado funcional. Normalmente, los datos con un grado de repetición alto (como semana a semana o mes a mes) son la mejor opción con un modelo de serie temporal.
Tras la selección de modelo, a continuación, el modelo ajusta los resultados en función de los festivos y las temporadas año a año. Durante las vacaciones, el algoritmo comprueba si alguno de los festivos está presente en el rango de fechas de la generación de informes:
- Día de los Caídos (solo EE. UU.)
- Julio de 4
- Acción de gracias (solo EE. UU.)
- Black Friday
- Ciberlunes
- 24 al 26 de diciembre
- Enero de 1
- Diciembre de 31
Estos festivos se han seleccionado en base a un análisis estadístico exhaustivo de muchos puntos de datos de clientes para identificar los festivos más relevantes en el mayor número de tendencias de clientes. Aunque la lista no es completa para todos los ciclos de cliente o de negocio, hemos observado que la aplicación de estos festivos mejora significativamente el rendimiento del algoritmo en general para casi todos los conjuntos de datos de clientes.
Una vez se ha seleccionado el modelo y se han identificado los festivos en el rango de fechas de generación de informes, el algoritmo se ejecuta de la siguiente manera:
-
Construye el periodo de referencia de la anomalía: esto incluye hasta 35 días antes del intervalo de fechas de generación de informes y un rango de fechas equivalente 1 año antes (teniendo en cuenta años bisiestos en caso de ser necesario e incluye cualquier festivo aplicable que haya podido producirse en un día del calendario distinto en el año anterior).
-
Comprueba si los festivos en el periodo actual (excluido el año anterior) son anómalos en función de los datos más recientes.
-
Si el festivo en el rango de fechas actual es anómalo, se ajusta el valor esperado y el intervalo de confianza del festivo actual teniendo en cuenta el festivo del año anterior (se tienen en cuenta 2 días antes y después). La corrección del festivo actual se basa en el error de porcentaje absoluto de la media más baja de:
- Efectos acumulativos
- Efectos multiplicativos
- Diferencia año a año
Observe la drástica mejora en el rendimiento en el día de Navidad y en el día de Año Nuevo en el ejemplo siguiente:
Detección de anomalías para la granularidad horaria section_014C9E9209AF43F8A03D5D46E3B3AEE7
Los datos horarios dependen del mismo método de algoritmo de serie temporal que el algoritmo de granularidad diaria. Sin embargo, dependen en gran medida de dos patrones de tendencia: el ciclo de 24 horas, así como el ciclo de fin de semana/día laboral. Para capturar estos dos efectos de temporada, el algoritmo por horas construye dos modelos independientes para días de fin de semana y días laborables utilizando el mismo método detallado anteriormente.
Los plazos de aprendizaje de las tendencias horarias dependen de un plazo de retrospectiva de 336 horas.
Detección de anomalías para granularidades semanales y mensuales section_5D421576BFBC4B24A58DFCC0A6407545
Las tendencias semanales y mensuales no muestran las mismas tendencias semanales o diarias que las granularidades por días u horas, por tanto, se utiliza un algoritmo independiente. Para semanal y mensual, se utiliza un método de detección de casos aparte de dos pasos conocido como la prueba de Desviación estudentizada extrema generalizada (GESD). Esta prueba considera el número máximo de anomalías esperadas combinadas con el método de diagramas de cajas ajustado (un método no paramétrico para la detección de casos aparte) para determinar el número máximo de periféricos. Los dos pasos son:
- Función de diagrama de cajas ajustado: esta función determina el número máximo de anomalías sobre los datos de entrada.
- Función GESD: se aplica a los datos de entrada con el resultado del paso 1.
El paso de detección de anomalías por temporadas año a año y de festivos a continuación resta los datos del año anterior de los datos de este año y, a continuación, itera en los datos de nuevo utilizando un proceso de dos pasos adicional para verificar que las anomalías son adecuadas para la temporada. Cada una de estas granularidades utiliza un periodo de 15 de inclusión retrospectiva de la fecha del rango de generación de informes seleccionada (tanto 15 meses como 15 semanas) y un rango de fechas correspondiente 1 año anterior para aprendizaje.
Técnicas estadísticas utilizadas en los análisis de contribución
El análisis de contribución es un proceso de aprendizaje automatizado intensivo diseñado para descubrir qué contribuye a una anomalía observada en Adobe Analytics. El propósito es ayudar al usuario a descubrir las áreas de interés u oportunidades para un análisis adicional de forma más rápida de lo que sería posible de otro modo.
El análisis de contribución lo consigue mediante la realización de un algoritmo en dos partes en cada elemento de dimensión disponible para el informe de análisis de contribución del usuario. El algoritmo opera en este orden:
-
Para cada dimensión, calcula la estadística de prueba V de Cramer. En el siguiente ejemplo, observe una tabla de contingencia con vistas de página por países en dos periodos de tiempo:
En la tabla 1, se puede utilizar la V de Cramer para medir la asociación entre las vistas de página por países para el periodo 1 (por ejemplo, histórico) y el periodo 2 (por ejemplo, el día en el que se produjo la anomalía). Un valor de V de Cramer bajo implica un bajo nivel de asociación. La V de Cramer va desde 0 (sin asociación) a 1 (asociación completa). La estadística de V de Cramer puede calcularse:
-
Para cada elemento de dimensión, se utiliza la residual de Pearson (PR) para medir la asociación entre la métrica anómala y cada elemento de dimensión. PR sigue un estándar de distribución normal, el cual permite que el algoritmo compare las PR de dos variables aleatorias incluso si las desviaciones no son comparables. En la práctica, el error no es conocido y se calcula utilizando una corrección de muestra infinita.
En el ejemplo anterior de la tabla 1, la PR, con corrección de muestra finita por país “i” y un periodo de tiempo 2 está determinado por
Aquí,
(Se puede obtener una fórmula similar para el periodo de tiempo 1).
Para los resultados finales, la puntuación de cada elemento de dimensión se pondera mediante la medición de V de Cramer y se modifica la escala a un número entre 0 y 1 para proporcionar su puntuación de contribución.