Está en la página 1de 10

Algoritmos DETECTANOMALIA

El procedimiento de Detección de Anomalías busca casos inusuales basados en desviaciones del

normas de sus grupos de conglomerados. El procedimiento está diseñado para detectar


rápidamente casos inusuales con fines de auditoría de datos en el paso de análisis exploratorio de
datos, antes de cualquier análisis de datos inferencial. Este

el algoritmo está diseñado para la detección de anomalías genéricas; es decir, la definición de caso
anómalo

no es específico de ninguna aplicación en particular, como la detección de patrones de pago


inusuales en el

sector sanitario o detección de blanqueo de capitales en el sector financiero, en el que el

La definición de una anomalía puede estar bien definida.

Suposiciones de datos

Datos. Este procedimiento funciona tanto con variables continuas como categóricas. Cada fila
representa

una observación distinta, y cada columna representa una variable distinta sobre la cual los grupos
de pares

se basan. Una variable de identificación de casos puede estar disponible en el archivo de datos
para marcar la salida, pero

no se utilizará en el análisis. Se permiten valores faltantes. La variable de peso, si se especifica,

se ignora

El modelo de detección se puede aplicar a un nuevo archivo de datos de prueba. Los elementos de
los datos de prueba deben ser los

igual que los elementos de los datos de entrenamiento. Y, dependiendo de la configuración del
algoritmo, la falta

el manejo de valores que se utiliza para crear el modelo se puede aplicar al archivo de datos de
prueba antes de la puntuación .

Orden de casos. Tenga en cuenta que la solución puede depender del orden de los casos. Para
minimizar los efectos de orden,

ordenar aleatoriamente los casos. Para verificar la estabilidad de una solución dada, es posible que
desee obtener varias

diferentes soluciones con casos ordenados en diferentes órdenes aleatorios. En situaciones con
extremadamente grandes

tamaños de archivo, se pueden realizar múltiples ejecuciones con una muestra de casos
ordenados en diferentes órdenes aleatorios.
Suposiciones. El algoritmo asume que todas las variables son no constantes e independientes y

que ningún caso tiene valores faltantes para ninguna de las variables de entrada. Cada variable
continua es

se supone que tiene una distribución normal (gaussiana), y se supone que cada variable categórica

tienen una distribución multinomial. Las pruebas internas empíricas indican que el procedimiento
es bastante

robusto a las violaciones tanto del supuesto de independencia como de los supuestos
distributivos,

pero tenga en cuenta qué tan bien se cumplen estos supuestos.

Notación

La siguiente notación se utiliza a lo largo de este capítulo a menos que se indique lo contrario:

ID La variable de identidad de cada caso en el archivo de datos.

n El número de casos en los datos de entrenamiento Xtrain .

Xok , k = 1, …, K El conjunto de variables de entrada en los datos de entrenamiento.

Mk, k ∈ {1, … , K} Si Xok es una variable continua, Mk representa la gran media o promedio de

la variable en todos los datos de entrenamiento.

SDk , k ∈ {1, … , K} Si Xok es una variable continua, SDk representa la gran desviación estándar ,

o la desviación estándar de la variable en todos los datos de entrenamiento.

XK+1 Una variable continua creada en el análisis. Representa el porcentaje de

variables (k = 1, …, K) que tienen valores faltantes en cada caso.

Xk , k = 1, …, K El conjunto de variables de entrada procesadas después del manejo del valor


faltante es

aplicado. Para obtener más información, consulte el tema “Etapa de modelado”.

Algoritmos DETECTANOMALIA

H, o los límites de H:

[ Hmín , Hmáx ]

H es el número preespecificado de grupos de clústeres para crear. Alternativamente, el

Los límites [ Hmin , Hmax ] se pueden usar para especificar el mínimo y el máximo

número de grupos de conglomerados.

nh , h = 1, …, H El número de casos en el clúster h, h = 1, …, H, según los datos de entrenamiento.


ph , h = 1, …, H La proporción de casos en el grupo h, h = 1, …, H, según el entrenamiento

datos. Para cada h, ph = nh /n.

Mhk , k = 1, …, K+1, h = 1,

…, H

SDhk , k ∈ {1, ... , K+1}, h

= 1, …, H

{ nhkj }, k ∈ {1, ... , K}, h =

1, …, H, j = 1, …, Jk

Si Xk es una variable continua, Mhk representa la media del grupo o el promedio

de la variable en el conglomerado h en base a los datos de entrenamiento. Si Xk es un categórico

variable, representa el modo de conglomerado, o el valor categórico más popular de

la variable en el clúster h en función de los datos de entrenamiento.

Si Xk es una variable continua, SDhk representa la desviación estándar del conglomerado,

o la desviación estándar de la variable en el clúster h en función de los datos de entrenamiento .

El conjunto de frecuencia { nhkj } se define solo cuando Xk es una variable categórica.

Si Xk tiene categorías Jk , entonces nhkj es el número de casos en el grupo h que caen

en la categoría j.

m Un peso de ajuste utilizado para equilibrar la influencia entre continuo y

variables categóricas. Es un valor positivo con un valor predeterminado de 6.

VDIk , k = 1, …, K+1 El índice de desviación variable de un caso es una medida de la desviación de

valor de la variable Xk de su norma de clúster.

GDI El índice de desviación de grupo GDI de un caso es la distancia logarítmica de verosimilitud


d( h,

s), que es la suma de todos los índices de desviación variable { VDIk , k = 1,

…, K+1}.

índice de anomalía El índice de anomalía de un caso es la relación entre el GDI y el promedio

GDI para el grupo de clústeres al que pertenece el caso.

contribución variable

medida
La medida de contribución variable de la variable Xk para un caso es la razón de

el VDIk al GDI correspondiente del caso.

pctanomalía o nanomalía Un valor preespecificado de pctanomalía determina el porcentaje de


casos que se

considerados como anomalías. Alternativamente, un valor entero positivo preespecificado

nanomaly determina el número de casos a considerar como anomalías.

cutpointanomaly Un punto de corte preespecificado ; casos con valores de índice de anomalía


superiores a

cutpointanomaly se consideran anómalos.

kanomaly Un umbral entero preespecificado 1≤kanomaly≤K+1 determina el número de

variables consideradas como las razones por las que el caso es identificado como una anomalía.

Pasos del algoritmo

Este algoritmo se divide en tres etapas:

Modelado. Los casos se colocan en grupos de conglomerados en función de sus similitudes en un


conjunto de datos de entrada.

variables El modelo de agrupamiento utilizado para determinar el grupo de conglomerados de un


caso y el número suficiente

se almacenan las estadísticas utilizadas para calcular las normas de los grupos de conglomerados.

Puntuación. El modelo se aplica a cada caso para identificar su grupo de conglomerados y algunos
índices son

creado para cada caso para medir la inusualidad del caso con respecto a su grupo de
conglomerados.

Todos los casos están ordenados por los valores de los índices de anomalía. La parte superior de la
lista de casos es

identificado como el conjunto de anomalías.

Razonamiento. Para cada caso anómalo, las variables se ordenan por su variable correspondiente

índices de desviación. Se presentan las principales variables, sus valores y los valores normalizados
correspondientes.

como las razones por las que un caso se identifica como una anomalía.

Etapa de modelado

Algoritmos DETECTANOMALIA

Esta etapa realiza las siguientes tareas:


1. Formación de conjuntos de entrenamiento. Comenzando con las variables y casos especificados,
elimine cualquier caso con

valores extremadamente grandes (superiores a 1,0E+150) en cualquier variable continua. Si falta


valor

el manejo no está en efecto, también elimine los casos con un valor faltante en cualquier variable.
Eliminar variables

con todos los valores constantes que no faltan o todos los valores que faltan. El resto de casos y
variables son

utilizado para crear el modelo de detección de anomalías. La salida de estadísticas a la tabla


dinámica por el procedimiento es

basado en este conjunto de entrenamiento, pero las variables guardadas en el conjunto de datos
se calculan para todos los casos.

2. Gestión de valores perdidos (opcional). Para cada variable de entrada Xok , k = 1, …, K, si Xok es
un

variable continua, use todos los valores válidos de esa variable para calcular la gran media Mk y la
gran

desviación estándar SDk . Reemplace los valores faltantes de la variable por su gran media. Si Xok
es un

variable categórica, combine todos los valores faltantes en una categoría de "valor faltante". Esta
categoría es

tratada como una categoría válida. Denote la forma procesada de { Xok } por { Xk }.

3. Creación de la variable de porcentaje de valor faltante (opcional). Una nueva variable continua,
XK+1, es

creado que representa el porcentaje de variables (tanto continuas como categóricas) con faltantes

valores en cada caso.

4. Identificación del grupo de conglomerados. Las variables de entrada procesadas { Xk , k = 1, …,


K+1} se utilizan para

crear un modelo de agrupamiento. El algoritmo de agrupamiento de dos pasos se usa con el


manejo del ruido girado

activado (consulte el documento del algoritmo TwoStep Cluster para obtener más información).

5. Suficiente almacenamiento de estadísticas. El modelo de conglomerados y los estadísticos


suficientes para las variables

por clúster se almacenan para la etapa de Scoring:

Se almacenan la gran media Mk y la desviación estándar SDk de cada variable continua,


k ∈ {1, ... , K+1}.

 Para cada grupo h = 1, …, H, almacene el tamaño nh . Si Xk es una variable continua, almacene el


grupo

media Mhk y desviación estándar SDhk de la variable a partir de los casos del conglomerado h. Si
Xk es

una variable categórica, almacene la frecuencia nhkj de cada categoría j de la variable en función
de la

casos en el grupo h. Almacene también la categoría modal Mhk . Estas estadísticas suficientes se
utilizarán

en el cálculo de la distancia de probabilidad logarítmica d( h, s) entre un grupo h y un caso dado s.

Etapa de puntuación

Esta etapa realiza las siguientes tareas sobre la calificación (prueba o entrenamiento) de los datos:

1. Selección de nueva categoría válida. Los datos de puntuación deben contener las variables de
entrada { Xok,k = 1,

…, K} en los datos de entrenamiento. Además, el formato de las variables en los datos de


puntuación debe ser el

mismos que los del archivo de datos de entrenamiento durante la Etapa de Modelado.

Los casos en los datos de puntuación se descartan si contienen una variable categórica con un
valor válido.

categoría que no aparece en los datos de entrenamiento. Por ejemplo, si Región es una variable
categórica

con categorías IL, MA y CA en los datos de entrenamiento, un caso en los datos de puntuación que
tiene una validez

la categoría FL para Región será excluida del análisis.

Algoritmos DETECTANOMALIA

2. Gestión de valores perdidos (opcional). Para cada variable de entrada Xok , si Xok es un
continuo

variable, use todos los valores válidos de esa variable para calcular la gran media Mk y el gran
estándar

desviación SDk . Reemplace los valores faltantes de la variable por su gran media. Si Xok es un

variable categórica, combine todos los valores faltantes y cree una categoría de valor faltante. Este

se trata la categoría

como una categoría válida.


3. Creación de la variable de porcentaje de valor faltante (opcional según la etapa de modelado). Si
XK+1 es

creado en la etapa de modelado, también se calcula para los datos de puntuación.

4. Asigne cada caso a su grupo sin ruido más cercano. El modelo de agrupamiento de la

La etapa de modelado se aplica a las variables procesadas del archivo de datos de puntuación para
crear un grupo

DNI para cada caso. Los casos que pertenecen al grupo de ruido se reasignan a su no ruido más
cercano

grupo. Consulte el documento del algoritmo TwoStep Cluster para obtener más información sobre
el clúster de ruido.

5. Calcular Índices de Desviación Variable. Dado un caso s, se encuentra el grupo h más cercano. La
variable

índice de desviación VDIk de la variable Xk se define como la contribución dk ( h, s) de la variable a


su

distancia logarítmica de verosimilitud d( h, s). El valor de norma correspondiente es Mhk , que es


el clustersample

la media de Xk si Xk es continuo, o el modo clúster de Xk si Xk es categórico.

6. Calcular el índice de desviación de grupo. El índice de desviación de grupo GDI de un caso es la


distancia logarítmica de verosimilitud d( h, s), que es la suma de todos los índices de desviación
variable { VDIk , k = 1,

…,K +1}.

7. Calcular Índice de Anomalía y Medidas de Contribución Variable. Dos índices adicionales son

calculados que son más fáciles de interpretar que el índice de desviación de grupo y la desviación
variable

índice.

El índice de anomalía de un caso es una alternativa al GDI, que se calcula como la razón de la

GDI del caso al GDI promedio del clúster al que pertenece el caso. valores crecientes de este

corresponden a mayores desviaciones del promedio e indican mejores candidatos a anomalías.

La medida de contribución variable de una variable de un caso es una alternativa al VDI, que es

calculado como la relación entre el VDI de la variable y el GDI del caso. Esta es la contribución
proporcional

de la variable a la desviación del caso. Cuanto mayor sea el valor de esta medida, mayor

la contribución de la variable a la desviación.


Situaciones extrañas

cero dividido por cero

La situación en la que el GDI de un caso es cero y el GDI promedio del grupo que el caso

pertenece también es cero es posible si el grupo es un singleton o está formado por casos
idénticos y

el caso en cuestión es el mismo que los casos idénticos. Si este caso se considera como un

anomalía o no depende de si el número de casos idénticos que componen el grupo es grande

o pequeño. Por ejemplo, suponga que hay un total de 10 casos en el entrenamiento y dos grupos
son

resultó en que un grupo es un singleton; es decir, compuesto de un caso, y el otro tiene nueve

casos. En esta situación, el caso en el clúster singleton debe considerarse como una anomalía, ya
que

no pertenece al grupo más grande. Una forma de calcular el índice de anomalía en esta situación
es

configúrelo como la relación entre el tamaño promedio del conglomerado y el tamaño del
conglomerado h, que es:

Algoritmos DETECTANOMALIA

Siguiendo el ejemplo de 10 casos, el índice de anomalía para el caso que pertenece al clúster
singleton

sería (10/2)/1 = 5, que debería ser lo suficientemente grande para que el algoritmo lo detecte
como una anomalía.

En esta situación, la medida de contribución variable se establece en 1/(K+1), donde (K+1) es el


número de

variables procesadas en el análisis.

Distinto de cero dividido por cero

La situación en la que el GDI de un caso es distinto de cero pero el GDI promedio del grupo que el
caso

pertenece a es 0 es posible si el grupo correspondiente es un singleton o está formado por casos


idénticos

y el caso en cuestión no es el mismo que los casos idénticos. Supongamos que el caso i pertenece
al clúster

h, que tiene un GDI promedio de cero; es decir, promedio(GDI)h = 0, pero el GDI entre el caso i y
el grupo h es distinto de cero; es decir, GDI( i , h) ≠ 0. Una opción para el cálculo del índice de
anomalía del caso i

podría ser establecer el denominador como el GDI promedio ponderado sobre todos los demás
grupos si este valor es

no 0; de lo contrario, establezca el cálculo como la relación entre el tamaño promedio del clúster y
el tamaño del clúster h. Eso es,

si

de lo contrario

Esta situación desencadena una advertencia de que el caso se asigna a un grupo que se compone
de idénticos

casos.

Etapa de razonamiento

Cada caso ahora tiene un índice de desviación de grupo y un índice de anomalía y un conjunto de
desviación variable

índices y medidas de cotización variable. El propósito de esta etapa es clasificar los posibles

casos anómalos y proporcionar las razones para sospechar que son anómalos.

1. Identificar los Casos Más Anómalos. Ordenar los casos en orden descendente sobre los valores
de los

índice de anomalía. El porcentaje de anomalías superior (o alternativamente, la nanomalía


superior ) proporciona la lista de anomalías,

sujeto

a la restricción de que los casos con un índice de anomalía menor o igual a la anomalía del punto
de corte no son

considerado anómalo.

2. Proporcionar Razones para Considerar un Caso Anómalo. Para cada caso anómalo, ordene el

variables por sus correspondientes valores VDIk en orden descendente. La variable de kanomalia
superior

se muestran los nombres, su valor (de la correspondiente variable original Xok ), y los valores de la
norma

un razonamiento

Fórmulas clave de la agrupación en dos pasos

El algoritmo de agrupamiento de dos pasos consta de: (a) un paso previo al agrupamiento que
agrupa previamente los casos en
muchos sub-clusters y (b) un paso de cluster que agrupa los sub-clusters resultantes del pre-
cluster

paso al número deseado de grupos. También puede seleccionar el número de clústeres


automáticamente.

La fórmula para la distancia logarítmica de verosimilitud d( j, s) entre 2 conglomerados j y s es la


siguiente:

dónde

Algoritmos DETECTANOMALIA

donde > 0 es un ajuste positivo incluido en la fórmula para evitar el logaritmo de cero en

el cálculo. Su valor se establece como:

donde m es especificado por el usuario y se establece en m = 6 de forma predeterminada, y es la


varianza muestral de la variable

Xk sobre toda la muestra de entrenamiento.

La distancia logarítmica de verosimilitud se puede calcular de la siguiente manera:

dónde

dependiendo de si la variable correspondiente Xk es continua o categórica.

Para obtener más información, consulte el tema “Algoritmos de CLUSTER DE DOS PASOS”.

También podría gustarte