Data analysis through graph decomposition

This work is developed within the field of data mining and data visualization. Under the premise that many of the algorithms give as result huge amounts of data impossible to handle for the users, we work with the decomposition of Gaifman graphs and its variations as an option for data visualization. In fact, we apply the decomposition method based on the so-called 2-structures. This decomposition method has been theoretical developed but has not any practical application yet in this field, being this part of our contribution. Thus, from a dataset we construct the Gaifman graph (and possible variations of it) that represents information about co-occurrence patterns. More precisely, the construction of the Gaifman graphs from the dataset is based on co-occurrence, or lack of it, of items in the dataset. That is, those pair of items that appear together in any transaction are connected and those items that never appear together are disconnected. We may do the natural completion of the graph adding the absent edges with a different kind of edges, in this way we get a complete graph with two equivalence classes on its edges. Now, think of the graph where the kind of edges are determined by the multiplicity of the items that they connect, that is, by the number of transactions that contains the pair of items that the edge connects. In this case we have as many equivalence relations as different multiplicities, and we may apply some discretization methods on them to get different variations of the graphs. All these variations can be seen as 2-structures. The application of the 2-structure decomposition method produces as result a hierarchical visualization of the co-occurrences on data. In fact, the decomposition method is based on clan decomposition. Given a 2-structure defined on U, a set of vertices C, C subset of U, is a clan if, for each z not in C, z may not distinguish among the elements of C. We connect this decomposition with an associated closure space, developing this intuition by introducing a construction of implication sets, named clan implications. Based on the definition of a clan, let x, y be elements of any clan C, if there is z such that sees in a different way x and y, that is the edges (x,z) and (x,y) are in different equivalence classes, so z in C; this is equivalent to C logically entails the implication xy then z. Throughout the thesis, in order to explain our work in a constructive way, we first work with the case of having only two equivalence classes and its corresponding nomenclature (modules), and then we extend the theory to work with more equivalence classes. Our main contributions are: an algorithm (with its full implementation) for the clan decomposition method; the theorems that support our approach, and examples of its application to demonstrate its usability. Este trabajo está desarrollado dentro del área de Mineria de Datos y Visualización de Datos. Bajo la premisa de que muchos algoritmos dan como resultados un gran número de datos imposibles de manejar por los usuarios, proponemos trabajar con la descomposición de grafos de Gaifman y sus variantes como una opción para visualizar datos. De hecho, aplicamos un método de descomposición basado en las llamadas 2-structures. Este método de descomposición ha sido teóricamente desarrollado pero hasta ahora no había tenido una aplicación práctica en esta área, siendo ésta parte de nuestra contribución. Así, partiendo de la base de datos contruimos un grafo de Gaifman (y posiblemente variantes de él) que representa información sobre los patrones de co-ocurrencias. Esto es, aquellos pares de items que aparecen juntos en cualquier transacción son conectados, mientras que aquellos que nunca aparecen juntos están desconectados. Podemos completar naturalmente el grafo añadiendo las aristas ausentes como un diferente tipo de arista, en este sentido, obtenemos un grafo completo con dos clases de equivalencia sobre sus aristas. Ahora, piense en el grafo donde el tipo de aristas está determinado por la multiplicidad de los items que las aristas conectan, esto es, el número de transacciones que contienen el par de items que la arista conecta. En este caso tenemos tantas relaciones de equivalencia como diferentes multiplicidades, podemos aplicar algunos métodos de discretización sobre ellos para así obtener diferentes variantes de grafos, todas estas variaciones pueden ser vistas como 2-structures. La aplicación del método de descomposición de 2-structures produce como resultados una visualización jerárquica de las co-ocurrencias de los datos. De hecho, el método de descomposición está basado en la descomposición de clanes. Dada una 2-structure definida sobre U, un conjunto de vertices C, C subconjunto de U, es un clan si para cada z que no está en C, z no distingue los elementos de C, esto es, z está conectado a los elementos de C con el mismo tipo de aristas. En nuestro trabajo, conectamos esta descomposición con un espacio de cerrados asociado, desarrollamos esta parte del trabajo introduciendo una construcción de un conjunto de implicaciones, llamado clan implications. Basándonos en la definición de clan, sea x, y elemento de cualquier clan C, si existe z tal que las aristas (x,z) y (y,z) están en diferentes clases de equivalencia, z deber estar en C; esto es equivalente a que C lógicamente ocasiona la implicación xy entonces z. A lo largo de esta tesis, con el fin de explicar nuestro trabajo de una manera constructiva, primero trabajamos con sólo dos clases de equivalencia y su nomenclatura correspondiente (modules, en lugar de clanes), para después extender la teoría a más clases de equivalencia. Nuestras contribuciones principales son: un algoritmo (que implementamos) para le método de descomposición de clanes; los teoremas que respaldan nuestro trabajo, y ejemplos de sus aplicaciones con el fin de ilustrar su usabilidad.