Instituto Politecnico Nacional
Escuela Superior de Computo
Seccion de Posgrado e
Investigacion
Deteccion de elementos anomalos en flujos de datos
mediante minerıa de datos
T E S I S
que para obtener el Grado de
Maestro en Ciencias
en Sistemas Computacionales Moviles
Presenta
Ing. Virginia Salinas Barrera
Director de la Tesis
Dra. Lorena Chavarrıa Baez
Ciudad de Mexico, Mexico Noviembre 2017
DEDICATORIA
A mis padres, Luisa Barrera Salazar y Juan Salinas Vega, gracias por siempre
acompañarme y darme libertad y soporte para dirigir mi vida a donde quisiera aun
cuando fuera incierto el camino, por tener una completa aceptación a mi persona sin
cuestionar el futuro.
A Miguel Ángel Salinas Barrera, Eres la persona solidaría con carácter y valor, la
persona que más quiero en esta vida y que me ha acompañado en lo más oscuro de
esta.
A mi maestro Ramón Valero Covarrubias, por su gran dedicación en mi formación como
deportista y llevarme a obtener el primer lugar en KUMITE, Federación Nacional de
Karate.
DR. Fonseca Araujo, Walter Humberto. Por la gran paciencia y compartir su sabiduría en
electrónica y a quien admirare por su excelente manejo de catedra y fusionar lo teórico y
práctico y no dejar las cosas en un papel.
AGRADECIMIENTOS
Al Instituto Politécnico Nacional,
Por haberme permitido formarme en él y formar parte de él.
A todos los profesores del departamento de posgrado en ciencias en
sistemas computacionales de la SEPI - ESCOM
A la comisión revisora del trabajo:
Dra. Lorena Chavarria Báez
Dra. Elena Fabiola Ruiz
Ledesma. Dra. Rosaura Palma
Orozco.
M. en C. Erika Hernández Rubio.
DR. Joselito Medina Marín.
Lic. Andrés Ortigoza Campos
RESUMEN
La tecnologıa avanza a tal grado que se el ser humano la adopta e incorpora a su
vida cotidiana, basta observar el creciente numero de usuarios de dispositivos moviles,
sensores, redes de sensores, etc. Debido a esto, es necesario gestionar y procesar el
nuevo tipo de informacion que se genera, llamada flujo de datos. Un area relevante es
la identificacion de elementos atıpicos en flujos de datos mediante minerıa de datos. En
este trabajo de tesis se desarrollo un metodo de identificacion de elementos atıpicos que,
a diferencia de algunas otras propuestas, permite detectar mas de un tipo de anomalıa.
Palabras clave: deteccion de elementos atıpicos, minerıa de datos, flujo de datos.
i
ABSTRACT
Technology advances to such an extent that the human being adopts and incorporates
it into their daily life, just observe the growing number of users of mobile devices, sensors,
sensor networks, etc. Because of this, it is necessary to manage and process the new type
of information that is generated, called data stream. A relevant area is the identification
of atypical elements (outliers) in data streams through data mining. In this thesis, a
method was developed to identify atypical elements that, unlike some other proposals,
allows to detect more than one type of anomaly.
Key words: outlier detection, data mining, data stream.
ii
INDICE
1 Introduccion 1
1.1 Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Clasificacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Descripcion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Sistemas de Flujo de Datos 9
2.1 Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Flujo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Procesamiento de flujos de datos . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Gestion de flujos de datos . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Minerıa de flujo de datos . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Comentarios Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
viii INDICE
3 Deteccion de Elementos Atıpicos 17
3.1 Introduccion a la minerıa de datos . . . . . . . . . . . . . . . . . . . . . . 18
3.1.1 Definicion y orıgenes . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.2 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3 Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Elementos atıpicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 Modelos basicos de deteccion . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 Analisis de valores extremos . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 Probabilısticos y estadısticos . . . . . . . . . . . . . . . . . . . . . 26
3.3.3 Lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.4 Basados en proximidad . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.5 Alta dimensionalidad . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 Deteccion de elementos anomalos en flujos de datos mediante minerıa
de datos 29
4.1 Enfoque general de solucion . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Flujo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Modulo de establecimiento de parametros . . . . . . . . . . . . . . . . . . 32
4.4 Modulo de generacion de ventana . . . . . . . . . . . . . . . . . . . . . . 35
4.5 Modulo de deteccion de outliers . . . . . . . . . . . . . . . . . . . . . . . 37
4.5.1 Tipo I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5.2 Tipo II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5.3 Tipo III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6 Repositorios de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.6.1 Outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
iv
INDICE ix
4.6.2 Metadatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.7 Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 Implementacion 45
5.1 Programa principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.2 Flujo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Modulo de establecimiento de parametros . . . . . . . . . . . . . . . . . . 47
5.4 Modulo de generacion de ventana . . . . . . . . . . . . . . . . . . . . . . 47
5.5 Modulo de deteccion de outliers . . . . . . . . . . . . . . . . . . . . . . . 48
5.6 Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6 Caso de estudio 51
6.1 Flujo de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.2.1 Elementos atıpicos tipo I . . . . . . . . . . . . . . . . . . . . . . . 53
6.2.2 Elementos atıpicos tipo II . . . . . . . . . . . . . . . . . . . . . . 53
6.2.3 Elementos atıpicos tipo III . . . . . . . . . . . . . . . . . . . . . . 57
6.3 Comentarios finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7 Conclusiones y trabajo futuro 65
7.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.2 Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Referencias 73
v
CAPITULO 1
INTRODUCCION
La deteccion de elementos anomalos tiene como objetivo encontrar aquellos objetos
que son diferentes del resto. Este tipo de elementos se denominan anomalos, atıpicos, o,
por su termino en ingles, outliers. Existen diversos enfoques de deteccion de anomalıas
que provienen de distintas areas, por ejemplo, la estadıstica, el aprendizaje maquina y
la minerıa de datos. Es en esta ultima donde se centra este trabajo.
Este capıtulo presenta, en la Seccion 1.1, la motivacion principal del trabajo de tesis. La
Seccion 1.2 describe el planteamiento del problema. Los objetivos, tanto general como
especıficos, se muestran en la Seccion 1.3. El estado del arte se resume en la Seccion 1.4.
La Seccion 1.5 proporciona al lector la clasificacion de la tesis. Finalmente, la Seccion
1.6 muestra la descripcion del resto del documento.
1
2 Capıtulo 1
1.1 Motivacion
En muchos aspectos de la vida cotidiana, llamense naturaleza, sociedad, estudios, tra-
bajo, etc., existen situaciones comunes u ordinarias. Sin embargo, estas no estan exentas
de alteraciones que pueden modificar su comportamiento, por ejemplo, cuando aparecen
estaciones del ano particularmente lluviosas o secas. Este tipo de circunstancias “raras”
pueden proporcionar informacion valiosa sobre la existencia de problemas o revelar la
presencia de nuevos fenomenos que necesitan ser investigados. De ahı el interes por ex-
plorarlas.
Para ilustrar la importancia de efectuar la deteccion de elementos anomalos, considerense
las siguientes situaciones:
1. Deteccion de fraudes. Supongase que una persona robo la tarjeta de credito de
algun otro individuo y efectuo compras que van en perjuicio tanto del propietario
de la tarjeta como del banco emisor, ya que el propietario no reconocera los cargos
hechos. Para resolver si debe exonerar de los cargos al propietario de la tarjeta, el
banco analiza su patron de compra. La ocurrencia de alguna irregularidad indica
que el propietario no realizo las compras y no tiene por que pagar la cuenta.
2. Salud publica. Varios hospitales y clınicas reportan estadısticas a organismos gu-
bernamentales acerca de distintos aspectos de su operacion y de los padecimientos
que atienden. Uno de ellos es el reporte de vacunacion. Supongase, por ejemplo,
que los infantes de una cierta zona son vacunados contra alguna enfermedad, en-
tonces, si sucede que algunos de ellos presentan el padecimiento contra el que fueron
inmunizados y tienen que ser ingresados a algun hospital, quiere decir que puede
existir un problema con el programa de vacunacion o con las vacunas mismas.
3. Cambio climatico. En anos recientes, el mundo se ha visto inmerso en una can-
tidad innumerable de desastres naturales atıpicos de todos los tipos, huracanes,
ESCOM - IPN Seccion de Posgrado e Investigacion
Introduccion 3
inundaciones, incendios, que, por su magnitud han puesto en serio peligro la in-
tegridad fısica de, en algunos casos, cientos de personas y acabado con la vida de
muchas otras. El reto en esta area es predecir la probabilidad de ocurrencia de
estos eventos y las causas que los originan.
El avance en la tecnologıa, particularmente en la tecnologıa movil, ha hecho posible con-
tar con aplicaciones que proporcionan datos de manera continua, los cuales se denominan
flujos de datos, en donde tambien es necesario poder detectar oportunamente situaciones
irregulares. Como ejemplo de esta aseveracion se muestran los siguientes casos.
1. Deteccion de intrusos. Desde hace algun tiempo, los ataques a los sistemas com-
putacionales y redes de computadoras son comunes. Sin embargo, los problemas no
han quedado ahı. Actualmente, se tiene registro de intrusiones que hacen algunos
delincuentes a los dispositivos moviles de las personas, desde celebridades hasta
personas comunes, con el fin de apoderarse de informacion valiosa. Varias de esas
intromisiones solo pueden ser detectadas manteniendo una constante supervision
de estos sistemas e identificando comportamientos inusuales.
2. Medicina. Varias aplicaciones medicas hacen uso de sensores para mantenerse al
tanto de los signos vitales de los pacientes. En este tipo de situaciones es importate
poder detectar, a tiempo, situaciones irregulares a fin de garantizar la salud de las
personas.
Como se puede ver, todas estas situaciones requieren el desarrollo de métodos que per-
mitan identificar irregularidades de manera adecuada. Es por esto que este trabajo de
tesis se enfoca en detectar elementos anomalos en flujos de datos.
1.2 Planteamiento del problema
Aplicaciones en areas tales como la medicina, las telecomunicaciones, las redes de
sensores, la financiera, entre otras, generan datos, llamados flujos de datos, que necesitan
ESCOM - IPN Seccion de Posgrado e Investigacion
4 Capıtulo 1
ser analizados para encontrar posibles irregularidades que brinden informacion sobre
problemas potenciales o situaciones que necesitan revisarse con detalle. En este trabajo
de tesis, se pretende responder la siguiente pregunta que plantea el problema:
¿Como identificar elementos anomalos en flujos de datos, de los tres tipos reportados en
la literatura, usando minerıa de datos?
1.3 Objetivos
En esta seccion se muestran objetivos, tanto el general como los especıficos, del trabajo
de tesis.
General
Implementar un metodo de deteccion de elementos anomalos en flujos de datos, basado
en tecnicas de minerıa de datos.
Especıficos
1. Identificar caracterısticas relevantes que pueden afectar en la deteccion de elemen-
tos anomalos.
2. Disenar una forma de identificar elementos anomalos de tipo I, tipo II y tipo III.
1.4 Estado del arte
Existen varias tecnicas de deteccion de elementos anomalos. Entre las principales se
encuentran las siguientes:
1. Basada en modelos. En esta tecnica, como su nombre lo indica, se construye un
modelo de los datos. Los elementos anomalos son aquellos que difieren del modelo
ESCOM - IPN Seccion de Posgrado e Investigacion
Introduccion 5
disenado. El principal problema con esta tecnica es que en algunos casos es difıcil
generar el modelo.
2. Basada en proximidad. A menudo es posible definir una medida de proximidad
entre objetos. Un elemento se convierte en anomalo cuando estan mas distantes
de otros elementos.
3. Basada en densidad. Si se cuenta con una medida de distancia entre objetos, es
posible estimar la densidad de los mismos. Los objetos que estan en regiones de
baja densidad, se encuentran relativamente lejos de sus vecinos y se consideran
como anomalos.
En este trabajo de tesis se sigue la tecnica basada en proximidad. Como se muestra en el
Capıtulo 3, existen varios enfoques dentro de esta tecnica. A continuacion se muestran
algunos trabajos relevantes que emplean el enfoque de agrupacion.
En la referencia [34] se describe CORM (Cluster based OutlieR Miner), en el que se di-
vide el flujo de datos en segmentos mas pequenos y se efectua el proceso de agrupamiento
en cada uno de ellos, usando el algoritmo K -mean, con un numero fijo de grupos. Se
mantiene la informacion del valor medio de cada grupo, ası como los outliers candidatos
y se descarta la region segura, es decir, aquella que concentra la mayor cantidad de
elementos. Los valores almacenados se utilizan en el procesamiento de los siguientes
segmentos del flujo y, al final, se decide si el elemento de datos marcado inicialmente
como outlier es realmente un elemento atıpico o no.
La propuesta de Yogita et al [30], [34] consiste en combinar los algoritmos DBSCAN
(Density Based Spatial Clustering of Applications with Noise) y Weighted K-mean. DB-
SCAN se usa para determinar el numero de grupos que se deben generar, con lo que
se libera al usuario de tener que indicar, algunas veces, erroneamente, este parametro.
Posteriormente, y, usando el numero de grupos determinado por DBSCAN, Weighted
K-mean agrupa cada segmento de datos y, como en la propuesta descrita en la referen-
cia [30], se identifican outliers candidatos, los cuales se consideran para el analisis del
ESCOM - IPN Seccion de Posgrado e Investigacion
6 Capıtulo 1
siguiente bloque de datos. El uso del algoritmo Weighted K-mean permite asignar pesos
a los atributos que conforman el flujo dependiendo de su relevancia, es decir, pesos mas
grandes se asignan a los atributos mas relevantes mientras que pesos mas pequenos se
asignan a los atributos menos relevantes.
En la referencia [33], se usan dos algoritmos, a saber: BIRCH (Balanced Iterative Re-
ducing and Clustering using Hierarchies) con K-mean y BIRCH con CLARANS, para
agrupar los elementos de datos y encontrar los elementos atıpicos en los flujos de datos.
Para el analisis se usaron diferentes tipos y tamanos de conjuntos de datos ası como
dos factores de desempeno, como son la precision del agrupamiento y la exactitud de
la deteccion de elementos atıpicos. Al comparar los resultados obtenidos, los autores
observaron que el desempeno de la combinacion de los algoritmos BIRCH y CLARANS
es mas preciso que aquel que se obtiene de la combinacion BIRCH y K-mean.
En la referencia [32], se presenta STORM (STream OutlieR Miner). Este trabajo pro-
pone un metodo basado en distancia para la deteccion de outliers en flujos de datos
bajo el modelo de ventana deslizante. Los autores introducen el concepto de consulta
de outlier de una sola vez para detectar anomalıas en la ventana de datos actual en
cualquier momento. Se desarrollaron tres algoritmos, el primero responde exactamente
las consultas sobre outliers, pero requiere una mayor cantidad cantidad de recursos de
espacio que los otros dos. La segunda propuesta se deriva de la primera pero reduce los
requerimientos de memoria y produce una respuesta aproximada a la consulta basada
en estimaciones estadısticas. El tercer enfoque es una especializacion del algoritmo de
aproximacion de la segunda propuesa que tiene requerimientos fijos de memoria. Las
propiedades de exactitud y consumo de memoria de los algoritmos propuestos se veri-
ficaron de manera teorica y los resultados practicos demostraron la efectividad de las
propuestas.
Abstract-C se presenta en la referencia [35]. Este trabajo aborda el problema de la de-
teccion continua de outliers. Para hacerlo, los autores desarrollaron una solucion para la
ESCOM - IPN Seccion de Posgrado e Investigacion
Introduccion 7
identificacion incremental de patrones especıficos basados en vecindades para escenarios
de ventanas deslizantes. En este trabajo se empleo la propiedad de ”predecibilidad” de
las ventanas deslizantes para disminuir el efecto de los objetos que expiran sobre las
estructuras de los patrones restantes.
El metodo EXACT-N [35], por sus siglas en ingles Exact-Neighborship-Based Solution,
usa vecindades exactas que fueron descubiertas en ventanas previas para reducir el
computo al procesar cada ventana. Para el procesamiento, EXACT-N requiere que
cada punto de datos en la ventana mantenga una lista de sus enlaces hacia todos sus
vecinos, lo que permite acceder a ellos siempre que sea necesario. Cuando un elemento
de datos expira, se descarta. Cuando un nuevo elemento de datos llega a la ventana, el
algoritmo ejecuta una consulta para encontrar nuevos vecinos que se establezcan en una
nueva ventana. Usando un algoritmo de busqueda de primero en profundidad, EXACT-N
construye estructuras de agrupacion sobre los puntos nucleo de la ventana. La principal
ventaja de este trabajo es que en cada ventana se reduce la cantidad de busqueda de
consultas de alcance requeridas.
El algoritmo COD, por sus siglas en ingles Continuous Outlier Detection, es un metodo
de deteccion de outliers basado en distancia en donde los objetos estan en un espacio
metrico y se usa una funcion basada en la distancia. Para identificar un elemento como
atıpico, se usan dos factores, el primero, es el numero de objetos vecinos en un radio
determinado a partir de un objeto dado, y, el segundo, es un valor de umbral. Un objeto
es un outlier si tiene un numero menor de vecinos al establecido. COD usa un enfoque
basado en eventos para mejorar su eficiencia. No verifica cada objeto continuamente
sino que calcula un momento en el futuro en el que el objeto se podrıa convertir en un
elemento atıpico. ACOD, por sus siglas en ingles Advanced Continuous Outlier Detec-
tion, es otro algoritmo de deteccion continua de elementos atıpicos. En esta version,
los outliers se identifican considerando mas de un valor para el radio y para el umbral.
ESCOM - IPN Seccion de Posgrado e Investigacion
8 Capıtulo 1
Estos valores son especificados por diferentes usuarios.
1.5 Clasificacion de la tesis
De acuerdo a la Association for Computing Machinery (ACM) [2], este trabajo de tesis
aborda temas del apartado siguiente:
� Information System Application
– Data Mining
* Data Stream Mining
Dentro de la Maestrıa en Ciencias en Sistemas Computacionales Moviles, la tesis se
encuentra en la lınea de investigacion que se cita a continuacion:
� Desarrollo de Sistemas para el Computo Movil
1.6 Descripcion de la tesis
El presente trabajo se encuentra organizado de la siguiente forma: el Capıtulo 2 des-
cribe los sistemas basados en flujos que datos, que son aquellos encargados de trabajar
con el nuevo tipo de datos que surge como resultado de los avances de la tecnologıa en
cuestion de movilidad, los flujos de datos. Se describen las generalidades de este tipo
de sistemas y se presentan algunas caracterısticas de los flujos de datos. El Capıtulo 3
presenta la deteccion de elementos anomalos. Se muestra una introduccion a la minerıa
de datos y a los elementos anomalos y se describen las principales formas de deteccion.
El Capıtulo 4 muestra la propuesta de solucion al problema planteado. Se describe cada
una de las partes componentes. El Capıtulo 5 describe la implementacion de la solucion.
El Capıtulo 6 presenta el caso de estudio. El Capıtulo 7 exhibe las conclusiones y el
trabajo futuro. Finalmente, aparecen las referencias.
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 2
SISTEMAS DE FLUJO DE DATOS
El avance de la tecnologıa, particularmente de la relacionada con aspectos de movil-
idad, ha hecho posible contar con aplicaciones en areas tales como la medicina, las
telecomunicaciones, las redes de sensores, entre otras, que proveen o generan datos conti-
nuamente. La informacion que se produce es sumamente dinamica, es decir, se transmite
a alta velocidad, su longitud es potencialmente infinita y puede experimentar cambios
a lo largo del tiempo. Este nuevo tipo de informacion se denomina Flujo de Datos y el
sistema que la procesa es un Sistema de Flujo de Datos (SFD).
Este capıtulo introduce los SFD. La Seccion 2.1 presenta algunas situaciones que motivan
el estudio de los SFD. En la Seccion 2.2, se introducen los FD’s y sus caracterısticas prin-
cipales. La Seccion 2.3 muestra algunos tipos de procesamiento que se pueden efectuar
sobre los FD’s. Finalmente, la Seccion 2.4 describe los comentarios finales del capıtulo.
9
10 Capıtulo 2
2.1 Motivacion
Tradicionalmente, los sistemas de computo procesan informacion “estatica”, es decir,
que no sufre modificaciones constantemente. Ademas, puede ser almacenada en un
repositorio de informacion para ser procesada posteriormente. Sin embargo, muchas de
las actividades actuales del hombre requieren que la informacion se procese tan pronto
como se genera y, debido a que esta se origina constantemente, no puede ser almacenada
completamente. Esto significa que muchas veces no se puede tener una respuesta exacta
sino aproximada. Debido a estos factores, y a algunos otros mas que se detallaran a lo
largo del presente capıtulo, es que surgen los sistemas de flujos de datos. Para tener una
mejor idea de la importancia actual de este tipo de sistemas, a continuacion se presentan
algunas aplicaciones que producen flujos de datos [11]:
� Sensores: Las redes de sensores producen y/o procesan flujos de datos en situa-
ciones como la supervision de la salud de un paciente, el registro de actividades en
el area de domotica y la vigilancia de un ambiente especıfico.
� Financieras: Produce datos derivados de transacciones bancarias como pagos,
transferencias, movimientos en lınea, etc. Con el analisis de estos flujos se pueden
detectar distintas anomalıas, por ejemplo, fraudes bancarios, ası como tambien
puede ayudar a pronosticar algun beneficio.
� Seguridad nacional: Los datos que provienen desde dispositivos, como escaneres,
camaras, sensores y alarmas, en un control de seguridad, como los aeropuertos, las
centrales de autobuses y la vigilancia en la frontera, se pueden ver como flujos de
datos.
� Aplicaciones en lınea: Los datos que se transmiten por la web, por ejemplo, los
generados por Facebook, permiten que en el apartado de anuncios se muestre lo
que el usuario necesita gracias al procesamiento de los flujos de datos que el mismo
ESCOM - IPN Seccion de Posgrado e Investigacion
Sistemas de Flujo de Datos 11
usuario genera al estar navegando en la plataforma y los “me gusta” que cliquea
durante su sesion.
2.2 Flujo de datos
Un flujo de datos se define como “una secuencia ordenada de instancias que se pueden
leer solamente una vez, o un pequeno numero de veces, utilizando capacidades de calculo
y almacenamiento limitadas”. Se caracterizan por ser ilimitados, ser generados por
distribuciones no estacionarias en entornos dinamicos y fluir a alta velocidad [10]. Un
elemento de un flujo de datos puede ser visto como una tupla de una relacion [11] en
una base de datos relacional.
De manera puntual, los flujos de datos tienen las siguientes caracterısticas:
� Los flujos de datos llegan continua y secuencialmente y estan ordenados de acuerdo
a algun valor de estampa de tiempo o de algun atributo que describe al flujo.
� El origen de los flujos de datos se encuentra, comunmente, en fuentes externas
u otras aplicaciones. Por lo tanto, la informacion de los flujos no esta exenta de
cambios y/o errores, debido a, por ejemplo, problemas durante la transmision.
� Los elementos de un flujo de datos pueden provenir de una o varias fuentes de datos
distribuidas en un cierto entorno, por ejemplo, aplicaciones medicas que obtienen
datos de varios sensores.
� Las caracterısticas de entrada de los flujos no se pueden, generalmente, controlar
ni predecir. La tasa de entrada puede variar desde algunos bytes por segundo,
como en las lecturas de un sensor, hasta varios gigabytes por segundo, como en la
transimision de datos en redes de fibra optica. Ademas, la tasa de entrada puede
ser irregular, incluso, puede llegar a ser, en algunos casos, como una “rafaga”, lo
que dificulta poder procesarlos varias veces [4].
ESCOM - IPN Seccion de Posgrado e Investigacion
12 Capıtulo 2
� La longitud de los flujos de datos es potencialmente infinita y, por lo tanto, no es
posible almacenarlos para despues procesarlos. Escenarios tıpicos de esta situacion
se encuentan en los registros de grabacion de detalles de llamadas de AT&T, que
son de cerca de 1 gigabyte por hora, y en las redes de trasmision de datos por fibra
optica, que pueden transferir hasta 40 gigabytes por segundo [4].
Los flujos de datos pueden experimentar cambios a lo largo del tiempo, esto se conoce
como cambio de concepto, o, concept drift, por su termino en ingles [9], [8]. Existen
tres tipos de cambios [9]: abrupto (instantaneo), que se puede ejemplificar como un
dıa soleado en el que de pronto empiezan a aparecer nubes negras que provocan una
tormenta; gradual, como la transicion entre las estaciones del ano; y, de distribucion, por
ejemplo, cuando llueve y de pronto empieza a caer granizo se considera un cambio de
este tipo por la forma en la que ahora cae la lluvia.
2.3 Procesamiento de flujos de datos
Al igual que los datos son procesados para diversos fines en los sistemas de computo
convencionales, los flujos de datos tambien necesitan ser tratados para obtener de ellos
un beneficio. A continuacion se muestran un par de ejemplos de procesamiento de flujos
de datos.
2.3.1 Gestion de flujos de datos
Un Sistema Gestor de Flujo de Datos (SGFD) permite manipular flujos de datos [12]
considerando las caracterısticas de los mismos y sus implicaciones sobre aspectos de ca-
lidad en el servicio y recursos disponibles, e.g., memoria. Se compone, basicamente, de
cinco elementos, a saber: manejador de flujos de entrada, BD’s persistente y temporal,
monitor de calidad en el servicio y optimizador de ejecucion, memoria cache/buffer, y mo-
tor de consultas continuas [12]. El manejador de flujos de entrada, obtiene, periodicamente,
ESCOM - IPN Seccion de Posgrado e Investigacion
Sistemas de Flujo de Datos 13
los flujos enviados por un emisor. Este elemento se comunica con la BD persistente
para almacenar, permanentemente, muestras representativas de los flujos de entrada,
las cuales pueden, posteriormente, emplearse para efectuar consultas y/o generar es-
tadısticas requeridas por las aplicaciones o el usuario. El monitor de calidad en el servi-
cio y el optimizador de ejecucion, en conjunto, se encargan de verificar constantemente
la capacidad de procesamiento disponible para realizar algun proceso. Ademas, tratan
de optimizar los recursos existentes y mantienen informados a los demas componentes
sobre esta condicion. El componente de memoria cache/buffer se encarga de mantener
en memoria las muestras de flujos de datos obtenidas para poder procesarlas. Se co-
munica constantemente con la BD temporal, en donde se almacenan momentaneamente
las muestras tomadas, ası como con el optimizador de ejecucion para informarles sobre
la capacidad de almacenamiento de datos del buffer. Conforme se alcanza la capacidad
de la memoria cache, se descartan flujos antiguos para mantener actualizados los datos
y poder generar informacion por medio del motor de consultas continuas. Este ultimo
elemento es clave en la arquitectura ya que se encarga de comunicarse con los demas
componentes para producir informacion que va a ser enviada al usuario/aplicacion. Se
caracteriza porque entrega una respuesta aproximada a las consultas, en tiempos muy
cortos. Sin embargo, se intenta tener el menor margen de error en la informacion gen-
erada. En la literatura se reportan varios SGFD’s, tanto de proposito especıfico como
general. Dentro de los primeros se encuentran Gigascope [16], StatStream [52], TinyDB
[32], y Nile [25]. Este tipo de sistemas, como su nombre lo dice, tratan una problematica
particular, debido a ello no pueden funcionar en condiciones diferentes para las que
fueron hechos. Los sistemas de proposito general consideran varios de los aspectos im-
portantes al procesar flujos de datos. Ejemplos relevantes de este tipo de sistemas son:
Borealis [48] y Aurora [49], su sucesor, ambos creados por las Universidades de Brown,
Brandeis y el Instituto Tecnologico de Massachusetts; STanford stREam datA Manager
ESCOM - IPN Seccion de Posgrado e Investigacion
14 Capıtulo 2
(STREAM), desarrollado por la Universidad de Stanford; y MavStream [1], concebido
por la Universidad de Utah.
2.3.2 Minerıa de flujo de datos
La llegada de los sistemas basados en flujos de datos, las redes de sensores y los dispo-
sitivos moviles crearon la necesidad de contar con herramientas eficientes de analisis de
datos capaces de obtener conocimiento a partir del nuevo tipo de informacion que son los
flujos de datos. La Minerıa de Datos Ubicua, UDM, por su termino en ingles Ubiquitous
Data Mining, ha tratado de resolver este problema ya que, entre sus varias definiciones,
es el proceso de analizar datos que emanan de fuentes distribuidas y heterogeneas de
dispositivos moviles o redes de sensores. Entre otras definiciones, la UDM es [42]:
1. proceso, crıtico en tiempo, para descubrir patrones en flujos de datos en un am-
biente inalambrico,
2. proceso de efectuar analisis de datos en dispositivos moviles, embebidos y/o ubi-
cuos.
El enfoque fundamental de la UDM es llevar a cabo tecnicas de minerıa, computacional-
mente intensivas, en ambientes moviles que tienen recursos computacionales restringidos
y presentan caracterısticas variables de la red.
La UDM representa la siguiente generacion de la minerıa de datos tradicional ya que
da soporte a las necesidades de informacion de los usuarios moviles y facilita la ex-
traccion de conocimiento en cualquier momento y lugar. Hay que notar que la UDM
no es equivalente a realizar tareas de minerıa de datos convencional considerando recur-
sos computacionales limitados sino que la UDM requiere realizar el analisis de datos en
contextos moviles y considerando que el tiempo es un factor crıtico.
ESCOM - IPN Seccion de Posgrado e Investigacion
Sistemas de Flujo de Datos 15
2.4 Comentarios Finales
Los avances en la tecnologıa movil ha propiciado la aparicion de sistemas denominados
sistemas de flujos de datos que procesan un nuevo tipo de informacion llamado flujo de
datos. Este tipo de datos tienen caracterısticas especiales que hacen que los metodos,
e incluso, herramientas, que se utilizan en diversas areas de la computacion no sean
aplicables directamente, por lo que se ha visto la necesidad de redisenarlos. Tal es el
caso de los Sistemas de Bases de Datos, que han evolucionado en Sistemas Gestores de
Flujo de Datos y la Minerıa de Datos, que ha progresado hacia la Minerıa de Datos
Ubicua.
ESCOM - IPN Seccion de Posgrado e Investigacion
16 Capıtulo 2
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 3
DETECCION DE ELEMENTOS ATIPICOS
La minerıa de flujos de datos es el proceso de extraer conocimiento de los flujos de
datos. Sin embargo, dadas las caracterısticas de los mismos, esta tarea supone un mayor
reto que la minerıa de datos tradicional. Una de las tareas de la minerıa de flujos de datos
es la deteccion de elementos atıpicos, que permite identificar o encontrar conocimiento in-
esperado en areas como la localizacion de fraudes con tarjetas de credito, descubrimiento
de comportamiento criminal o identificacion de intrusiones en los sistemas de computo.
En este capıtulo se detalla la deteccion de elementos atıpicos. En la Seccion 3.1 se
proporciona una introduccion a la minerıa de datos, se describen sus orıgenes, se propor-
cionan algunos ejemplos de aplicacion y se describen sus tareas principales. La Seccion
3.2 describe a los elementos anomalos. Se presentan las definiciones mas comunes en la
literatura y se describen algunas de las causas que los originan ası como algunas aplica-
ciones en donde es importante el descubrimiento de este tipo de elementos. La Seccion
3.3 describe los metodos basicos de deteccion de elementos atıpicos, entre los que se
17
18 Capıtulo 3
incluyen metodos probabılisticos y estadısticos, metodos lineales, metodos basados en
proximidad, entre otros. Finalmente, se muestran las conclusiones del capıtulo.
3.1 Introduccion a la minerıa de datos
Los avances tecnologicos en la recoleccion y almacenamiento de datos han permitido
a organizaciones de diversa ındole acumular una vasta cantidad de datos. El problema
que se presenta con esta situacion se puede expresar con una pregunta: ¿como explotar,
es decir, extraer informacion relevante, de esa gran cantidad de datos?. La respuesta es:
usando Minerıa de Datos.
3.1.1 Definicion y orıgenes
La Minerıa de Datos es una tecnologıa que combina los metodos de analisis tradi-
cional de datos con algoritmos sofisticados para procesar grandes volumenes de datos
y ası obtener, automaticamente, informacion util y novedosa [38], [39]. Es importante
mencionar que no todas las tareas de descubrimiento de informacion se consideran parte
de la minerıa de datos. Por ejemplo, obtener registros particulares dentro de una Base
de Datos (BD) mediante un Sistema Gestor de BD (SGBD) es una actividad propia del
area de recuperacion de informacion mas que de minerıa de datos ya que el punto central
de esta ultima es proporcionar informacion inmersa, es decir, no es observable a simple
vista, en un conjunto de datos.
La minerıa de datos es una parte importante en el proceso de Descubrimiento de Cono-
cimiento en BD’s, KDD, por su siglas en ingles Knowledge Discovery in Databases, el
cual es el encargado de convertir datos ”crudos” en informacion util. La fig. 1 muestra,
de manera general, el proceso de KDD. Los datos de entrada se pueden almacenar en
diversos formatos y pueden estar centralizados o distribuidos. El pre-procesamiento pro-
porciona a los datos de entrada el formato adecuado para el analisis posterior. Algunas
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de Elementos Atıpicos 19
Figura 3.1: El proceso de KDD [38], [39]
transformaciones que se pueden aplicar en el pre-procesamiento son las siguientes: fusion
de datos de multiples fuentes, limpieza de datos para remover ruido y/o redundancias
y seleccion de registros y caracterısticas relevantes. El post-procesamiento asegura la
generacion de resultados validos y utiles. Un ejemplo de esta etapa es la visualizacion,
que permite explorar los datos y los resultados de la minerıa de datos desde diversos
puntos de vista. Las medidas estadısticas tambien se pueden aplicar en esta etapa para
eliminar resultados espurios de la minerıa de datos.
Los orıgenes de la minerıa de datos se encuentran en conceptos como el muestreo, la
estimacion y pruebas de hipotesis, que provienen de la estadıstica, y algoritmos de
busqueda, tecnicas de modelado y teorıas de aprendizaje, que se desarrollaron en las
areas de inteligencia artificial, reconocimiento de patrones y aprendizaje maquina [38],
[39]. Tambien ha adoptado ideas de campos como la optimizacion, el computo evolutivo,
la teorıa de la informacion, el procesamiento de senales, la visualizacion y la recuperacion
de informacion. No se debe dejar de lado a las bases de datos, ya que estas proporcionan
el soporte para el almacenamiento de grandes volumenes de informacion, y a las tecnicas
del computo paralelo y distribuido, porque estas permiten el procesamiento eficiente de
la informacion. Ası, como se puede observar, en la minerıa de datos confluyen una gran
cantidad de disciplinas.
ESCOM - IPN Seccion de Posgrado e Investigacion
20 Capıtulo 3
3.1.2 Ejemplos
La recoleccion de datos en puntos de venta ha permitido a los comerciantes conocer
informacion relevante sobre las compras realizadas por sus clientes. Esta informacion se
puede procesar, mediante la minerıa de datos, para entender mejor las necesidades de los
clientes y ası efectuar decisiones de negocios mas productivas. Ademas, tambien es posi-
ble desarrollar aplicaciones para conocer el perfil de los compradores, las caracterısticas
del mercado objetivo, la gestion del flujo de trabajo, la ubicacion mas adecuada para
las tiendas, por citar algunas, y contestar preguntas importantes como quienes son los
compradores mas rentables, que productos se pueden exhibir/vender juntos y cuales de
manera independiente, y cual es el ingreso esperado por la companıa para el siguiente
ano.
Otras areas que estan adquiriendo datos rapidamente son la medicina y las ciencias e
ingenierıas, en general. Por citar un ejemplo, para entender el sistema climatico de la
Tierra, la NASA (por sus siglas en ingles, National Aeronautics and Space Administra-
tion) ha implementado un conjunto de satelites que orbitan alrededor de la Tierra que
continuamente generan observaciones globales de la superficie terrestre, los oceanos y la
atmosfera. A traves de tecnicas de minerıa de datos, los especialistas pueden contestar
preguntas como: ¿que influencia tiene la temperatura de la superficie de los oceanos
sobre la temperatura terrestre y la cantidad de lluvia? o ¿que tan bien se puede predecir
el inicio y final de la temporada de cultivo para una cierta region?.
Los investigadores en biologıa molecular usan la gran cantidad de datos del genoma para
entender mejor la estructura y funcion de los genes. Actualmente, es posible comparar
el comportamiento de cientos de genes bajo diferentes circunstancias para determinar
la funcion de cada uno de ellos y ası tratar de aislar a aquellos responsables de ciertas
enfermedades. En este caso, la minerıa de datos es util debido a que los datos contienen
ruido y son altamente dimensionales. Ademas, interviene en otros procesos biologicos
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de Elementos Atıpicos 21
importantes como la prediccion de la estructura de proteınas y el modelado de secuencias
metabolicas.
3.1.3 Tareas
De manera general, las tareas de minerıa de datos se pueden dividir en dos categorıas
[38]:
1. Predictivas. El objetivo de esta tarea es predecir el valor de un atributo particular
con base en los valores de otros atributos. El atributo que se desea predecir se
conoce como objetivo o variable dependiente, mientras que los atributos que se
usan para realizar esta tarea se denominan explicativos o variables independientes.
2. Descriptivas. En esta tarea, la meta es derivar patrones, como correlaciones, ten-
dencias, grupos, trayectorias y anomalıas, que sinteticen las relaciones subyacientes
en los datos. Esta tarea requiere de tecnicas de postprocesamiento para validar y
explicar los resultados.
Entre las tareas particulares se encuentran las siguientes:
1. Modelado predictivo, se refiere al proceso de construir un modelo para la variable
objetivo a partir de las variables explicativas. Hay dos tipos de modelado predic-
tivo, la clasificacion, que usa para variables objetivo discretas, y, la regresion, que
se emplea para variables objetivo continuas. Un ejemplo de clasificacion consiste
en predecir si un usuario de la Web hara una compra en lınea en una librerıa. Por
otro lado, predecir el precio de acciones en la bolsa es una tarea de regresion porque
este atributo es continuo.
2. Analisis de asociacion, se usa para descubrir patrones que describen caracterısticas
asociadas fuertemente en los datos. Los patrones descubiertos se pueden represen-
tar como reglas de implicacion o subconjuntos de caracterısticas. Ejemplos de esta
ESCOM - IPN Seccion de Posgrado e Investigacion
22 Capıtulo 3
tarea son la identificacion de paginas Web a las que se accede conjuntamente y el
entendimiento de relaciones entre diferentes elementos del sistema climatico de la
Tierra.
3. Analisis de grupos, se emplea para buscar grupos de elementos estrechamente rela-
cionados entre sı pero suficientemente diferentes de los elementos que pertenecen
a otro grupo. Esta tarea ha sido util para agrupar clientes con gustos similares y
para la compresion de datos, entre otras.
4. Deteccion de anomalıas, se intenta identificar elementos, denominados anomalıas
u outliers, por su termino en ingles, cuyas caracterısticas son significativamente
diferentes del resto de los elementos. Un buen detector de elementos anomalos
debe tener un alto rango de deteccion y una tasa baja de alarmas falsas. Ejemplos
de aplicaciones en donde es importante conocer a los elementos anomalos son la
identificacion de fraudes y la deteccion de intrusiones en la red. Sobre este tema
se hablara con mas detalle en la Seccion 3.2.
3.2 Elementos atıpicos
En este apartado se presenta una introduccion a los elementos anomalos.
3.2.1 Definicion
De acuerdo a la Real Academia Espanola (RAE) [1], atıpico, u outlier, por su termino
en ingles, se define como aquello “que por sus caracteres se aparta de los modelos repre-
sentativos o de los tipos conocidos”. Esta definicion sugiere que representa algo que es
distinto de lo que se considera comun. En la literatura especializada, existen diferentes
definiciones, las cuales se citan a continuacion [40]:
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de Elementos Atıpicos 23
1. Una observacion que se aparta tanto de otras observaciones que despierta la sospecha
que fue generada por un mecanismo diferente.
2. Una observacion marginal es aquella que parece desviarse notablemente de otros
miembros de la muestra en la que ocurre.
3. Una observacion (o conjunto de observaciones) que parece ser inconsistente con el
resto de los elementos del conjunto de datos.
Dependiendo de los diferentes dominios de aplicacion, los outliers tambien se conocen con
otros nombres, por ejemplo, excepciones, fallos, defectos, ruido, errores y contaminantes.
Los outliers pueden aparecer por multiples razones, como actividad maliciosa, errores
instrumentales, errores de configuracion, cambios en el ambiente, errores humanos, etc.
Los outliers se pueden clasificar en tres tipos principales [40]:
1. Tipo I. Un elemento de datos individual aislado dentro de un conjunto de datos.
Un ejemplo de este tipo es una medicion de temperatura de 60◦C para un dıa
cuando todas las mediciones recientes, o del conjunto de datos, han estado entre
30◦C y 40◦C.
2. Tipo II. Un elemento de datos que esta aislado con respecto a otros elementos
de datos en un contexto. El contexto se refiere a las relaciones semanticas entre
los elementos de datos. Un ejemplo de este tipo de anomalıa es una medicion de
temperatura de 37◦C, que puede no parecer extrano en las mediciones regulares
pero sı en la temporada invernal.
3. Tipo III. Un grupo particular, o subconjunto, de elementos de datos que aparecen
como outliers con respecto al conjunto de datos completo. Ningun elemento de
datos en el subconjunto es un outlier con respecto a otro elemento en el mismo
grupo, pero como agrupacion, son un outlier.
ESCOM - IPN Seccion de Posgrado e Investigacion
24 Capıtulo 3
3.2.2 Aplicaciones
En muchas aplicaciones, los outliers representan conocimiento mas interesante que las
situaciones consideradas normales, por ejemplo, en la deteccion de intrusiones en la red,
diagnosticos de fallos en maquinas, como motores, naves espaciales, etc., deteccion de
fraudes con tarjetas de credito, entre otras. A continuacion se detallan algunas de estas
aplicaciones.
� Medicas. Este tipo de aplicaciones usan diferentes tipos de herramientas de di-
agnostico. Algunos de los tipos de datos mas comunes en esta area son aquellos
que provienen de sensores, por ejemplo, cuando se realiza un electrocardiograma, y
los que se obtienen de las tomografıas computarizadas. El problema en este tipo de
situaciones consiste en determinar si el paciente presenta una irregularidad en su
salud usando un conjunto de lecturas generadas por distintos sensores conectados
a su cuerpo. En este contexto, cualquier situacion atıpica necesita reportarse en
tiempo real.
� Deteccion de eventos en texto y redes sociales. Dado un documento, el
objetivo de la deteccion de topicos inusuales es localizar documentos atıpicos, es
decir, aquellos que difieren significativamente de la tendencia actual. En otro
contexto, es posible contar con un flujo de documentos en el que se desea encontrar
eventos poco comunes que correspondan a nuevos topicos en el flujo de documentos.
Finalmente, en el area de las redes sociales, los usuarios pueden general flujos de
datos a traves de la actividad que van realizando, por ejemplo, la escritura de
tweets. Usando esta informacion, se pueden encontrar cambios en los temas de
interes.
� Correo electronico no deseado. El objetivo de la deteccion de outliers es
claro en este caso, se trata de determinar el conjunto de correos electronicos que
corresponden a los no deseados (spam, por su termino en ingles).
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de Elementos Atıpicos 25
� Aplicaciones de la ciencia de la tierra. La deteccion de outliers en esta area
se usa con diferentes fines, por ejemplo, la temperatura de la superficie marina
se registra continuamente para determinar patrones acuaticos atıpicos, entre los
que se incluyen: variaciones de temperatura y regiones en la superficie marina que
contienen formas inusuales con temperatura homogenea.
� Limpieza de datos. Este es una de las aplicaciones clasicas de la deteccion
de outliers : dado un conjunto de datos, se intenta eliminar el ruido que pueda
contener.
� Patrones de trafico y movimiento. Cuando se hacen registros de animales
de la vida salvaje, mediante etiquetas RFID, o vehıculos, usando GPS, es posible
identificar comportamientos atıpicos.
3.3 Modelos basicos de deteccion
A continuacion se muestran los modelos basicos de deteccion de outliers [38], [39].
3.3.1 Analisis de valores extremos
La forma mas basica de deteccion de outliers es el analisis de valores extremos de datos
unidimensionales. Estos son tipos muy especıficos de outliers en los que se asume que
los valores muy grandes o muy pequenos son atıpicos. El punto central de este metodo
es determinar los extremos estadısticos de la distribucion subyacente.
Hay que tener cuidado con este tipo de analisis ya que puede diferir de la definicion
tradicional de outlier. Por ejemplo, si se considera el conjunto de datos unidimensionales
{1, 2, 2, 50, 98, 98, 99}, los valores 1 y 99 podrıan ser vistos como valores extremos. Sin
embargo, la mayorıa de modelos probabilısticos y basados en densidad para la deteccion
de outliers, que se abordaran mas adelante en este capıtulo, clasificarıan el valor 50, que
no es un valor extremo, como el outlier mas fuerte en el conjunto de datos.
ESCOM - IPN Seccion de Posgrado e Investigacion
26 Capıtulo 3
3.3.2 Probabilısticos y estadısticos
En este tipo de modelos, los datos son representados en forma de una distribucion de
probabilidad y los parametros del modelo son aprendidos. De esta manera, es impor-
tante la eleccion de la distribucion de datos con la cual se llevara a cabo el modelado.
Por ejemplo, un Modelo Mixto Gaussiano (GMM, por sus siglas en ingles Gaussian Mix-
ture Model), es un modelo generativo que caracteriza los datos en forma de un proceso
generativo que contiene una mezcla de grupos gaussianos. Los parametros de esas dis-
tribuciones gaussianas se aprenden con el uso de un algoritmo Esperanza-Maximizacion
(EM, por sus siglas en ingles Expectation-Maximization) sobre el conjunto de datos. La
salida de este metodo es la probabilidad de membresıa de un elemento de datos a los
diferentes grupos. Esto provee una forma natural de modelar los outliers debido a que
los elementos de datos que tengan un valor muy bajo de pertenencia se pueden consi-
derar como atıpicos. Finalmente, un analisis de valores extremos puede aplicarse para
determinar los outliers.
3.3.3 Lineales
Las diferentes dimensiones en conjuntos de datos reales estan altamente correlaciona-
dos entre sı debido a que, en general, los atributos se generan por el mismo proceso
subyacente. En la literatura de estadıstica clasica, esto se denomina como modelo de
regresion, una forma parametrica de analisis de correlacion. Algunas formas de este tipo
de analisis intentan predecir valores de atributos individuales a partir de otros, mientras
que otras resumen los datos completos como variables latentes. Ambas formas de mo-
delado pueden ser muy utiles en diferentes escenarios de analisis de outliers.
La principal suposicion que se hace en el analisis de correlacion lineal para la deteccion
de outliers es que los datos estan embebidos en un subespacio dimensional mas pequeno,
en el cual los outliers se comportan muy distinto de otros elementos de datos.
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de Elementos Atıpicos 27
3.3.4 Basados en proximidad
La idea basica de este tipo de modelos es que los outliers se representan como puntos
aislados de un conjunto de datos. Los metodos representativos de este enfoque son: 1) el
analisis de grupos (o cluster, por su termino en ingles), 2) el analisis basado en densidad,
y 3) el analisis de los vecinos mas cercanos. En el agrupamiento, y metodos basados en
densidad, una vez que se encuentran las regiones densas, los outliers se definen como
aquellos puntos que no residen en ninguna de ellas. La principal diferencia entre el
agrupamiento y los metodos basados en densidad es que el primero segmenta puntos
mientras que los segundos segmentan el espacio. En los metodos de los vecinos mas
cercanos, se determina la distancia de cada punto hacia su k-esimo vecino mas cercano.
Eligiendo un valor de k > 1 grupos pequenos de puntos, que estan muy cercanos entre sı,
pero bastante alejados del resto del conjunto de datos, tambien se tratan como outliers.
Es logico hacer esta distincion ya que estos grupos pueden ser generados por procesos
atıpicos.
3.3.5 Alta dimensionalidad
Varios conjuntos de datos reales son altamente dimensionales, es decir, pueden con-
tener cientos o miles de dimensiones. Debido a esta caracterıstica, los metodos de de-
teccion de outliers, como los descritos en secciones anteriores, no son tan efectivos ya
que los elementos de datos son mas dispersos, y, por lo tanto, son casi equidistantes
unos de otros, lo que ocasiona que los elementos atıpicos se enmascaren. Los outliers
se pueden descubrir examinando la distribucion de los datos en un subespacio local de
menor dimensionalidad.
ESCOM - IPN Seccion de Posgrado e Investigacion
28 Capıtulo 3
3.4 Comentarios finales
La minerıa de datos permite generar conocimiento a partir del analisis de una gran
cantidad de datos. Parte de este conocimiento es la deteccion de elementos anomalos.
Identificar este tipo de elementos es importante porque proporciona indicios de situa-
ciones que requieren ser analizadas con mayor detalle. Por ejemplo, en la supervision de
signos vitales de un paciente, si ocurre una situacion extraordinaria puede ser porque,
efectivamente, el paciente ha entrado en una situacion crıtica, o porque el sensor se de-
sconecto o sufrio alguna averıa. Sea cual sea la circunstancia, debe ser atendida, de lo
contrario, los resultados pueden ser catastroficos.
Existen distintos tipos de elementos anomalos, cada uno de ellos genera una informacion
particular. De igual manera, existen diferentes metodos de deteccion. Entre ellos desta-
can los basados en agrupacion, los cuales, de manera general, dividen el conjunto de
datos en distintos subgrupos, todos aquellos elementos que no pertenezcan a un grupo,
se consideran anomalos.
La deteccion de elementos anomalos en flujos de datos es distinta a la deteccion tradi-
cional debido a las caracterısticas propias de los flujos de datos. Su longitud, potencial-
mente infinita, hace que se tengan que dividir por segmentos y, dentro de cada segmento,
realizar el analisis para encontrar outliers.
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 4
DETECCION DE ELEMENTOS ANOMALOS EN FLUJOS DE
DATOS MEDIANTE MINERIA DE DATOS
En la vida cotidiana, se encuentran situaciones “raras”, en las que se suele afirmar que
“es una en un millon”, y, debido a esto, puede no darsele demasiada importancia. Sin
embargo, tales situaciones tambien pueden proveer informacion relevante. Por ejemplo,
cuando los signos vitales de una persona se alteran sin razon aparente, puede ser un
indicio de algun problema de salud, que suele justificarse considerando el comportamiento
“normal” que indica que la persona, en general, esta sana. Por esta razon, muchos
padecimientos no se detectan a tiempo. Con este tipo de situaciones en mente, es que
se penso en desarrollar un mecanismo que pudiera detectar elementos atıpicos en flujos
de datos.
Este capıtulo, en la Seccion 4.1, describe la propuesta general de solucion al problema
de deteccion de elementos atıpicos en flujos de datos. La Seccion 4.2 presenta el tipo
de flujo de datos considerado. La Seccion 4.3 muestra el modulo de establecimiento de
29
30 Capıtulo 4
parametros. La Seccion 4.4 detalla el modulo de generacion de ventana. La Seccion
4.5 describe el modulo de deteccion de elementos atıpicos. La Seccion 4.6 presenta los
repositorios de datos empleados. Finalmente, se presentan los comentarios finales del
capıtulo.
4.1 Enfoque general de solucion
La propuesta consta, en general, de tres partes, a saber: el modulo de establecimineto
de parametros, el modulo de generacion de ventana y el modulo de deteccion de outliers.
1. El modulo de establecimiento de parametros le permite al usuario introducir los
valores iniciales para efectuar la deteccion.
2. El modulo de generacion de ventana se encarga de segmentar el flujo de datos para
generar un conjunto finito de datos que pueda ser procesado.
3. El modulo de deteccion de outliers tiene la tarea de identificar los tres tipos de
outliers descritos en el Capıtulo 3 de este trabajo. Este modulo considera el enfoque
de agrupacion, clustering, por su termino en ingles, que es una tarea de minerıa de
datos, para realizar el proceso de renocimiento de elementos atıpicos.
La fig. 4.1 muestra la interaccion de estas partes. En las siguientes secciones se describe
con mayor detalle cada componente de la solucion.
4.2 Flujo de datos
El flujo de datos que se considero para este trabajo de tesis es el generado por las
mediciones de consumo de energıa electrica en una casa con una tasa de muestreo de un
minuto en un periodo de casi cuatro anos. El repositorio [41] cuenta con diferentes atribu-
tos, como son: Date, Time, Global active power (GAP), Global reactive power (GRP),
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 31
Figura 4.1: Diagrama de la solucion general propuesta
ESCOM - IPN Seccion de Posgrado e Investigacion
32 Capıtulo 4
Voltaje (V), Global intensity (GI), Sub metering 1 (SM1), Sub metering 2 (SM2) y
Sub metering 3 (SM3). La tabla 4.1 muestra la descripcion de los atributos del flujo.
Atributo Descripcion
Date Fecha en formato dd/mm/yyyy
Time Tiempo en formato hh:mm:ss
Global active power Energıa activa global de la casa (en kilowatts)
Global reactive power Energıa reactiva global de la casa (en kilowatts)
Voltaje Voltaje (en volts)
Global intensity Intensidad de corriente global de la casa (en amperes)
Sub metering 1 Sub-medicion de energıa No. 1. Corresponde a la cocina.
Sub metering 2 Sub-medicion de energıa No. 2. Corresponde a la lavanderıa.
Sub metering 3 Sub-medicion de energıa No. 3. Corresponde al calentador.
Tabla 4.1: Informacion de los atributos del flujo de datos
La tabla 4.2 muestra un segmento de los datos del repositorio. En particular, se con-
sidero el atributo Global reactive power. Para este atributo es necesario realizar una
etapa de eliminacion de ruido ya que este altera la informacion original y, por lo tanto,
es una fuente importante de error en la deteccion de anomalıas. En el atributo utilizado,
la fuente de ruido principal es la ocurrencia de valores nulos. Por lo tanto, este tipo de
valores se descartaron en el analisis. La figura 4.2 muestra el diagrama de este modulo.
4.3 Modulo de establecimiento de parametros
En la etapa de establecimiento de parametros, el usuario, de acuerdo a su experiencia
y al dominio de la aplicacion, indica los valores con los que funcionara la deteccion. Estos
parametros son los siguientes:
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 33
Date Time GAP GRP V GI SM1 SM2 SM3
16/12/2006 17:24:00 4.216 0.418 234.840 18.400 0.000 1.000 17.000
16/12/2006 17:25:00 5.360 0.436 233.630 23.000 0.000 1.000 16.000
16/12/2006 17:26:00 5.374 0.498 233.290 23.000 0.000 2.000 17.000
16/12/2006 17:27:00 5.388 0.502 233.740 23.000 0.000 1.000 17.000
16/12/2006 17:28:00 3.666 0.528 235.680 15.800 0.000 1.000 17.000
16/12/2006 17:29:00 3.520 0.522 235.020 15.000 0.000 2.000 17.000
16/12/2006 17:30:00 3.702 0.520 235.090 15.800 0.000 1.000 17.000
16/12/2006 17:31:00 3.700 0.520 235.220 15.800 0.000 1.000 17.000
16/12/2006 17:32:00 3.668 0.510 233.990 15.800 0.000 1.000 17.000
16/12/2006 17:33:00 3.662 0.510 233.860 15.800 0.000 2.000 16.000
16/12/2006 17:34:00 4.448 0.498 232.860 19.600 0.000 1.000 17.000
16/12/2006 17:35:00 5.412 0.470 232.780 23.200 0.000 1.000 17.000
16/12/2006 17:36:00 5.224 0.478 232.990 22.400 0.000 1.000 16.000
16/12/2006 17:37:00 5.268 0.398 232.910 22.600 0.000 2.000 17.000
16/12/2006 17:38:00 4.054 0.422 235.240 17.600 0.000 1.000 17.000
16/12/2006 17:39:00 3.384 0.282 237.140 14.200 0.000 0.000 17.000
16/12/2006 17:40:00 3.270 0.152 236.730 13.800 0.000 0.000 17.000
16/12/2006 17:41:00 3.430 0.156 237.060 14.400 0.000 0.000 17.000
16/12/2006 17:42:00 3.266 0.000 237.130 13.800 0.000 0.000 18.000
16/12/2006 17:43:00 3.728 0.000 235.840 16.400 0.000 0.000 17.000
16/12/2006 17:44:00 5.894 0.000 232.690 25.400 0.000 0.000 16.000
16/12/2006 17:45:00 7.706 0.000 230.980 33.200 0.000 0.000 17.000
16/12/2006 17:46:00 7.026 0.000 232.210 30.600 0.000 0.000 16.000
16/12/2006 17:47:00 5.174 0.000 234.190 22.000 0.000 0.000 17.000
16/12/2006 17:48:00 4.474 0.000 234.960 19.400 0.000 0.000 17.000
Tabla 4.2: Algunos datos del flujo de datos.
ESCOM - IPN Seccion de Posgrado e Investigacion
34 Capıtulo 4
Figura 4.2: Diagrama del modulo de Flujo de datos
� El tamano de la ventana que se va a considerar. En este caso, el tamano esta
determinado por la cantidad de elementos que se pueden almacenar.
� El margen de error. Este valor es necesario dado que la propuesta desarrollada
esta basada en la medicion de la similitud entre elementos.
� El numero o cantidad de elementos que cada grupo debe tener. Este numero
permite identificar elementos anomalos de tipo III.
Los valores especificados se almacenan en el repositorio de metadatos para que puedan ser
consultados en posteriores ejecuciones de la propuesta. La fig. 4.3 muestra el diagrama
de este modulo. Cabe mencionar que se decidio nombrar “repositorio” y no “base de
datos” al archivo que almacena los metadatos porque solo corresponde a un archivo de
texto, es decir, no describe por completo todos los aspectos que implica el termino “base
de datos”. Una situacion similar sucede con el “repositorio de outliers” que se abordara
en secciones posteriores.
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 35
Figura 4.3: Diagrama del modulo de Establecimiento de parametros
4.4 Modulo de generacion de ventana
La fig. 4.4 muestra el diagrama a bloques del modulo de generacion de ventana. En
terminos generales, este modulo se encarga de dividir el flujo de datos de entrada, que, en
principio, puede ser de longitud infinita, en segmentos finitos, mas pequenos, de manera
que puedan ser manejados por el sistema. Para esto, como se puede ver en el diagrama
de la fig. 4.4, las entradas son el tamano de la ventana, establecido inicialmente por el
usuario, y los outliers candidatos, que resultan del proceso de deteccion. Al comienzo
del proceso, el conjunto de outliers candidatos esta vacıo y la primer ventana se crea
considerando la dimension que el usuario establecio. En las iteraciones subsecuentes,
pueden existir elementos atıpicos (candidatos) de tipo I, los cuales se agregan al final de
la siguiente ventana de datos para que sean analizados nuevamente y se determine si,
en esa ventana, son similares a algunos otros elementos y dejen de ser etiquetados como
outliers candidatos. El algoritmo 1 muestra los pasos a seguir para crear la ventana de
datos.
ESCOM - IPN Seccion de Posgrado e Investigacion
36 Capıtulo 4
Figura 4.4: Diagrama del modulo de generacion de ventana
Algoritmo 1: crear ventana(fd, outlierTipoI )
1 tam outlierTipoI = dimension(outlierTipoI );
2 i = 0;
3 j = 0;
4 k = 0;
5 while i < (tam ventana - tam outlierTipoI) do
6 ventana[i] = leer elemento actual(fd);
7 i++;
8 end
9 j = i ;
10 while j < tam ventana do
11 ventana[j] = outlierTipoI [k];
12 j++;
13 k++;
14 end
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 37
Este algoritmo crea una ventana de datos usando el flujo de datos actual. Si hay
elementos atıpicos de Tipo I, estos se introducen en la ventana para identificar de mejor
manera si corresponden a elementos anomalos o no.
4.5 Modulo de deteccion de outliers
El modulo de Deteccion de outliers, como su nombre lo indica, tiene la tarea de
identificar los elementos atıpicos de un flujo de datos. En este trabajo de tesis, se diseno
un metodo que permite identificar los tres tipos reportados en la literatura. Hasta donde
se sabe, esto es una ventaja de esta propuesta ya que los trabajos reportados en la
literatura detectan outliers de tipo I. La fig. 4.5 muestra el diagrama a bloques de este
modulo. El algoritmo 2 muestra los pasos principales que se deben ejecutar.
Como se puede ver, el modulo recibe como entradas el segmento de datos ya filtrado, es
decir, sin valores nulos; el margen de error, para calcular la semejanza entre los elementos,
y, la cantidad de elementos que se espera que cada grupo tenga. Estos dos ultimos valores
son definidos por el usuario y almacenados en el repositorio de metadados. El margen
de error se usa para identificar elementos atıpicos de Tipo I, mientras que la cantidad
de elementos por grupo se emplea para identificar elementos atıpicos de Tipo III. En el
algoritmo 2, mientras el flujo de datos no termine, se creara la ventana (lınea 6), si hay
elementos atıpicos del tipo I se introduciran en la ventana actual para ser analizados en
etapas posteriores, se separan los elementos atıpicos de Tipo I y Tipo II, y, finalmente,
se concluira acerca de los elementos reales atıpicos de Tipo II y se verificara si el grupo
formado es de Tipo III tomando en cuenta el numero de elementos definidos por el
usuario.
ESCOM - IPN Seccion de Posgrado e Investigacion
38 Capıtulo 4
Figura 4.5: Diagrama del modulo de deteccion de outliers
Algoritmo 2: Algoritmo principal
1 error = cte;
2 num = cte;
3 while el flujo de datos, fd, no termine do
4 outlierTipoI = ∅;
5 outlierTipoII = ∅;
6 w = crear ventana(fd, outlierTipoI );
7 separar elementos TipoI TipoII(w, outlierTipoI, outlierTipoII );
8 analizar TipoII TipoIII(outlierTipoII );
9 regresar;
10 end
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 39
4.5.1 Tipo I
Para realizar la deteccion de este tipo de elementos, en cada ventana se elige el primer
elemento como centro alrededor del cual se trataran de agrupar el resto de los datos.
Todos aquellos elementos que no sean similares a este dato se etiquetan como posibles
elementos atıpicos tipo I. Estos datos se guardan y se agregan a la siguiente ventana para
que puedan ser analizados una vez mas. Este proceso se repite hasta que no hay mas
datos por analizar. Los elementos que lleguen al final del analisis se consideran como
elementos atıpicos tipo I. El algoritmo 3 muestra este proceso.
4.5.2 Tipo II
Para realizar la deteccion de este tipo de elementos, una vez identificados los elementos
que se pueden agrupar por cada ventana, se calcula su promedio y un valor superior y un
valor inferior. El valor superior es el promedio mas la mitad del promedio mientras que
el valor inferior es el promedio menos la mitad del promedio. Todos aquellos valores que
esten fuera de este intervalo, se consideran elementos atıpicos de tipo II. El algoritmo 4
desarrolla esta tarea.
4.5.3 Tipo III
Para encontrar este tipo de elementos atıpicos, se usa el valor especificado por el
usuario que indica el numero de elementos esperados por grupo. De aquellos grupos de
datos detectados como elementos atıpicos tipo II, se calcula su cardinalidad y si esta
fuera del valor indicado por el usuario, se consideran elementos atıpicos de tipo III. La
parte final del algoritmo 4 verifica esta condicion.
ESCOM - IPN Seccion de Posgrado e Investigacion
40 Capıtulo 4
Algoritmo 3: separar elementos TipoI TipoII(w, outlierTipoI, outlierTipoII )
1 sim = 0;
2 i = 0;
3 j = 0;
4 k = 0;
5 avgTipoII = 0;
6 tam ventana = tama~no(w);
7 tipo1[] = ∅;
8 centro = w [0];
9 while i < tam ventana do
10 sim = similitud(centro, w [i ]);
11 if sim > error then
12 outlier TipoI [j] = w [i];
13 j++;
14 else
15 outlier TipoII [k] = w [i];
16 avgTipoII = avgTipoII + outlierTipoII [k];
17 k++;
18 end
19 i++;
20 end
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 41
Algoritmo 4: analizar TipoII TipoIII(outlierTipoII )
1 k = 0;
2 outlierTipoIIReal [] = ∅;
3 while i < tam TipoII do
4 sim = similitud(centro, w [i ]);
5 if outlierTipoII[i] > lim inferior && outlierTipoII[i] < lim superior then
6 ;
7 else
8 outlierTipoIIReal [k] = outlierTipoII [i];
9 k++;
10 end
11 i++;
12 end
13 if k > num then
14 ”Grupo de Tipo III”;
15 else
16 ;
17 end
ESCOM - IPN Seccion de Posgrado e Investigacion
42 Capıtulo 4
4.6 Repositorios de datos
En la propuesta de solucion, se hace uso de dos repositorios de informacion, a saber:
el de metadatos y el de outliers. Como se menciono en lıneas previas, estos almacenes no
son bases de datos en el sentido tradicional sino dos archivos de texto donde se depositan
datos para la identificacion de outliers. A continuacion se describe cada uno de ellos.
4.6.1 Outliers
La estructura del repositorio de outliers se muestra en la tabla 4.3. En este archivo,
como su nombre lo indica, se almacenan los elementos detectados como anomalos ası
como el tipo al que pertenece. El atributo id es un identificador numerico unico para cada
outlier reconocido. El campo elemento contiene, precisamente, el elemento detectado
como anomalo. Finalmente, la caracterıstica tipo puede tomar los valores 0, 1 o 2, para
indicar que es de Tipo I, Tipo II o Tipo III.
Elementos Anomalos
id elemento tipo
Tabla 4.3: Estructura del repositorio de elementos anomalos.
4.6.2 Metadatos
El repositorio de metadatos almacena los valores iniciales proporcionados por el usuario.
Estos valores corresponden a los atributos tamano de la ventana, margen de error y can-
tidad de elementos por grupo. Como se menciono previamente, el tamano de la ventana
especifica la cantidad de elementos que se pueden almacenar. El margen de error es
un valor decimal que indica que tan proximos pueden estar dos elementos. Finalmente,
la cantidad de elementos por grupo es un valor entero positivo que describe cuantos
ESCOM - IPN Seccion de Posgrado e Investigacion
Deteccion de elementos anomalos en flujos de datos mediante minerıa de datos 43
elementos se espera que haya por cada grupo formado. El atributo id es un identifi-
cador numerico unico para cada metadato. La estructura de este repositorio de datos se
muestran en la tabla 4.4.
Metadatos
id tamano ventana margen de error cantidad de elementos por grupo
Tabla 4.4: Estructura del repositorio de metadatos.
4.7 Comentarios finales
La deteccion de elementos anomalos es importante porque pueden proveer otro tipo de
conocimiento. Una forma de realizar esta tarea es empleando una tecnica de la minerıa
de datos conocida como agrupacion, o clustering, por su termino en ingles. Normal-
mente, las propuestas reportadas en la literatura que usan este enfoque para identificar
elementos anomalos en flujos de datos, consideran solo la deteccion de elementos de Tipo
I y dejan de lado a los Tipo II y Tipo III. Sin embargo, estos elementos tambien propor-
cionan informacion relevante acerca del comportamiento de los datos. En este capıtulo
se describio el metodo desarrollado para poder hacer la identificacion de los tres tipo de
elementos anomalos. La identificacion de los elementos de Tipo I se realizo considerando
el enfoque tradicional de pertenencia o no a un grupo. La identificacion de los elementos
de Tipo II se llevo a cabo tomando en cuenta el promedio de los elementos de un grupo
como informacion semantica. La identificacion de los elementos de Tipo III se efectuo
considerando el tamano de los grupos resultantes.
ESCOM - IPN Seccion de Posgrado e Investigacion
44 Capıtulo 4
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 5
IMPLEMENTACION
En este capıtulo se describe de manera breve la implementacion de los modulos des-
critos en el Capıtulo 4. La implementacion se hizo mediante el enfoque de programacion
estructurada. Se desarrollo un programa en lenguaje C debido a que su eficiencia y porta-
bilidad lo hacen adecuado para este tipo de aplicaciones. El lenguaje C es un lenguaje
de programacion originalmente desarrollado por Dennis Ritchie entre 1969 y 1972 en los
Laboratorios Bell. Es apreciado por la eficiencia del codigo que produce y es el lenguaje
de programacion mas popular para crear software de sistemas.
El capıtulo esta organizado de la siguiente manera: la seccion 5.1 describe el programa
principal. La Seccion 5.2 muestra la implementacion del manejo del flujo de datos. La
Seccion 5.3 describe la implementacion del modulo de establecimiento de parametros.
La Seccion 5.4 detalla la implementacion del modulo de generacion de ventana. La
Seccion 5.5 describe la implementacion del modulo de deteccion de outliers. La Seccion
5.6 presenta los comentarios finales del capıtulo.
45
46 Capıtulo 5
Figura 5.1: Figura del programa principal
5.1 Programa principal
La fig. 5.1 muestra el programa principal. Como se puede ver, en la lınea 21 se
muestra el archivo“datastream.txt”, que simula la entrada del flujo de datos. El archivo
solo se abre en modo de lectura porque no se modificara su contenido. Las lıneas 25 -
29, verifican si el archivo puede ser abierto. En el caso en que el archivo no pueda ser
abierto, se envıa un mensaje al usuario. En caso contrario, se ejecuta la funcion de la
lınea 32, que efectua el proceso de deteccion.
5.2 Flujo de datos
El flujo de datos puede provenir de distintas fuentes. Sin embargo, ya que el manejo
de flujo de datos de entrada no fue el objetivo principal de esta tesis, estos se simularon
mediante un archivo de texto que se iba leyendo lınea por lınea hasta llegar al final del
mismo. Cada valor leıdo se uso para crear una ventana del tamano especificado por el
usuario.
ESCOM - IPN Seccion de Posgrado e Investigacion
Implementacion 47
Figura 5.2: Figura del establecimiento de parametros
5.3 Modulo de establecimiento de parametros
Este modulo, como se indico en el capıtulo anterior, permite fijar los parametros de
ejecucion del programa. Para la implementacion, el usuario escribe en un archivo de texto
los valores para el margen de error, el tamano de la ventana y el numero de elementos por
grupo, posteriormente, estos datos, con ayuda de un programa auxiliar, se escriben en el
programa principal como una “macro” #define. Esta macro asocia un identificador con
un valor. Una vez definida la macro, el compilador puede sustituir el identificador con
el valor especificado para cada aparicion del identificador en el archivo de codigo fuente.
La fig. 5.2 muestra esta parte del programa.
5.4 Modulo de generacion de ventana
Este modulo trabaja junto con el modulo de flujo de datos ya que el primero, como
se explico previamente, lee los datos del archivo de datos y, a partir de ahı, esta seccion
crea los conjuntos finitos que sirven de entrada para el proceso de deteccion. Existen dos
casos de creacion de ventanas, en el primero, no se han detectado elementos atıpicos del
Tipo I (lo cual siempre sucede la primera vez que se ejecuta el analisis), y, en el segundo,
se han detectado elementos atıpicos del Tipo I. En el primer caso, la ventana se crea solo
con elementos provenientes del archivo de datos. En el segundo caso, la ventana se crea
con elementos del archivo de datos y con los elementos atıpicos del Tipo I detectados en
ESCOM - IPN Seccion de Posgrado e Investigacion
48 Capıtulo 5
Figura 5.3: Figura de la creacion de ventanas
una f ase anterior. La primera parte de l a ventana consiste de elementos provenientes del
archivo y l a segunda parte son l os elementos atípicos de Tipo I . Procediendo así, este
tipo de elementos tienen más oportunidad de ser analizados antes de ser etiquetados de
manera definitiva como elementos atípicos de Tipo I .
La fig. 5.3(a) muestra el primer caso de creación de ventana y l a fig. 5.3(b) muestra el
segundo caso.
5.5 Modulo de deteccion de outliers
En la fig. 5.4 se pueden apreciar las partes principales del metodo de deteccion. La
lınea 225 indica que el proceso se hara mientras haya una ventana valida, en este caso,
mientras existan datos para analizar. Despues, en la lınea 227 se observa el primer caso de
generacion de ventana, es decir, donde no se han identificado elementos atıpicos de Tipo
I. La funcion createWindow recibe como parametros, el flujo de datos (fp), la ventana
donde se almacenara la informacion (items) y el tamano de la ventana (winSize). El se-
gundo caso se verifica en la lınea 229 donde se pregunta si existen elementos atıpicos Tipo
I. Si es ası, la lınea 231 invoca a la funcion newWindow que, es similar a createWindow,
solo que esta funcion recibe como parametros, la ventana de datos leıdos (items), los ele-
mentos atıpicos identificados (typeI), el total de elementos atıpicos de Tipo I (typeI i),
y la ventana donde se almacenara la informacion tanto de elementos del flujo como de ele-
mentos atıpicos (f items). De esta manera, al analizar los datos contenidos en f items,
los elementos atıpicos Tipo I previamentamente etiquetados como tal, tienen otra opor-
ESCOM - IPN Seccion de Posgrado e Investigacion
Implementacion 49
Figura 5.4: Figura del proceso de deteccion
tunidad de ser analizados.
Las lıneas 232 y 236 invocan a la funcion outlierDetection I II III, la cual, como
su nombre lo indica, efectua el proceso de deteccion. En esa funcion, las lıneas 148 y
154 dividen el segmento de datos en outliers Tipo I y Tipo II tomando como referencia
la similitud entre los elementos (lınea 147) y el margen de error definido por el usuario.
Despues de hacer la separacion, los elementos Tipo II se analizan nuevamente (en las
lıneas 161 - 175) para encontrar elementos atıpicos dentro de ese grupo. Para esto, como
se menciono en el capıtulo anterior, se toma en cuenta el promedio de los elementos y
un valor lımite superior e inferior. Estos elementos se escriben en el archivo de outliers.
Los elementos atıpicos de Tipo I, si los hay, se mantienen en la ventana de datos para
ser agregados a una nueva ventana y continuar el analisis.
5.6 Comentarios finales
En este capıtulo se mostro la forma en que se implemento el metodo de deteccion
descrito en el capıtulo anterior. Como se menciono, la implementacion se hizo en lenguaje
C por todas las facilidades y beneficios que provee para este tipo de sistemas.
ESCOM - IPN Seccion de Posgrado e Investigacion
50 Capıtulo 5
Figura 5.5: Figura del proceso de deteccion de outliers
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 6
CASO DE ESTUDIO
En este capıtulo se describe un caso de estudio para demostrar la aplicacion del metodo
de deteccion. Los resultados se muestran en las siguientes secciones.
La organizacion del capıtulo es la siguiente: la Seccion 6.1 describe, de manera breve, el
conjunto de datos utilizado. La Seccion 6.2 presenta el ejemplo. Finalmente, la Seccion
6.3 concluye el capıtulo.
6.1 Flujo de datos
El flujo de datos utlizado en este caso se estudio es el descrito en la Seccion 4.2, que
se refiere al consumo electrico de una casa. Para este caso solo se considero el atributo
Global reactive power. La tabla 6.1 muestra algunos de los valores que puede tomar.
51
52 Capıtulo 6
Global reactive power
0.418
0.436
0.498
0.502
0.528
0.522
0.520
0.520
0.510
0.510
0.498
0.470
0.478
0.398
0.422
0.282
0.152
0.156
0.000
0.000
0.000
0.000
0.000
0.000
0.000
Tabla 6.1: Algunos datos del atributo Global reactive power.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 53
6.2 Ejemplo
En este ejemplo, se realizo la deteccion de los tres tipos de elementos atıpicos em-
pleando un margen de error de 0.4, un tamano de ventana de cien elementos y hasta
quince datos como numero de elementos esperado en cada grupo.
Con los elementos utilizados, se pudieron crear tres ventanas de cien elementos cada una.
La tabla 6.2 muestra la primer ventana de cien elementos.
6.2.1 Elementos atıpicos tipo I
De la ventana de la tabla 6.2, se obtuvieron 19 elementos atıpicos (distintos) Tipo I. La
tabla 6.3 muestra los elementos identificados. Estos elementos se agregaron a la siguiente
ventana para analizar su similitud con otros elementos de otro segmento de datos. La
segunda ventana de datos se muestra en la tabla 6.4. En esta ventana de datos, despues
del analisis, solo se obtuvieron tres elementos atıpicos Tipo I, lo que demuestra que los
elementos identificados como atıpicos en una ventana previa pueden no ser tales si se
les permite ser analizados con otros datos del flujo de datos. La tabla 6.5 muestra estos
elementos. Finalmente, estos elementos se agregaron a la tercer ventana que se muestra
en la tabla 6.6. Al concluir el analisis, porque esta es la ultima ventana de datos, se
encontro que los elementos atıpicos fueron los mismos que los mostrados en la tabla
6.5, con lo que se puede concluir que, efectivamente, estos sı son elementos atıpicos de
Tipo I porque se conservaron en esta condicion durante todas las ventanas que fueron
analizadas.
6.2.2 Elementos atıpicos tipo II
De la ventana de datos mostrada en la tabla 6.2, los elementos que no fueron detec-
tados como atıpicos de Tipo I significa que se pudieron agrupar entre ellos. La tabla
6.7 muestra los elementos agrupados. Sin embargo, aun dentro de ese grupo existen
ESCOM - IPN Seccion de Posgrado e Investigacion
54 Capıtulo 6
No elem. GRP No elem. GRP No elem. GRP No elem. GRP
1 0.418 2 0.436 3 0.498 4 0.502
5 0.528 6 0.522 7 0.52 8 0.52
9 0.51 10 0.51 11 0.498 12 0.47
13 0.478 14 0.398 15 0.422 16 0.282
17 0.152 18 0.156 19 0 20 0
21 0 22 0 23 0 24 0
25 0 26 0 27 0 28 0
29 0 30 0 31 0 32 0.076
33 0.09 34 0 35 0.2 36 0.058
37 0.18 38 0.144 39 0.118 40 0.108
41 0.202 42 0.192 43 0.186 44 0.144
45 0.116 46 0.136 47 0.148 48 0.152
49 0.144 50 0.16 51 0.158 52 0.1
53 0.076 54 0.082 55 0 56 0
57 0 58 0 59 0 60 0
61 0 62 0 63 0 64 0
65 0 66 0 67 0 68 0.05
69 0.052 70 0.162 71 0.086 72 0
73 0 74 0 75 0.048 76 0.054
77 0.054 78 0.054 79 0.054 80 0.068
81 0.166 82 0.174 83 0.186 84 0.178
85 0.188 86 0.088 87 0.08 88 0.07
89 0 90 0 91 0 92 0.09
93 0.09 94 0.084 95 0.09 96 0.09
97 0.088 98 0.09 99 0.09 100 0.09
Tabla 6.2: Valores de la primer ventana de cien elementos.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 55
Elementos atıpicos Tipo I
0
0.76
0.09
0.58
0.118
0.108
0.116
0.1
0.082
0.05
0.052
0.86
0.048
0.054
0.068
0.088
0.08
0.07
0.084
Tabla 6.3: Elementos atıpicos Tipo I detectados en la primer ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
56 Capıtulo 6
No elem. GRP No elem. GRP No elem. GRP No elem. GRP
1 0.082 2 0.074 3 0.106 4 0.092
5 0.064 6 0 7 0 8 0
9 0 10 0 11 0 12 0
13 0 14 0 15 0 16 0.052
17 0 18 0.046 19 0 20 0.052
21 0.064 22 0.09 23 0.084 24 0.138
25 0.192 26 0.162 27 0.134 28 0.132
29 0.132 30 0.12 31 0 32 0
33 0.13 34 0.16 35 0.158 36 0.158
37 0.158 38 0.156 39 0.154 40 0.154
41 0.152 42 0.152 43 0.154 44 0.156
45 0.16 46 0.156 47 0.158 48 0.156
49 0 50 0.078 51 0.078 52 0.078
53 0.078 54 0.078 55 0.078 56 0.078
57 0.078 58 0.076 59 0.078 60 0.078
61 0 62 0 63 0 64 0
65 0.08 66 0.144 67 0.142 68 0.14
69 0.14 70 0.14 71 0.086 72 0
73 0 74 0 75 0 76 0
77 0 78 0 79 0 80 0
81 0.052 82 0 83 0.76 84 0.09
85 0.58 86 0.118 87 0.108 88 0.116
89 0.1 90 0.082 91 0.05 92 0.052
93 0.86 94 0.048 95 0.054 96 0.068
97 0.088 98 0.08 99 0.07 100 0.084
Tabla 6.4: Valores de la segunda ventana de cien elementos.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 57
Elementos atıpicos Tipo I
0.76
0.58
0.86
Tabla 6.5: Elementos atıpicos Tipo I detectados en la segunda ventana.
elementos atıpicos, los cuales se identifican usando el promedio de los elementos. De
manera que, despues de realizar el analisis, los elementos que son menos comunes a ese
grupo son los mostrados en la tabla 6.8.
Para la segunda ventana, el grupo formado se muestra en la tabla 6.9. Por lo que los
elementos atıpicos Tipo II detectados son los que se muestran en la tabla 6.10.
Finalmente, en la tercer ventana, los elementos agrupados fueron los mostrados en la
tabla 6.11. Por lo que los elementos atıpicos Tipo II detectados son los que se muestran
en la tabla 6.12.
6.2.3 Elementos atıpicos tipo III
En este caso, como el numero de elementos esperado por grupo es hasta quince, solo
el grupo de elementos atıpicos tipo II de la segunda ventana no cumple con la condicion.
Por lo tanto, este es un grupo de elementos atıpicos tipo III.
6.3 Comentarios finales
En este capıtulo se mostro la forma de deteccion de los elementos atıpicos tipo I, tipo
II y tipo III sobre un conjunto de datos real. A diferencia de otras propuestas, el metodo
desarrollado es capaz de detectar los tres tipos.
ESCOM - IPN Seccion de Posgrado e Investigacion
58 Capıtulo 6
No elem. GRP No elem. GRP No elem. GRP No elem. GRP
1 0.078 2 0.076 3 0.076 4 0.076
5 0.076 6 0.076 7 0.076 8 0.078
9 0.078 10 0.078 11 0.078 12 0.08
13 0.08 14 0.078 15 0.078 16 0.074
17 0.05 18 0.048 19 0.048 20 0.05
21 0.146 22 0.146 23 0.148 24 0.146
25 0.15 26 0.15 27 0.154 28 0.152
29 0.15 30 0.17 31 0.102 32 0
33 0.074 34 0.074 35 0.072 36 0.072
37 0.054 38 0.07 39 0.07 40 0.072
41 0.072 42 0.064 43 0.06 44 0.07
45 0.07 46 0.072 47 0.072 48 0.058
49 0 50 0.052 51 0.054 52 0.054
53 0.074 54 0.056 55 0.054 56 0.056
57 0.068 58 0.062 59 0.054 60 0.052
61 0.06 62 0.112 63 0.144 64 0
65 0 66 0 67 0 68 0
69 0 70 0 71 0 72 0
73 0.072 74 0.072 75 0.064 76 0.046
77 0 78 0 79 0.046 80 0.066
81 0.082 82 0.172 83 0.17 84 0.168
85 0.194 86 0.17 87 0.17 88 0.17
89 0.168 90 0.184 91 0.178 92 0.17
93 0.17 94 0.168 95 0.17 96 0.096
97 0 98 0.76 99 0.58 100 0.86
Tabla 6.6: Valores de la tercer ventana de cien elementos.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 59
Fila Elemento 1 Elemento 2 Elemento 3 Elemento 4
1 0.436000 0.498000 0.502000 0.528000
2 0.522000 0.520000 0.520000 0.510000
3 0.510000 0.498000 0.470000 0.478000
4 0.398000 0.422000 0.282000 0.152000
5 0.156000 0.200000 0.180000 0.144000
6 0.202000 0.192000 0.186000 0.144000
7 0.136000 0.148000 0.152000 0.144000
8 0.160000 0.158000 0.162000 0.166000
9 0.174000 0.186000 0.178000 0.188000
Tabla 6.7: Elementos que se pudieron agrupar en la primer ventana.
Elementos atıpicos Tipo II
0.498000
0.502000
0.528000
0.522000
0.520000
0.510000
0.470000
0.478000
0.144000
0.136000
Tabla 6.8: Elementos atıpicos Tipo II detectados en el grupo de la primer ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
60 Capıtulo 6
Fila Elemento 1 Elemento 2 Elemento 3 Elemento 4
1 0.074000 0.106000 0.092000 0.064000
2 0.000000 0.000000 0.000000 0.000000
3 0.000000 0.000000 0.000000 0.000000
4 0.000000 0.000000 0.052000 0.000000
5 0.046000 0.000000 0.052000 0.064000
6 0.090000 0.084000 0.138000 0.192000
7 0.162000 0.134000 0.132000 0.132000
8 0.120000 0.000000 0.000000 0.130000
9 0.160000 0.158000 0.158000 0.158000
10 0.156000 0.154000 0.154000 0.152000
11 0.152000 0.154000 0.156000 0.160000
12 0.156000 0.158000 0.156000 0.000000
13 0.078000 0.078000 0.078000 0.078000
14 0.078000 0.078000 0.078000 0.078000
15 0.076000 0.078000 0.078000 0.000000
16 0.000000 0.000000 0.000000 0.080000
17 0.144000 0.142000 0.140000 0.140000
18 0.140000 0.086000 0.000000 0.000000
19 0.000000 0.000000 0.000000 0.000000
20 0.000000 0.000000 0.000000 0.052000
21 0.000000 0.090000 0.118000 0.108000
22 0.116000 0.100000 0.082000 0.050000
23 0.052000 0.048000 0.054000 0.068000
24 0.088000 0.080000 0.070000 0.084000
Tabla 6.9: Elementos que se pudieron agrupar en la segunda ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 61
Elementos atıpicos Tipo II
0
0.138
0.192
0.162
0.134
0.132
0.12
0.13
0.16
0.158
0.156
0.154
0.152
0.144
0.142
0.14
0.118
0.116
Tabla 6.10: Elementos atıpicos Tipo II detectados en el grupo de la segunda ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
62 Capıtulo 6
Fila Elemento 1 Elemento 2 Elemento 3 Elemento 4
1 0.076 0.076 0.076 0.076
2 0.076 0.076 0.078 0.078
3 0.078 0.078 0.08 0.08
4 0.078 0.078 0.074 0.05
5 0.048 0.048 0.05 0.146
6 0.146 0.148 0.146 0.15
7 0.15 0.154 0.152 0.15
8 0.17 0.102 0 0.074
9 0.074 0.072 0.072 0.054
10 0.07 0.07 0.072 0.072
11 0.064 0.06 0.07 0.07
12 0.072 0.072 0.058 0
13 0.052 0.054 0.054 0.074
14 0.056 0.054 0.056 0.068
15 0.062 0.054 0.052 0.06
16 0.112 0.144 0 0
17 0 0 0 0
18 0 0 0 0.072
19 0.072 0.064 0.046 0
20 0 0.046 0.066 0.082
21 0.172 0.17 0.168 0.194
22 0.17 0.17 0.17 0.168
23 0.184 0.178 0.17 0.17
24 0.168 0.17 0.096 0
Tabla 6.11: Elementos que se pudieron agrupar en la tercer ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
Caso de estudio 63
Elementos atıpicos Tipo II
0.146
0.148
0.15
0.154
0.152
0.15
0.17
0
0.144
0.172
0.168
0.194
0.184
0.178
Tabla 6.12: Elementos atıpicos Tipo II detectados en el grupo de la tercer ventana.
ESCOM - IPN Seccion de Posgrado e Investigacion
64 Capıtulo 6
ESCOM - IPN Seccion de Posgrado e Investigacion
CAPITULO 7
CONCLUSIONES Y TRABAJO FUTURO
En este capítulo se discuten l as conclusiones obtenidas después de haber r ealizado
este trabajo de tesis.
La Seccion 7.1 presenta las conclusiones y la Seccion 7.2 describe el trabajo futuro.
7.1 Conclusiones
Las conclusiones de este trabajo de tesis giran en torno a la verificacion del cumplim-
iento de los objetivos establecidos al inicio del mismo. Con respecto al primer objetivo
especıfico:
� Identificar caracterısticas relevantes que puedan afectar en la deteccion de elemen-
tos anomalos.
Se puede decir que las caracterısticas relevantes identificadas en este trabajo de tesis, a
saber: margen de error, tamano de la ventana y numero de elementos por grupo sı tienen
65
66 Capıtulo 7
influencia en el proceso de deteccion ya que durante las pruebas realizadas, se observo que
al variar el valor de esos parametros, los resultados podıan cambiar significativamente.
Por lo tanto, deben ser tomadas en cuenta en el proceso de deteccion.
Con respecto al segundo objetivo especıfico:
� Disenar una forma de identificar elementos anomalos de tipo I, tipo II y tipo III.
Se puede decir que el objetivo se logro ya que el metodo desarrollado, como se mostro
en el capıtulo anterior, es capaz de detectar estos tres tipos de elementos. Para los
elementos atıpicos de Tipo I se empleo una estrategia de analisis continuo para que ası
se pudiera tener una mejor identificacion de aquellos que realmente son atıpicos. Para los
elementos atıpicos Tipo II el analisis fue mas minucioso por grupo y se empleo el valor
promedio. Se realizo de esta manera porque el tipo de dato empleado era adecuado. Sin
embargo, es posible definir otra manera para algun otro tipo de dato. Finalmente, para
los elementos atıpicos Tipo III se empleo el numero de elementos esperado por grupo.
El cumplimiento de este objetivo tambien es la mayor fortaleza de este trabajo, ya que,
hasta donde se sabe, la mayorıa de las propuestas reportadas en la literatura solo efectuan
la deteccion de elementos atıpicos Tipo I.
7.2 Trabajo futuro
Como trabajo fututo se pueden llevar a cabo los siguientes puntos:
1. Mejorar la eleccion del centro del grupo. Por ahora, el centro se elige como el primer
elemento de la ventana, esto se hizo para simplificar el analisis. Sin embargo, esto
puede afectar el resultado de la deteccion. Asi, que serıa adecuado tener otra forma
de elegir el centro. Podrıa mantenerse este esquema para la primer ventana y luego
usar la informacion generada para elegir los centros siguientes.
2. Incrementar el numero de grupos formados. En esta propuesta, solo se generan
dos grupos por cada ventana, el grupo de los posibles elementos atıpicos Tipo I y
ESCOM - IPN Seccion de Posgrado e Investigacion
Conclusiones y trabajo futuro 67
el grupo de elementos que se pudieron aglomerar. En otra version de la solucion
podrıan considerarse mas grupos por ventana.
3. Actualizar los parametros de identificacion para tener una mejor deteccion. Se
puede considerar la actualizacion automatica de los parametros empleados en la
deteccion, por ejemplo, el margen de error y la cantidad de elementos por grupo,
con base en el analisis previo.
ESCOM - IPN Seccion de Posgrado e Investigacion
68 Capıtulo 7
ESCOM - IPN Seccion de Posgrado e Investigacion
REFERENCIAS
[1] Real Academia Espanola, http://www.rae.es/
[2] The 2012 ACM Computing Classification System. Disponible en:
https://www.acm.org/publications/class-2012
[3] Gama, J., Gaber, M. E., Learning from Data Streams. Processing Techniques in
Sensor Networks, Springer, 2007.
[4] Chakravarthy, S., Qingchun, J., Stream Data Processing: A Quality of Service
Perspective, Modeling, Scheduling, Load Shedding, and Complex Event Processing,
Springer, 2009.
[5] Babcock, B. et. al, Models and Issues in Data Stream Systems, ACM SIGMOD-
SIGACT-SIGART, pp. 1-6, 2002.
[6] Aggarwal, Charu C, Data Streams: Models and Algoritms, Springer, 2007.
[7] Chaudhry, Nauman, Shaw, Kevin, Abdelguerfi, Mahdi (Eds.), Stream Data Man-
agement, Springer, 2005.
69
70 REFERENCIAS
[8] Stonebraker, M. et al, The 8 requirements of real-time stream processing, ACM
SIGMOD Record, 34, 4 , 2005.
[9] Tsymbal, A, The problem of concept drift: definitions and related work, 2014.
[10] Mavromoustakis, C. X., Pallis, E, Mastoraki, G., Resource Management in Mobile
Computing Environment, Modeling and Optimization in Science and Technolo-
gies, Springer International Publishing, Switzerland, pp. 594, 2015.
[11] Gama, J., Knowledge Discovery from Data Streams, Chapman & Hall/CRC, pp.
246, 2010.
[12] Natarajon, K., Li, J., Koronios, A., Data mining Techniques for Data Cleaning,
in Proc. of the 4th World Congress on Engineering Asset Management (WCEAM
2009), Athens, Greece, 28 - 30 September, pp. 796-804, 2009.
[13] Maloof, M. A., Machine Learning and Data Mining for Computer Security: Meth-
ods and Applications, Advanced Information and Knowledge Processing, Springer
Science & Business Media, pp. 210, 2006.
[14] Chakravarthy, S., Jiang, Q., Stream Data Processing: A Quality of Service Per-
spective, Springer, pp. 324, 2007.
[15] Jia, D., Zeng, C., Peng, Z., Cheng, P., Yang, Z., A Variable Granularity User
Classification Algorithm Based on Multi-dimensional Features of Users, in Proc.
of 2012 Ninth Web Information Systems and Applications Conference (WISA),
pp. 43 – 48, 2012.
[16] Thakkar, H., Laptev, N., Mousavi, H., Mozafari, B., Russo, V., Zaniolo, C., SMM:
a Data Stream Management System for Knowledge Discovery, in Proc. of the 27th
Intl. Conf. on Data Engineering (ICDE), pp. 11 – 16, 2011.
[17] Aggarwal, C. C., Outlier Analysis, Kluwer Academic Publishers, pp. 443, 2013.
ESCOM - IPN Seccion de Posgrado e Investigacion
REFERENCIAS 71
[18] Hu, H., Wen, Y., Chua, T-S., Li, X., Toward Scalable Systems for Big Data
Analytics: A Technology Tutorial, in IEEE Access, vol.2, pp. 652 – 687, 2014.
[19] Wu, J., Advances in K-means Clustering: A Data Mining Thinking, Springer –
Verlag Berlin Heidelberg, pp. 194, 2012.
[20] Anuradha, G., Roy, B., Suggested Techniques for Clustering and Mining of Data
Streams, in Proc. of the 2014 Intl. Conf. on Circuits, Systems, Communication
and Information Technology Applications (CSCITA), pp. 265 – 270, 2014.
[21] Jiawei, Han., Micheline, Kamber., Jian Pei., Data Mining: Concepts and Tech-
niques, 3rd Edition, Techniques, 3rd Edition, pp.744, 2011.
[22] Fei, Liu., Yan, Jia., Top (k1, k2) Distance-based Outliers Detection in an Uncer-
tain Dataset, in Proc. of the 2015 IEEE International Conference on Big Data
(Big Data), Oct. 29-Nov. 1, 2015.
[23] Yong He1, Jiechang Wen2,Meihua Huan, Study on Emergency Relief VRP Based
on Clustering and PSO, in Proc,. of the 11th International Conference on Com-
putational Intelligence and Security, pp. 5, 2015.
[24] Xiaohui Huang,. Yunming Ye,. Haijun Zhang,. Extensions of K means-Type Al-
gorithms: A New Clustering Framework by Integrating Intracluster Compactness
and Intercluster Separation, IEEE Trans. on Neural Networks and Learning Sys-
tems, pp. 1433-1446, 2015.
[25] Stewart Tansley, Kristin Michele Tolle, The Fourth Paradigm: Data-intensive
Scientific Discovery, Microsoft Research, pp.287, 2009.
[26] Prosenjit, Bose, Leszek. Antoni, Gasieniec. Kay, Romer, Roger, Wattenhofer.
Algorithms for Sensor Systems, pp. 238. September 17 – 18, 2015.
ESCOM - IPN Seccion de Posgrado e Investigacion
72 REFERENCIAS
[27] Francesco, Masulli, Alfredo, Petrosino. Stefano, Rovetta. Clustering High-
Dimensional Data. First International Workshop, CHDD 2012, Naples, Italy, pp.
157, May 15, 2012.
[28] Manish Gupta, Jing Gao, Charu C. Aggarwal, and Jiawei Han. Outlier Detec-
tion for Temporal Data: A Survey, IEEE Transactions on Knowledge and Data
Engineering, pp. 2250 - 2267, 2013.
[29] Mavromoustakis, C. X., Pallis, E, Mastoraki, G., Resource Management in Mobile
Computing Environment, Modeling and Optimization in Science and Technolo-
gies, Springer International Publishing, Switzerland, pp. 594, 2015.
[30] Thakran, Y., Toshniwal, D., Unsupervised Outlier Detection in Streaming Data
Using Weighted Clustering, in Proc. of the 12th International Conference on In-
telligent Systems Design and Applications (ISDA), 27-29 Nov., pp. 947 - 952,
2012.
[31] Kontaki, M., Gounaris, A., Papadopoulos, A. N., Tsichlas, K., Manolopoulos, Y.,
Continuous Monitoring of Distance-Based Outliers over Data Streams, in Proc.
of the IEEE 27th International Conference on Data Engineering, pp. 135 - 146,
2011.
[32] Angiulli, F., Fassetti, F., Distance-based outlier queries in data streams: the novel
task and algorithms, Data Min Knowl Disc, 20:290–324, 2010.
[33] Vijayarani, S., Jothi, P., An Efficient Clustering Algorithm for Outlier Detection
in Data Streams, International Journal of Advanced Research in Computer and
Communication Engineering, Vol. 2, Issue 9, pp. 3657 - 3665, 2013.
[34] Makkar. K., Sharma, M., Outlier detection in Data Streams using various clus-
tering approaches, in Proc. of the 2nd International Conference on Computing
for Sustainable Global Development (INDIACom), pp. 690 - 693, 2015.
ESCOM - IPN Seccion de Posgrado e Investigacion
REFERENCIAS 73
[35] Yang, D., Rundensteiner, E. A., Ward, M. O., Neighbor-based Pattern Detection
for Windows over Streaming Data, in Proc. of the 12th International Confer-
ence on Extending Database Technology: Advances in Database Technology, Saint
Petersburg, Russia, pp. 529 - 540, 2009.
[36] Mavromoustakis, C. X., Pallis, E, Mastoraki, G., Resource Management in Mobile
Computing Environment, Modeling and Optimization in Science and Technolo-
gies, Springer International Publishing, Switzerland, pp. 594, 2015.
[37] Christos Boutsidis, Anastasios Zouzias, Michael W. Mahoney, Petros Drineas.
Randomized Dimensionality Reduction for k-Means Clustering, IEEE Transac-
tions on Information Theory, pp.18, February 2015.
[38] Tan P., Steinbach, M., Kumar, V., Introduction to Data Mining, Addison Wesley,
2005.
[39] Orallo-Hernandez, J., Ramırez Quintana, M., Ferri Ramırez, C., Introduccion a
la minerıa de datos, pp. 680, 2004 .
[40] Sadik, S., Gruenwald, L., Research Issues in Outlier Detection for Data Streams,
SIGKDD Explorations, Vol. 15, Issue 1, pp. 33-40, 2014.
[41] Individual household electric power consumption Data Set. Disponible en:
http://archive.ics.uci.edu/ml/datasets/Individual+household+electric+power+consumption
[42] Gaber, M., Krishnaswamy, S., Zaslavsky, A.: Ubiquitous Data Stream Mining. In
Proc. of the Current Research and Future Directions Workshop in PAKDD 2004,
pp. 37 – 46, 2004.
ESCOM - IPN Seccion de Posgrado e Investigacion
Top Related