Estudio y analisis de las tecnicas del
pipeline de OCA aplicadas a datos
simulados de la mision GAIA
Trabajo Fin de Master
presentado por D. Juan Gabriel Perez Linana
Master en Inteligencia Artificial Avanzada. UNED.
Directores:
Dr. D. Luis Manuel Sarro Baro
Dr. D. Miguel Garcıa Torres
Septiembre de 2012
Indice general
Agradecimientos xi
Resumen xiii
Abstract xv
1 Introduccion 1
1.1 Contexto del trabajo . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos perseguidos . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Estructura del trabajo . . . . . . . . . . . . . . . . . . . . . . 3
2 Revision del area 7
2.1 Divide y venceras . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Metodologıa incremental . . . . . . . . . . . . . . . . . . . . . 9
2.3 Paralelizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Trabajo con grandes bases de datos . . . . . . . . . . . . . . . 12
3 Estudio de los datos 17
3.1 Descripcion de los datos utilizados . . . . . . . . . . . . . . . . 17
3.2 Problemas en las muestras . . . . . . . . . . . . . . . . . . . . 21
3.3 Atributos presentes . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Analisis de los datos . . . . . . . . . . . . . . . . . . . . . . . 25
3.5 Preparacion para la experimentacion . . . . . . . . . . . . . . 29
3.5.1 Extraccion y preprocesado de datos . . . . . . . . . . . 29
3.5.2 Normalizacion . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.3 Disminucion de la dimensionalidad . . . . . . . . . . . 34
iii
4 Tecnicas empleadas en la experimentacion 39
4.1 K-medias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.1 K-means++ . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1.2 K-means# . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Algoritmo HMAC/MAC . . . . . . . . . . . . . . . . . . . . . 43
4.2.1 Algoritmo de tipo EM . . . . . . . . . . . . . . . . . . 43
4.2.2 Mode Association Clustering MAC . . . . . . . . . . . 48
4.3 Arbol KD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5 Escalando el algoritmo 55
5.1 Pipeline para el procesado de datos . . . . . . . . . . . . . . . 56
5.2 Medicion del coste espacial y temporal . . . . . . . . . . . . . 62
5.2.1 Pruebas de rendimiento de K-means++ y K-means# . 62
5.2.2 Pruebas de rendimiento del algoritmo PCA incremental 66
5.2.3 Velocidad de ejecucion de MAC y K-medias . . . . . . 67
5.2.4 Algoritmo MAC frente a variacion utilizando arboles kd 69
6 Experimentos iniciales 75
6.1 Experimentacion con componentes principales . . . . . . . . . 75
6.2 Analisis de resultados y lıneas de investigacion para su mejora 78
7 Segunda fase de experimentacion 81
7.1 Datos astrometricos . . . . . . . . . . . . . . . . . . . . . . . . 81
7.2 Momentos estadısticos . . . . . . . . . . . . . . . . . . . . . . 83
7.3 Eliminacion de agrupacion curvilınea de gran densidad . . . . 86
7.4 Incorporacion a los experimentos . . . . . . . . . . . . . . . . 87
7.5 Analisis de los clusters obtenidos . . . . . . . . . . . . . . . . 89
7.5.1 Problemas encontrados . . . . . . . . . . . . . . . . . . 90
7.5.2 Parametros estelares estudiados . . . . . . . . . . . . . 92
7.5.3 Herramienta desarrollada . . . . . . . . . . . . . . . . . 94
7.5.4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . 95
8 Introduccion de ruido 99
8.1 Efecto de incrementar G . . . . . . . . . . . . . . . . . . . . . 100
v
8.2 Efecto de introducir ruido sintetico . . . . . . . . . . . . . . . 102
9 Conclusiones y trabajos futuros 105
9.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.2 Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 107
A Glosario 109
B Pseudocodigo de MAC 113
C Aplicaciones complementarias desarrolladas 119
D HMAC a traves del bandwidht 123
Bibliografıa 127
Indice de figuras
3.1 Esquema de la generacion del corpus SDSS . . . . . . . . . . . 18
3.2 Representacion de las diferentes clases . . . . . . . . . . . . . 27
3.3 Espectro de estrella tipo Phoenix sin normalizar . . . . . . . . 32
3.4 Normalizacion por suma del modulo . . . . . . . . . . . . . . . 32
3.5 Normalizacion por area unidad del espectro . . . . . . . . . . 33
3.6 Comparacion de espectros BP normalizados de estrellas SDSS
y Ultrafrıas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.7 SSE diferencia espectro original y calculado por componentes
principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1 Ejemplo de ejecucion del K-medias . . . . . . . . . . . . . . . 40
4.2 Pseudocodigo del K-means++ . . . . . . . . . . . . . . . . . . 42
4.3 Pseudocodigo del K-means# . . . . . . . . . . . . . . . . . . . 43
4.4 Ejemplo de distribucion EM . . . . . . . . . . . . . . . . . . . 46
4.5 Ejemplo de mezcla con dos distribuciones normales . . . . . . 47
4.6 Pseudocodigo de MAC . . . . . . . . . . . . . . . . . . . . . . 51
4.7 Pseudocodigo del arbol KD . . . . . . . . . . . . . . . . . . . 53
4.8 Ejemplo de arbol KD . . . . . . . . . . . . . . . . . . . . . . . 53
5.1 Fase de muestreo del pipeline. . . . . . . . . . . . . . . . . . . 57
5.2 Fase de agrupacion del pipeline. . . . . . . . . . . . . . . . . . 59
5.3 Representacion del proceso de resumen de informacion. . . . . 60
5.4 Fase agrupacion, variacion multinivel . . . . . . . . . . . . . . 61
5.5 Coste temporal K-means# vs K-means++ . . . . . . . . . . . 65
5.6 Coste temporal MAC vs Arbol KD+MAC . . . . . . . . . . . 71
vii
viii
6.1 Solapamiento de clases en experimentacion inicial . . . . . . . 76
7.1 Diagrama de Hertzsprung-Russel. . . . . . . . . . . . . . . . . 93
7.2 Caracterizacion de diferentes conglomerados de estrellas . . . . 96
A.1 DPAC dentro de la organizacion de la mision Gaia . . . . . . . 111
B.1 Pseudocodigo ObtenerListaModas . . . . . . . . . . . . . . . . 114
B.2 Pseudocodigo EstimaModa . . . . . . . . . . . . . . . . . . . . 114
B.3 Pseudocodigo ProbabilidadAPosteriori . . . . . . . . . . . . . 115
B.4 Pseudocodigo ActualizaModa . . . . . . . . . . . . . . . . . . 116
B.5 Pseudocodigo AgruparModas . . . . . . . . . . . . . . . . . . 117
ix
Indice de tablas
2.1 Resumen de los paradigmas y algoritmos analizados . . . . . . 13
3.1 Numero de instancias por corpus de datos . . . . . . . . . . . 21
3.2 Atributos iniciales . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1 Porcentaje de acierto del K-medias con varias inicializaciones. 63
5.2 Tiempo de ejecucion del K-medias con varias inicializaciones. 64
5.3 Escalado de K-means# frente K-means++ . . . . . . . . . . . 64
5.4 Coste PCA Incremental . . . . . . . . . . . . . . . . . . . . . 66
5.5 Escalado en MAC y K-medias . . . . . . . . . . . . . . . . . . 68
5.6 Comparativa coste temporal MAC frente Arbol KD+MAC . . 70
5.7 Resultados Arbol kd + MAC . . . . . . . . . . . . . . . . . . 72
7.1 Resultado clustering con momentos estadısticos . . . . . . . . 86
7.2 Resultados clustering con CP y momentos estadısticos . . . . . 89
7.3 Caracterizacion de diferentes conglomerados de estrellas . . . . 97
8.1 Ruido. Efecto de incrementar G en muestras . . . . . . . . . . 100
8.2 Resultados con ruido sintetico . . . . . . . . . . . . . . . . . . 103
Agradecimientos
Quisiera agradecer a todas aquellas personas que me han ayudado en el desa-
rrollo del presente Trabajo Final de Master.
En primer lugar al director del trabajo, el Dr. D. Luis Manuel Sarro
Baro, profesor del Departamento de Inteligencia Artificial de la UNED y
miembro de OCA (Object Clustering Analysis), por sus consejos y direccion,
especialmente por guiarme cuando los objetivos iniciales del proyecto cam-
biaron por causas ajenas. En segundo lugar quisiera agradecer al codirector,
Dr. D. Miguel Garcıa Torres, profesor de la Universidad Pablo de Olavide y
miembro tambien de OCA, sus numerosas aportaciones, desde el acceso para
algunas experimentaciones al cluster de computacion del Centro Informatico
Cientıfico de Andalucıa hasta los consejos sobre la utilizacion de LaTex como
herramienta para la composicion del presente trabajo.
Para concluir, me gustarıa dedicar esta memoria a mi mujer Maria Esteller,
por todo el apoyo y comprension recibidos y por soportar innumerables fi-
nes de semana y perıodos de vacaciones mi ausencia, trabajando frente al
ordenador en vez de estar junto a ella.
xi
Resumen
Este Trabajo de Fin de Master se enmarca dentro de la mision GAIA de
la Agencia Europea del Espacio, cuyo lanzamiento esta previsto para finales
de 2013. Debido al elevado volumen de datos que se generara, se ha deci-
dido crear un consorcio para el procesamiento y analisis de datos, llamado
Gaia Data Processing and Analysis Consortium (DPAC). Dicho consorcio se
encuentra dividido en 10 unidades de coordinacion de las cuales, la octava
(CU8), esta enfocada en la estimacion de parametros astrofısicos a partir de
las observaciones. El presente trabajo pertenece a los estudios preliminares
llevados a cabo dentro del bloque de trabajo Object Clustering Algorithm
(OCA) de CU8. El objetivo principal de OCA es desarrollar las herramien-
tas adecuadas para el analisis de los datos recibidos desde la perspectiva del
agrupamiento.
Los principales retos de OCA son estudiar la tecnicas mas adecuadas de
agrupamiento para la naturaleza de los datos de GAIA y ser capaz de escalar
dichas tecnicas para poder tratar el gran volumen de datos que se recibira a lo
largo de la mision. A lo largo de este trabajo se presentaran las metodologıas
propuestas en la literatura para poder escalar algoritmos de agrupamiento
ası como la descripcion de las tecnicas elegidas debido a sus propiedades.
La investigacion desarrollada se puede dividir en diferentes partes:
• Estudio de los datos que nos permita seleccionar una metodologıa ade-
cuada para su preprocesamiento.
• Estudio de distintos atributos ası como la generacion de nuevos atri-
butos. Mediante el analisis de los grupos obtenidos con el algoritmo
de agrupamiento seleccionado con los distintos conjuntos de datos, se
xiii
xiv
podran concluir la adecuacion de estos para su inclusion en la herra-
mienta final.
• Estudio del algoritmo de agrupamiento frente la presencia de ruido.
• Analisis de las distintas tecnicas que empleara OCA. Su importancia
radica en que permitira saber la idoneidad y viabilidad de estas tecni-
cas con el diseno planteado para escalar el algoritmo de agrupamiento.
Se incluira la implementacion de alguna de las tecnicas del diseno plan-
teado.
Por lo tanto este trabajo desarrolla el conjunto de pruebas preliminares
del paquete de trabajo OCA.
Abstract
This Final Master Work is part of the GAIA mission of the European Space
Agency, which is scheduled for late 2013. Due to the high volume of data
being generated, it was decided to create an international consortium in
charge of Gaia data processing, called Gaia Data Processing and Analysis
Consortium (DPAC). It is formed around a set of 10 Coordination Units,
the eighth (CU8), is focused on the estimation of astrophysical parameters.
This work is part of the preliminary studies carried out within the working
group Object Clustering Algorithm (OCA) of CU8.
The main objective of OCA is to develop appropriate tools for analyzing
data received from the clustering perspective. OCA’s main challenges are to
study clustering techniques suitable to the nature of the GAIA data and be
able to scale these techniques to deal with the large volume of data to be
received over the mission. The methodologies proposed in the literature to be
able to scale clustering algorithms, as well as descriptions of the techniques
chosen due to their properties will be presented throughout this work.
The developed research can be divided into different parts:
• A study of the data that allows us to select a methodology appropriate
to its preprocessing.
• Study of different attributes and the generation of new attributes. By
analyzing the groups obtained with the selected clustering algorithm
with different sets of data, we can conclude the suitability of these for
inclusion in the final tool.
• Clustering algorithm study with noise in data.
xv
xvi
• Analysis of the different techniques used by OCA. Its importance lies in
knowing the suitability and feasibility of these techniques with the pro-
posed design to scale the clustering algorithm. We’ll implement some
of the techniques of the proposed design.
Therefore, this paper develops the preliminary test suite of the OCA work
package.
Capıtulo 1
Introduccion
Este capıtulo presenta el contexto del proyecto desarrollado e informacion
basica sobre el trabajo realizado.
Comienza con la localizacion del trabajo dentro de la mision espacial Gaia,
continuamos explicando la razon por la que se propone su realizacion y los
objetivos, tanto iniciales como su revision durante el desarrollo del proyecto.
Finalmente explicamos la estructura de la memoria.
1.1 Contexto del trabajo
GAIA (Global Astrometric Interferometer for Astrophysics) es una mision
espacial de la Agencia Espacial Europea cuyo lanzamiento esta previsto para
finales de 2013. El objetivo de la mision es recopilar un catalogo de objetos
estelares con medidas astrometricas y fotometricas. Esto permitira trazar el
mayor y mas preciso mapa tridimensional creado hasta la fecha ası como un
mapa de los movimientos de dichos objetos. Esta informacion permitira me-
jorar nuestro conocimiento sobre la composicion, formacion y evolucion de
nuestra galaxia.
Durante la mision, cada objeto estelar sera monitorizado, en promedio,
alrededor de 70 veces durante la mision, que se espera dure 5 anos. Se ob-
tendran medidas de las posiciones, distancias, movimientos y cambios en el
brillo de cada objeto. Considerando que se espera que la mision dure 5 anos,
1
2 capıtulo 1. Introduccion
se estima que los datos recopilados ascenderan a 200 TB.
Analizar esta ingente cantidad de informacion es un desafıo para las tecni-
cas de minerıa de datos y en concreto para las tecnicas de clustering o analisis
de conglomerados, donde se engloba nuestro proyecto.
Este trabajo se localiza dentro del grupo de trabajo Object Clustering
Analysis (OCA) del Gaia Data Processing and Analysis Consortium (DPAC);
un consorcio internacional de mas de 400 cientıficos e ingenieros de software
creado para el procesamiento y analisis de la informacion que recogera el
satelite. DPAC esta organizado en diferentes unidades de coordinacion res-
ponsables de diferentes aspectos claves en el procesado de datos. OCA se
engloba dentro de la unidad de trabajo 8 (CU8), la cual tiene el cometido
de estimar los parametros astrofısicos de los objetos observados y de llevar a
cabo tareas de clasificacion.
OCA realizara tareas de agrupamiento con el objetivo de obtener los gru-
pos naturales de los distintos objetos y poder descubrir nuevos tipos. Ademas
los resultados que obtenga podran contribuir a mejorar los clasificadores me-
diante la incorporacion de las nuevas clases.
Dado que aun no ha sido lanzado el satelite Gaia, el trabajo ha sido
desarrollado con datos semiempıricos provenientes del proyecto Sloan Digital
Sky Survey (SDSS) [15].
1.2 Objetivos perseguidos
El objetivo inicial del trabajo era la implementacion y adaptacion del algo-
ritmo HMAC [29] en el marco de trabajo de Gaia y estudio de su compor-
tamiento y resultados. Sin embargo, en una temprana fase del proyecto, con
una implementacion inicial del algoritmo realizada, encontramos que HMAC
se encontraba ya implementado en el proyecto global a mayor escala donde
se localiza nuestro trabajo.
En este momento se revisaron los objetivos del proyecto y se centraron
alrededor de la estructura, en fase de diseno, conocida como pipeline, cuyo
objetivo es tratar de escalar el problema para que pueda utilizarse de forma
seccion 1.3. Estructura del trabajo 3
eficiente y precisa el analisis de conglomerados en GAIA.
Por ello nuestro trabajo adquirio una vertiente mas experimental, con el
analisis, estudio y comprension de los datos disponibles con diversos objeti-
vos:
• Estudio del preprocesamiento necesario en los datos, con aspectos claves
como la disminucion de dimensionalidad, eleccion de atributos, etc.
• Adelantarnos a los problemas que puedan surgir respecto al tratamien-
to de los datos y sus soluciones, antes de la llegada de las muestras
recogidas por Gaia.
• Analisis del coste temporal y viabilidad de la aplicacion de las diferentes
tecnicas que utilicemos, especialmente HMAC.
• Validar experimentalmente si la estructura disenada para resolver el
problema sera capaz de realizar su trabajo con el tamano del problema
esperado.
• Investigar el comportamiento de los algoritmos frente al ruido. Carac-
terizacion de los resultados.
Ademas del caracter empırico, el trabajo no estuvo exento de la imple-
mentacion de algunas de las tecnicas sugeridas para mejorar el rendimiento
del analisis de conglomerados.
1.3 Estructura del trabajo
Para conseguir nuestros objetivos, el trabajo comienza realizando una revi-
sion del area, que centraremos en las diferentes metodologıas para escalar
los problemas en el analisis de conglomerados y en el estudio de los nuevos
modelos para el trabajo con grandes bases o repositorios de datos.
Posteriormente, en el capıtulo 3 comenzamos con el estudio de los datos
disponibles, centrandonos en la procedencia de los diferentes corpus de datos
4 capıtulo 1. Introduccion
y su division principal en datos completamente sinteticos y muestras pro-
venientes de simulaciones realizadas sobre observaciones reales extraidas de
repositorios existentes. Revisaremos la informacion contenida en las muestras
y realizaremos el analisis de estos datos estudiando y proponiendo soluciones
a los diferentes problemas encontrados.
Relataremos tambien el preprocesado realizado, extensible a los datos
de Gaia cuando esten disponibles, las razones que nos llevan a elegir una
determinada normalizacion, tecnicas aplicadas para la reduccion de la di-
mensionalidad, etc.
En el capıtulo cuarto, describiremos las tecnicas mas relevantes manejadas
durante el proyecto, los algoritmos K-means++ y K-means#, el algoritmo de
clustering HMAC/MAC y finalizamos el capıtulo con la estructura conocida
como arbol kd.
El capıtulo 5 introduce la estructura del pipeline, ideada para manejar de
forma escalable los datos, para que el coste temporal y espacial del algoritmo
de clustering crezca de forma lineal con el numero de datos, o al menos, para
que el crecimiento no sea tal que el problema se vuelva intratable.
La segunda parte de este capıtulo presentara experimentos que nos permi-
tiran extraer importantes conclusiones, como las pruebas de escalado de los
algoritmos K-means++ y K-means#, pruebas de rendimiento del algoritmo
de reduccion de dimensionalidad, los experimentos sobre el coste espacial y
temporal de HMAC que demuestran la necesidad de plantear una metodo-
logıa para reducir el tamano del problema, o las pruebas y conclusiones sobre
la variacion del algoritmo de agrupacion utilizando estructuras de arbol kd.
El capıtulo sexto esta dedicado a los experimentos iniciales del algoritmo
MAC, con los datos y los atributos disponibles, donde los malos resultados
nos obligaran a plantear un analisis de posibles soluciones para mejorar la
eficacia del clustering.
El siguiente capıtulo presenta la segunda fase de la experimentacion don-
de desarrollamos las diferentes lıneas de mejora, destacando los resultados
obtenidos con una de las lıneas de investigacion, la incorporacion de infor-
macion derivada de los momentos estadısticos de los espectros de los objetos,
que es una idea original del presente trabajo.
seccion 1.3. Estructura del trabajo 5
Finaliza esta seccion con el analisis de los conglomerados, caracterizando
la informacion perteneciente a los clusters. Con este objetivo, se desarrolla
una herramienta que a traves de servicios web, consulta los datos de los obje-
tos estelares originales de cuyas muestras se generaron las simulaciones de los
datos utilizados, de forma que mostramos como se puede realizar un analisis
de la informacion util en el dominio del problema, a la vez que facilitamos
una herramienta para realizar este cometido.
El capıtulo 8 presenta los resultados del algoritmo de agrupacion, cuando
las muestras contienen ruido, bien sea ruido real ya que utilizamos mues-
tras de simulaciones sobre datos de repositorios existentes donde podemos
controlar el nivel de ruido o bien por la introduccion de ruido sintetico.
Por ultimo se recopilan las conclusiones mas relevantes y trabajo futuro.
Capıtulo 2
Revision del area
Este capıtulo se centrara en los algoritmos de agrupamiento o analisis de
conglomerados en grandes bases de datos ası como en los marcos de trabajo
especıficos para trabajar con datos masivos.
En primer lugar presenta los distintos paradigmas de agrupamiento para
escalar los algoritmos de agrupamiento. A continuacion describe los algorit-
mos mas relevantes en cada paradigma indicando los motivos por los que
no son adecuados en nuestros datos. Finalmente se revisan dos marcos de
trabajo para poder trabajar con datos masivos.
Para escalar las distintas tecnicas de agrupamiento hay que tener en cuen-
ta que todos los datos deben ser visitados y analizados en una o mas oca-
siones. Esto conlleva que al alto coste espacial se le una un coste temporal
que dependera de la tecnica empleada. Para abordar esto, se han propuestos
diversos paradigmas [44]:
• Divide y venceras.
• Metodologıa incremental.
• Paralelizacion.
El escalado de un algoritmo de agrupamiento puede implicar el uso de
uno o varios paradigmas.
7
8 capıtulo 2. Revision del area
2.1 Divide y venceras
La estrategia divide y venceras esta basada en plantear el problema original
de tal modo que se descomponga en varios subproblemas de menor tamano
que pasan a resolverse de manera independiente. Finalmente se combinan las
soluciones obtenidas para construir la solucion del problema original.
Los algoritmos K-medias [30] y CURE (Clustering Using REpresentati-
ves) [22] son dos algoritmos que han sido adaptados a este paradigma.
Una adaptacion del K-medias propuesto por [26] divide los datos en K
subconjuntos y ejecuta el algoritmo en cada uno de ellos. Finalmente fusiona
los grupos resultates. Esta estrategia se presta de forma natural a su ejecucion
en paralelo.
El amplio uso de este algoritmo se debe a su simpleza y eficiencia; de
modo que es adecuado para su aplicacion en grandes conjuntos de datos. Sin
embargo los mayores inconvenientes son su alta dependencia en una buena
inicializacion para obtener buenos resultados, su escasa robustez frente a
casos anomalos y su limitacion para encontrar grupos no esfericos o con
distinto tamano y/o densidad.
En nuestros datos este algoritmo no es adecuado debido a que la distri-
bucion de los grupos no es esferica. Ademas, los distintos tipos de objetos
forman grupos heterogeneos ası como se espera que haya presencia de ca-
sos anomalos. Otro motivo por el cual no es un buen candidato es que existe
mucha confusion entre grupos. Por ejemplo, las caracterısticas de algunas ga-
laxias hacen que sean confundidas con estrellas. Esto se corroboro aplicando
dicho algoritmo a los datos en estudio.
El algoritmo CURE (Clustering Using REpresentatives) [22] trabaja con
una muestra aleatoria obtenida a partir de los datos originales. Tal y como
demuestran los autores, una muestra de datos de tamano moderado preserva
la informacion sobre la geometrıa de los grupos del conjunto original. Para
escalarlo a grandes conjuntos de datos, el conjunto original de datos se divide
en K particiones y se aplica el algoritmo en cada particion. En una fase
posterior se fusionan los grupos obtenidos en cada particion.
Es un algoritmo robusto frente a casos anomalos y permite identificar
seccion 2.2. Metodologıa incremental 9
grupos de forma no esferica ası como de diferentes tamanos. Sin embargo no
trabaja bien en caso de que haya grupos con distintas densidades. El coste
espacial es O(n); mientras que el temporal es O(n2 log(n)).
Los datos con los que trabajamos forman grupos de distintas densidades.
Esto, junto al alto coste temporal hacen que esta tecnica haya sido descarta-
da.
A pesar de la poca idoneidad de las tecnicas mostradas, el paradigma
divide y venceras es una estrategia adecuada para poder agrupar datos ma-
sivos. Por lo tanto, y tal y como veremos mas adelante, sera la solucion que
aplicaremos para poder agrupar nuestros datos.
2.2 Metodologıa incremental
La idea central del agrupamiento incremental es agrupar una muestra sufi-
cientemente significativa de datos y evaluar los nuevos datos a partir de los
grupos obtenidos.
Dos de los algoritmos mas populares de este paradigma son BIRCH (Ba-
lanced Iterative Reducing and Clustering using Hierarchies) [56] y DBSCAN
(Density-Based Spatial Clustering of Application with Noise) [14].
BIRCH empieza contruyendo un arbol balanceado que almacena informa-
cion relativa a los datos sin que estos tengan que estar en memoria. Posterior-
mente la informacion de dicho arbol se va actualizando de forma incremental
a medida que va recibiendo datos nuevos.
Dicha estrategia es adecuada para grupos con forma esferica y es robusta
frente a casos anomalos. Sin embargo no es adecuado si existen grupos de
diferentes tamanos. Este inconveniente y la heterogeneidad de los grupos
presentes en nuestros datos hacen que sea descartado para nuestro proposito.
DBSCAN se basa en el concepto densidad para llevar a cabo el agrupa-
miento. Para ello define la densidad como el numero de puntos dentro de un
radio determinado y el procedimiento consiste en conectar regiones con una
densidad mayor que el considerado por medio de un parametro.
Las mayores ventajas son que no es necesario especificar el numero de
10 capıtulo 2. Revision del area
grupos, es robusto frente al ruido y casos anomalos y puede trabajar en caso
de que los grupos tengan formas distintas. Como inconvenientes, requiere
definir una metrica para calcular distancias y no trabaja bien si los grupos
tienen densidades distintas.
Considerando que en nuestros datos los grupos tendran distintas densi-
dades, DBSCAN no es una buena eleccion para nuestros datos.
Otro algoritmo que sigue este paradigma, es CLARA [25] (Clustering
LARrge Applications), que trata de mejorar el coste temporal del algoritmo
PAM [25] (similar en concepto a K-medias pero utilizando elementos centra-
les de grupo en lugar de centroides), la mejora que presenta CLARA respecto
a PAM, se basa en la eleccion de un numero bajo de puntos en las muestras,
que aproximen los puntos centrales representativos del conjunto completo
de datos. Los inconvenientes que presenta frente a nuestro problema son, en
primer lugar, que la utilizacion de un subconjunto de los datos puede no ser
representativo de las clases en nuestro caso, ya que se puede perder la infor-
macion de grupos naturales con pocos datos y en segundo lugar el algoritmo
subyacente, PAM, funciona para grupos naturales de forma esferica.
Existen mejoras mas recientes de este algoritmo como MCMRS Sampling
Scheme (MultiCentroid, Multi-Run Sampling Scheme) [9], que observa expe-
rimentalmente que existe una alta probabilidad de que los mejores elementos
centrales de los grupos se encuentren cerca de los centroides y utiliza esta in-
formacion para generar un subconjunto de datos para la muestra, acelerando
el calculo. Sin embargo la tecnica de agrupamiento continua funcionando en
base a distancias a elementos centrales, generando grupos con formas esferi-
cas, por lo tanto no se presenta adecuado para nuestro problema.
2.3 Paralelizacion
La paralelizacion pretende reducir el tiempo de computo distribuyendo la
carga de trabajo entre los procesadores disponibles. Para poder adaptar un
codigo a dicho paradigma se requiere:
• Independencia de datos. Deben identificarse tareas independientes den-
seccion 2.3. Paralelizacion 11
tro del codigo, de tal forma que no exista dependencias de datos que
puedan obstruir la paralelizacion.
• Identificar los cuellos de botella de rendimiento. La paralelizacion de
estas regiones permite mejorar considerablemente el rendimiento del
algoritmo.
Los algoritmos paralelos desarrollados son adaptaciones de algoritmos
que pertenecen a alguno de los pradigmas anteriores visto. Las principales
estrategias de paralelizacion [50, 27] son:
• Paralelizacion independiente. Donde cada procesador accede al conjun-
to de datos pero no se comunican entre si.
• Paralelizacion de la tarea. Cada procesador realiza diferentes tareas en
los datos particionados o en el conjunto de datos.
• SMPD (Single Program Multiple Data). Diferentes procesadores ejecu-
tan el mismo algoritmo en diferentes subconjuntos de datos e intercam-
bian resultados parciales para cooperar en el proceso que conduzca a
una solucion final.
La mayorıa de los algoritmos de agrupamiento paralelos siguen una com-
binacion de SMPD y paralelizacion de la tarea, con una arquitectura maestro-
esclavo.
De los algoritmos vistos anteriormente, el K-medias se presta de forma
natural a la paralelizacion, tanto para el caculo de las distancias al centroide
como en la asignacion de los grupos. Por ejemplo, en [24] usan un modelo de
paso de mensajes y en [57] una arquitectura maestro-esclavo.
Una version paralela de BIRCH, PBIRCH [17], utiliza el paso de mensajes
entre nodos de computacion para distribuir los datos entre cada procesador
para que construyan su propia estructura de datos y luego intercambian
informacion para actualizar los conglomerados.
DBSCAN es otro algoritmo del que existen varias propuestas paralelas.
En [6] se propone un modelo maestro-esclavo, el cual divide la entrada de
12 capıtulo 2. Revision del area
los datos en varias particiones, de modo que cada particion es asignada a un
procesador que los agrupa mediante una version concurrente de DBSCAN.
Finalmente, se anade un ultimo paso de union de los grupos encontrados en
cada procesador para generar los grupos globales.
Las versiones paralelas de los algoritmos presentados mejoran la eficiencia,
pero presentan los mismos inconvenientes que los de su version concurrente.
Dichos inconvenientes se resumen en:
• Limitado a grupos esfericos: K-medias y BIRCH.
• Dificultad en agrupar grupos con distinto tamano: K-medias y BIRCH.
• Dificultad en agrupar grupos con distintas densidades: K-medias, CU-
RE y DBSCAN.
En la Tabla 2.1 se resumen los paradigmas y algoritmos presentados en
este capıtulo. De cara al desarrollo de nuestro trabajo nos interesara que el
diseno permita, en la medida de lo posible, una futura paralelizacion.
El analisis de los diferentes algoritmos nos ayuda a entender las decisio-
nes tomadas en el diseno de la estrategia de agrupamiento considerada para
abordar grandes conjuntos de datos. Tambien permite entender por que la
solucion propuesta no incluye ninguno de los algoritmos presentados en este
capıtulo.
2.4 Trabajo con grandes bases de datos
Para el manejo del repositorio de datos se hace necesario la introduccion
de nuevas tecnica de acceso a los datos; existen nuevos modelos y marcos de
trabajo especialmente dedicados a ello, como MapReduce [10] introducido por
Google para dar soporte a la computacion paralela sobre grandes colecciones
de datos en grupos de computadoras.
Su funcionamiento se basa en disgregar los procesos en operaciones de
map() y reduce(), los datos de entrada son particionados y procesados inde-
pendientemente por estas operaciones.
seccion 2.4. Trabajo con grandes bases de datos 13
Tabla 2.1: Resumen de los paradigmas y algoritmos analizados.
Paradigma Algoritmo
Divide y vencerasK-medias [26]
Cure [22]
Metodologia incremental
BIRCH [56]
DBSCAN [14]
CLARA [25]
MCMRS Sampling Scheme [9]
Paralelizacion
Parallel K-means [24, 57]
PBIRCH [17]
Parallel DBSCAN [6]
Con map se toma una funcion de entrada y una secuencia de valores
aplicandose la funcion a cada valor en la secuencia. Con tareas reduce se
procesan independientemente las listas y de forma colectiva crean la salida
final.
Podemos entender MapReduce desde el punto de vista de la arquitectura
o del programador:
• Desde la arquitectura, un nodo maestro divide la entrada en problemas
de menor identidad, y los distribuye a otros nodos que pueden subdi-
vidir los problemas a su vez dando lugar a una estructura en arbol,
procesandose el problema y devolviendo la respuesta al nodo maestro.
• Para el programador, el paradigma MapReduce es una gran abstrac-
cion, que se centra en la forma de resolver un problema utilizando solo
funciones map y reduce. Parte de la abstraccion incluye la particion
de los datos, asignacion y monitorizacion de tareas y distribucion de
los datos a traves de las maquinas utilizando un sistema de archivos
distribuido.
El paradigma MapReduce, trata de solventar una de las limitaciones en
un entorno de procesamiento en paralelo, que es el transporte de grandes
14 capıtulo 2. Revision del area
ficheros entre ordenadores debido al limitado ancho de banda entre ellos,
dado que la funcion map() utiliza una memoria intermedia de caracter local
de forma agregada y ordenada y la funcion reduce() recibe una lista de valores
asociados a una unica clave, debido a la latencia en la comunicacion entre
los ordenadores, cualquier reduccion de la cantidad de datos intermedios,
realizada de forma local, incrementara la eficiencia de los algoritmos.
El entorno es tolerante a fallos, incluso ante fallos hardware de nodos. El
nodo maestro vigila el comportamiento del resto y ante una caıda, cualquier
funcion map() o reduce() que se encuentre en progreso durante el fallo, es
asignada a otro nodo, convirtiendose en la eleccion para la compresion de
datos masivamente paralelos en un esquema tolerante a fallos.
MapReduce no es adecuado para todo tipo de problemas, solo para los que
su esquema de mapeo y reduccion de datos sea adecuado, podemos ver en [19]
como la clave es utilizar algoritmos que de alguna forma lleven implıcita la
funcion y =∑f(x),donde f(x) es realizada por map() y
∑por reduce().
Como ejemplo, podemos ver como algoritmos utilizados en minerıa de
datos que realizan una unica iteracion y cuyas claves estarıan uniformemente
distribuidas, como es el caso de Naıve Bayes, es adecuado para este esquema,
o como algoritmos que realizan multiples iteraciones con poca informacion
intercambiada o sincronizada entre las iteraciones, como el caso de K-Medias
son tambien adecuados, frente a algoritmos como SVM (Support Vector Ma-
chines) o HMM (Hidden Markov Model) que no son adecuados por utilizar
mucha informacion compartida y por la fina granularidad necesaria en la
sincronizacion.
En [19] podemos encontrar tambien el pseudocodigo y analisis de la im-
plementacion de K-Medias utilizando el modelo MapReduce.
La implementacion mas popular del paradigma MapReduce es Hadoop,
que es una implementacion de codigo libre de Apache, con un API nativa en
Java.
Algunas particularidades de esta implementacion son que utiliza su propio
sistema de archivos distribuido, HDFS (Hadoop Distributed File System),
escalable y portatil escrito en Java.
Este sistema de archivos almacena los archivos grandes a traves de multi-
seccion 2.4. Trabajo con grandes bases de datos 15
ples maquinas consiguiendo la fiabilidad a traves del replicado de datos en
multiples maquinas sin requerir almacenamiento RAID.
Otra mejora introducida por esta implementacion es que cada sistema de
archivos debe conocer y proporcionar su ubicacion: el nombre del rack/switch
donde esta el nodo trabajador.
Las aplicaciones Hadoop pueden usar esta informacion para ejecutar tra-
bajo en el nodo donde estan los datos y, en su defecto, en el mismo rack/switch,
reduciendo ası el trafico de red troncal y aumentando el trafico entre maqui-
nas del mismo armario, conectados a mayor velocidad. El sistema de archivos
HDFS usa esto cuando replica datos, para intentar conservar copias diferen-
tes de los datos en armarios diferentes. El objetivo es reducir el impacto ante
el fallo no solo de una maquina, sino de un armario completo de maquinas.
Otras alternativas al paradigma MapReduce son:
• Percolator [37]: Se trata de un sistema para manejar las actualizacio-
nes en grandes conjuntos de datos de forma continua. El sistema se
desarrollo para optimizar el indexado de paginas web y no se muestra
adecuado en nuestro caso.
• Apache Hama [43, 8, 36]: Construido sobre HDFS (Hadoop Distributed
File System) trabaja sobre Hadoop aportando el paradigma de desa-
rrollo de aplicaciones usando el paso de mensajes como medio de co-
municacion y garantiza la imposibilidad de bloqueos o colisiones en el
mecanismo de comunicacion.
Una ventaja adicional sobre el modelo MapReduce es que este, a dife-
rencia de Hama, no preserva los datos de forma local en operaciones
consecutivas.
Apache Hama se muestra eficaz cuando:
1. La localidad de los datos es importante.
2. Procesamos datos con relaciones complejas.
3. Usamos muchas iteraciones y recursiones.
16 capıtulo 2. Revision del area
El principal defecto es que la implementacion actual presenta una de-
ficiente tolerancia a fallos respecto las demas alternativas.
• Pregel [32]: Similar a Apache Hama, ambos se basan en tecnicas BSP
(Bulk Synchronous Parallel) optimas especialmente para calculos cientıfi-
cos masivos (donde predominan operaciones sobre matrices, grafos,
etc.), pero centrandose en que el desarrollador escriba un algoritmo
usando grafos como estructuras, utilizando una funcion que envıa y re-
cibe mensajes a grafos, abstrayendo de los detalles de la distribucion de
la informacion y la tolerancia a fallos. El problema de esta aproxima-
cion es que esta mas centrada y se debe desarrollar mas estrictamente
siguiendo su modelo, frente a alternativas como Apache Hama, que
siguiendo la misma tecnica BSP presenta una mayor generalidad.
Capıtulo 3
Estudio de los datos
3.1 Descripcion de los datos utilizados
El presente trabajo utiliza datos simulados debido a que no habra datos reales
disponibles hasta unos meses despues de que el satelite Gaia sea lanzado.
La etapa de desarrollo de las simulaciones esta dividida en ciclos; de modo
que cada ciclo proporciona nuevas simulaciones que incorporan nuevos tipos
de objetos, nuevas medidas, solventa errores y/o carencias encontrados en
simulaciones anteriores.
Las simulaciones proporcionadas son de tipo sinteticos o semiempıricos.
Los primeros provienen de modelos teoricos y lo segundos parten de datos
reales del catalogo SDSS (Sloan Digital Sky Survey) que son tratados para
aproximar sus medidas a los valores que observarıa Gaia. Como el SDSS
cubre un espectro menor que Gaia, tuvieron que extenderse los espectros
reales mediante espectros sinteticos. En la Figura 3.1 se muestra un esquema
de la generacion de los datos semiempıricos. En [52] se describe la seleccion
de los espectros del SDSS ası como el procedimiento seguido para extender
los datos.
17
18 capıtulo 3. Estudio de los datos
Figura 3.1: Esquema de la generacion del corpus SDSS.
Los distintos tipos de objetos disponibles son:
• Galaxias (SDSS)
• Cuasares (SDSS)
• Estrellas:
– SDSS
– Phoenix
– Tipo A
– Tipo Wolf-Rayet
– Ultrafrıas
La etiqueta SDSS implica que los datos son semiempıricos. Definimos
brevemente y de forma general cada tipo de objeto como:
• Estrella: En sentido general, es todo objeto astronomico que brilla con
luz propia. Es una esfera de plasma que mantiene su forma gracias a un
equilibrio de fuerzas entre la gravedad, que empuja la materia hacia el
centro de la estrella, y la presion que ejerce el plasma hacia fuera, que
tiende a expandirlo. La presion hacia fuera depende de la temperatura,
que en un caso tıpico se mantiene con la energıa producida en el interior
de la estrella. Este equilibrio seguira esencialmente igual en la medida
en que la estrella mantenga el mismo ritmo de produccion energetica,
seccion 3.1. Descripcion de los datos utilizados 19
ya que una gran variedad de reacciones diferentes de fusion tienen lugar
dentro de los nucleos de las estrellas, las cuales dependen de su masa
y composicion.
• Galaxia: Es un conjunto de varias estrellas, nubes de gas, planetas,
polvo cosmico, materia oscura y quiza energıa oscura, unido gravita-
toriamente. La cantidad de estrellas que forman una galaxia es muy
variable en tipo y numero.
• Cuasar: Tienen aparentemente el mismo aspecto que una estrella, de
ahı su nombre, que proviene de la contraccion inglesa quasi-stellar y son
una fuente de energıa electromagnetica, que incluye radiofrecuencias y
luz visible. Son objetos extremadamente lejanos y luminosos, lo que
permite su vision a pesar de la distancia. Hoy en dıa, se piensa que los
cuasares son los nucleos de galaxias muy jovenes.
Los datos semiempıricos se simularon a distintos valores de la magnitud
G, la cual es una medida que indica la cantidad de energıa emitida por el
objeto que recibe el detector. Dichos valores considerados fueron G = 15, 18,5
y 20.
Para los datos sinteticos las simulaciones no solo tenıan en cuenta los
valores de G sino tambien el de otros parametros como por ejemplo la
Teff . En este caso se consideraron dos metodologıas distintas: Nominal y
Random. En la primera de ellas las simulaciones se hacen para valores es-
pecıficos de los parametros astrofısicos como por ejemplo, G = 10, 15, 18 y
Teff = 5000, 7500, 1000. En la segunda metodologıa estructura los valores
especıficos de las simulaciones como una malla de puntos en el espacio de
parametros astrofısicos y lleva a cabo simulaciones para valores intermedios
de dicha malla mediante extrapolacion. Tal y como veremos en la seccion 3.2,
la metodologıa empleada para la simulacion es importante e influye en los
resultados finales.
Las caracterısticas de las estrellas provenientes de los datos sinteticos son:
• Corpus Phoenix: Contiene datos espectrales de estrellas, han sido ge-
nerados a partir de dos bibliotecas de datos diferentes y con diferentes
20 capıtulo 3. Estudio de los datos
valores de magnitud (9, 15 y 20) y (9, 11, 15, 18,5 y 20) respectivamente,
por lo tanto, este corpus esta formado por dos conjuntos diferentes de
datos segun su generacion y donde encontramos caracterizadas estrellas
en unos rangos de temperaturas donde las mas calientes coinciden con
las estrellas simuladas a partir de los datos de SDSS, y sus estrellas
mas frıas, con temperaturas que llegan casi a las de las estrellas ultra
frıas. Mantiene una proporcion similar para todos los rangos de tem-
peraturas lo cual no es realista y su proporcion respecto a las estrellas
normales de SDSS lo es.
• Estrellas de tipo A: Conjunto de datos formado por estrellas muy calien-
tes cuyo color convencional es blanco, simuladas con una temperatura
efectiva entre 10,000− 15,000K para magnitudes de G = 8, 11 y 15.
• WR o Wolf-Rayet: Estrellas masivas y calientes, con temperaturas su-
perficiales entre 25,000 y 50,000K, elevadas luminosidades y muy azu-
les como queda reflejado en sus espectros. Existen muy pocos tipos de
estrellas de este tipo por lo que podemos considerar su proporcion ade-
cuada respecto al numero de estrellas del catalogo SDSS, 26 frente a
50,000. Han sido simuladas para magnitudes G = 10, 12, 15, 18,5 y 20.
• Fast rotators: Corpus de datos que contiene estrellas con un rapido
movimiento giratorio que produce diversos efectos fısicos en la estre-
lla [28], como la reduccion de la luminosidad y cambios en la forma de
la estrella que distorsionan la forma esferica. El efecto en la evolucion
de la estrella no es significativo pero cambia el espectro de la estrella.
Ademas estas estrellas aparentan ser mas frıas de lo que son. La ge-
neracion de datos se realizo para valores de G = 10, 12, 14 y 16. La
proporcion en cuanto al numero de instancias respecto a otros tipos de
estrellas no se mantiene.
• Ultra Frıas: Corpus de datos que contiene solo este tipo de estrellas y
utiliza dos modelos diferentes para el calculo de los parametros basicos,
dependiendo de la temperatura efectiva (Teff ) de la estrella, Dusty para
espectros con Teff = 1500− 2500K y Cond para Teff = 100− 1600K.
seccion 3.2. Problemas en las muestras 21
Observamos que son temperaturas extremadamente frıas y son un tipo
de estrellas infrecuentes por lo que su proporcion respecto el resto de
estrellas no es realista. Se utilizan valores de G = 8, 11 y 15 para su
generacion.
Tanto el corpus de Phoenix como el de Ultra Frıas contienen datos que
provienen de ambas metodologıas, mientras que las simulaciones de las es-
trellas tipo A, WR y Fast Rotators, unicamente provienen de la metodologıa
Nominal. En los trabajos [49, 53, 12] y en la Wiki de DPAC se detalla el
origen y se describen las simulaciones.
Tabla 3.1: Numero de instancias por corpus de datos
Fuente Clase Tipo # instancias
Semiempıricas
Estrella − 50000
Galaxia − 33670
Cuasar − 70556
Sinteticas Estrella
tipo A 252
Fast Rotator 288
Corpus Phoenix 10000
Ultrafrias 11188
Wolf-Rayet 43
El numero de objetos estelares de cada tipo puede verse en la tabla 3.1. Si
atendemos a las tres clases principales de datos disponibles, estrellas, galaxias
y cuasares, el numero de instancias de estrellas (sumando todos los tipos) es
de 71,771.
3.2 Problemas en las muestras
Tras la descripcion teorica de los datos y previamente a su analisis en-
contramos problemas de diferente naturaleza.
22 capıtulo 3. Estudio de los datos
• La proporcion de los diferentes tipos de objetos, ya sean entre los tipos
de estrellas de las diferentes simulaciones sinteticas o el numero de
galaxias y cuasares, respecto a las estrellas en los datos semiempıricos,
dista mucho de ser realista. Por ejemplo en los datos originados de
SDDS, la proporcion es de 32,4 % de estrellas, 21,8 % de galaxias y
45,7 % de cuasares mientras que el universo observable contiene, segun
una estimacion conservadora [18], aproximadamente 6 × 1022 estrellas
organizadas en 8∗1010 galaxias y el numero de cuasares reales es mınimo
en comparacion.
• El bajo numero de instancias de algunos tipos de objetos, por ejem-
plo, estrellas de tipo Wolf-Rayet. El problema de las distribuciones no
balanceadas de datos puede conducir, con metodos tradicionales de
minerıa de datos, a aprendizajes sesgados en perjuicio de la clase mi-
noritaria. [55]
• Utilizacion de diferentes valores de magnitud en las muestras, el valor de
la magnitud se refiere a la cantidad de energıa captada por el detector,
tendra una relacion con el efecto del ruido en los datos, pues sera mucho
mayor su efecto en objetos donde la energıa captada es debil, por lo
tanto tendremos simulaciones con diferente afectacion de ruido.
• Las estrellas de los datos semiempıricos solo contienen datos de los ti-
pos estelares mas comunes con unas temperaturas entre 4.000 y 7800
grados Kelvin y segun la clasificacion espectral encontramos solo cier-
tos tipos de estrellas. Esto trata de subsanarse con la introduccion de
los datos de origen sintetico, pero aparte del problema de la falta de
proporcion en instancias de diferentes tipos de estrellas, encontrare-
mos posteriormente, que los espectros se encuentran en magnitudes de
valores totalmente distintas.
Una vez comenzo la fase de analisis y preprocesamiento de los datos,
encontramos numerosos problemas relativos a los datos, principalmente de-
bido a las instancias procedentes de datos sinteticos que dificultan la tarea
posterior de agrupamiento.
seccion 3.2. Problemas en las muestras 23
• Solo los datos originados a partir de SDSS, incorporan todos los parame-
tros astrofısicos que utilizaremos en fases posteriores de la experimen-
tacion.
• Solo las estrellas y galaxias de SDSS, incorporan algun mecanismo que
nos puede indicar los valores observados de objetos existentes, a traves
de la identificacion del objeto original, que utilizaremos en fases poste-
riores del trabajo 7.5 para caracterizar la informacion agrupada.
• Los datos de estrellas Ultra Frıas y del corpus Phoenix necesitan de
un proceso de escalado, pues sus valores se encuentran en magnitudes
diferentes respecto a los demas corpus de datos y entre sus propios
espectros. Se trata de un problema de mezcla por las diferentes fuentes
de datos.
Por estos motivos y tambien por la necesidad de reducir el numero de
instancias para poder realizar las simulaciones, tras una primera fase de ex-
perimentacion y ante los malos resultados obtenidos al mezclar los datos
provenientes de fuentes sinteticas con los datos provenientes de observacio-
nes en SDSS, realizamos las posteriores fases de experimentacion solo con los
datos provenientes de SDSS.
Debemos mencionar, que con el presente trabajo contribuimos tambien en
el proceso de mejora de los datos generados por DPAC, dado que encontramos
en los datos iniciales provenientes del ciclo 5, instancias con valores invalidos
para ciertos atributos que debieron ser corregidos en posteriores generaciones
de corpus de datos.
Con los datos del ciclo 6, encontramos durante los procesos de normali-
zacion de los datos, que los espectros contenıan algunos valores negativos.
Dado que los espectros expresan el flujo de energıa en la correspondiente
banda, este valor no puede ser negativo, por lo que se concluyo que el motivo
de estos valores se debe a la introduccion de ruido.
Finalmente, para realizar los experimentos en un entorno mas controla-
do y dado que no conocıamos el modelo de ruido introducido en los datos,
24 capıtulo 3. Estudio de los datos
utilizamos un conjunto de datos sin ruido y otro con ruido, comparando los
resultados en una fase de de experimentacion que llevamos a cabo en 8.
Que el presente trabajo haya convivido con diferentes corpus de datos ha
afectado en gran medida a la realizacion de los experimentos, como se puede
entender, debido a que continuamente debıan repetirse experimentos muy
costosos temporalmente.
3.3 Atributos presentes
Esta seccion muestra una descripcion de los atributos presentes en los datos,
de forma previa al inicio de la experimentacion.
Los dos espectros presentes en cada dato se corresponden con los fotome-
tros de baja resolucion equipados por el satelite Gaia, uno de ellos operando
en la banda azul, entre 330−680nm correspondiente a los datos de BP (Blue
Photometer) y otro operando en la banda roja entre 640 − 1050nm, cuyos
datos conocemos como RP (Red Photometer).
Cada espectro esta formado por 60 datos discretos. Nuestra experimenta-
cion se ha planteado inicialmente con estos espectros, que nos hablan de las
propiedades fısicas de los objetos. Ademas, los datos semiempıricos de SDSS
contienen atributos provenientes de la astrometrıa, que nos habla de las agru-
paciones de objetos en el espacio y nos interesan porque las agrupaciones
espaciales corresponden con alta probabilidad a objetos que se formaron en
las mismas condiciones fısicas de abundancia de metales y al mismo tiempo,
estos atributos son:
• Paralaje, que podemos entender como la inversa de la distancia del
objeto al punto de referencia, es decir al satelite Gaia.
• Ascension y declinacion. Informacion de la posicion del objeto que po-
demos entender como la latitud/longitud en la esfera celeste.
• Movimiento propio, es el cambio angular de la posicion a lo largo del
tiempo visto desde el observador, medido en segundos de arco por ano.
seccion 3.4. Analisis de los datos 25
Esta formado por los desplazamientos angulares en ascension y en de-
clinacion.
Cabe destacar respecto al paralaje, que encontramos valores negativos
en lo datos de galaxias y cuasares, concluimos que el motivo es que no se
encuentra disponible la informacion de paralaje para estos objetos y existe
un ruido introducido en la simulacion que sigue una distribucion normal,
como podemos comprobar por la existencia de, aproximadamente la mitad,
de valores negativos en estas muestras. Por lo tanto, unicamente podemos
incorporar el paralaje en experimentos donde intervengan unicamente las
estrellas.
A lo largo del presente trabajo, trataremos de combinar la informacion
fısica con la astrometrica en diferentes puntos. 7
Otro atributo importante es la magnitud aparente. Utilizaremos su valor
en los datos como criterio de filtrado. Valores con menor magnitud aparente
tendran menor presencia de ruido, en 8.1 estudiaremos como varıan los re-
sultados si ampliamos el rango de valores de G, es decir, introduciendo en la
muestra objetos con mayor ruido.
Tambien estudiaremos los resultados cuando cambiemos el corpus de es-
tudio por la version con ruido sintetico 8.2, que presenta los mismos atributos
e informacion en los datos, aunque veremos durante la experimentacion que
el conjunto de datos no es el mismo que el de las muestras sin ruido, dificul-
tando la comparacion de resultados.
Encontramos otros atributos en los datos como la velocidad radial, pero
no presentaba valores, por lo que no se pudo utilizar en el estudio.
3.4 Analisis de los datos
Esta seccion trata sobre diferentes aspectos de los atributos y datos, encon-
trados durante la experimentacion y no de forma previa como la seccion
anterior y del analisis y preparacion de los datos para la experimentacion.
Sobre los datos de los espectros BP/RP, en el satelite Gaia, los foto-
nes incidiran sobre un CCD, consistente en una matriz de pixels de cierto
26 capıtulo 3. Estudio de los datos
Tabla 3.2: Los 125 atributos iniciales.
Tipo de medida Medida #datos
EspectrometrıaBP 60
RP 60
Astrometrıa
Paralaje 1
Movimiento propioA.R: 1
Dec: 1
Coordenadas
A.R. 1
Dec. 1
tamano sensibles a la luz. Los datos del CCD corresponderan a las cargas
fotoelectricas leıdas.
Con el objetivo de simular la respuesta del CCD se introduce una carac-
terıstica en los datos que debemos tener en cuenta, se trata del oversampling.
Si observamos una representacion de los datos, vemos que estos se re-
piten siguiendo un patron de desplazamiento entre ellos. Esto es debido a
que existen en la simulacion tres repeticiones de cada espectro simulando
un cierto desplazamiento en el CCD del objeto medido, modelando de esta
forma el desplazamiento sub-pixel de la imagen de un objeto en el detector
que creara una cierta funcion de dispersion sobre los datos. Gaia debera com-
binar estas informaciones para obtener el espectro final de un objeto. Esta
tecnica no era conocida aun en la documentacion de DPAC disponible sobre
el oversampling [48].
La forma de introduccion de este oversampling en nuestros datos, se reali-
za anadiendo un desplazamiento, de forma que los datos del primer muestreo
no tienen desplazamiento, los del segundo muestreo lo tienen de un tercio de
desplazamiento subpixel para un factor escogido para los datos y el tercer y
ultimo muestreo, tiene un desplazamiento de dos tercios del factor escogido.
Para nuestra experimentacion utilizaremos directamente los datos del pri-
mer oversample, es decir, sin desplazamiento, descartando los datos repetidos
con el desplazamiento anadido, dado que con los datos de Gaia tendremos un
espectro final por objeto, una vez realizada la fusion y se tengan en cuenta
seccion 3.4. Analisis de los datos 27
los posibles desplazamientos, no solo por la medicion, sino incluso por el ta-
mano y forma de los pixeles del detector y las distorsiones que introduzcan.
Si calculamos la grafica media de los espectros BP y RP de cada una de las
clases, podemos observar el gran parecido, especialmente entre las clases se-
miempıricas de SDSS, e intuir la dificultad que va a suponer el agrupamiento
utilizando unicamente esta informacion.
Presentamos las diferentes clases en la Figura 3.2, con todos los datos
disponibles en cada clase, incluyendo desplazamientos de los objetos (over-
samples) a traves de las primeras dos componentes principales.
Figura 3.2: Representacion de las diferentes clases.
Podemos observar el gran solapamiento que existe entre las clases y la
dificultad que tendremos para realizar un clustering correcto de los datos.
28 capıtulo 3. Estudio de los datos
Clases como las estrellas tipo A o las Wolf-Rayet, se encuentran a la
izquierda de la imagen sin existir solapamiento, sin embargo el problema con
estos datos como comentamos anteriormente, es la poca cantidad disponible,
lo que provoca que exista un gran desbalanceo entre las clases suponiendo
un problema para las tareas de agrupamiento.
Los datos provenientes de Sloan Digital Sky Survey se encuentran total-
mente solapados, mientras que las estrellas con origen sintetico del corpus
Phoenix cumplen un amplio espectro que va desde el solapamiento con los
datos de SDSS hasta alcanzar el rango de estrellas Ultra Frıas, que son las
unicas que se encuentran separadas de las demas y solo solapan parcialmente
con el corpus de Phoenix.
Observamos que esta representacion a traves de los componentes prin-
cipales tiene una relacion directa con la temperatura de las estrellas como
parametro fısico y con su composicion, pues la temperatura tiene relacion
directa con el flujo o energıa que incide en cada uno de los espectros.
A la izquierda de la imagen encontramos estrellas de tipo Wolf-Rayet y
A, siendo los tipos de estrellas mas calientes.
Observamos tambien, como comentamos en la descripcion de los datos,
que las estrellas procedentes de SDDS estan acotadas en un rango de tempe-
raturas que sabemos son las mas usuales, sin contener estrellas muy calientes
o muy frıas.
A la derecha de la grafica encontramos las estrellas Ultra Frias.
Se puede observar cierta diferencia entre algunos de los datos de Ultra
Frıas, explicables por la diferente procedencia, ya que como vimos en la des-
cripcion de los datos, este corpus de datos en concreto, esta formado por dos
simulaciones distintas, utilizando diferente metodologıa en la generacion.
Se observa el efecto del oversampling en los puntos de la propia imagen,
por ejemplo, observando las tres lineas formadas por los mismos puntos con
diferentes desplazamientos en la parte superior derecha de la imagen.
Tener informacion tanto astrometrica como fotometrica, ya nos indica que
podemos y debemos realizar experimentacion del agrupamiento desde ambas
perspectivas. Un posible nexo de union para fusionar ambas informaciones
puede ser la utilizacion de la magnitud, presente de forma indirecta en los da-
seccion 3.5. Preparacion para la experimentacion 29
tos, debido a que encontramos el valor del flujo de energıa. Podemos calcular
la magnitud G de una fuente con flujo F [42] como:
G = −2,5 log10 F + zeropoint
Donde la constante de la magnitud en el punto cero, es la magnitud de una
fuente que tiene un flujo de 1erg/s/cm2/Angstrom. En las bibliotecas del
proyecto se encuentra bajo la constante Satellite.MAGNITUDEZEROPOINT
y su valor es 25,6632.
La magnitud, G, es una escala exponencial, inversa de la medicion del
brillo de un objeto en el cielo, es decir, un numero de magnitud mayor im-
plica un objeto menos brillante. Objetos muy brillantes tienen incluso un
valor negativo y como ya indicamos anteriormente no sera util durante la
experimentacion para filtrar datos y eliminar aquellos menos brillantes, que
coinciden con los datos mas afectados por el ruido. En nuestra experimen-
tacion podrıa interesarnos utilizar la magnitud absoluta, que es la magnitud
aparente de un objeto si este se encontrara a una distancia fija del observa-
dor; en concreto se utiliza el valor de 10 parsecs o 32.6 anos luz, es decir,
relacionar la informacion astrometrica con los espectros a partir del brillo de
un objeto normalizado segun la distancia, incorporando la magnitud absoluta
en la union de astrometrıa y espectrometrıa.
Sin embargo, no es posible la utilizacion de la magnitud absoluta en todos
los experimentos, pues como hemos explicado, la informacion de la distancia
solo esta disponible para las estrellas provenientes de los datos semiempıricos
de SDSS, pero no para galaxias o cuasares, por lo tanto siempre que hablemos
de magnitud, se tratara de la magnitud aparente en nuestra experimentacion.
3.5 Preparacion para la experimentacion
3.5.1 Extraccion y preprocesado de datos
Los ficheros de datos originales se encontraban en un formato propietario,
utilizado por el consorcio para el analisis y procesado de datos de GAIA.
30 capıtulo 3. Estudio de los datos
El consorcio cuenta con diferentes herramientas desarrolladas en Java, pa-
ra la visualizacion de los datos, como la aplicacion MDB Explorer y otras [13,
41, 40].
Se realizo un trabajo de analisis de las librerıas utilizadas en el reposi-
torio de Gaia y de los codigos fuentes, no siempre disponibles, para poder
leer los datos de los ficheros y poder trabajar con ellos, junto con diferentes
documentos sobre los datos disponibles, como [51].
Una vez se pudo acceder a los datos, observamos que existe una gran
cantidad de informacion disponible, estructurada por las mismas unidades
de trabajo que los utilizan o los producen.
Inicialmente nos interesa acceder al espectro BP y RP para cada uno de
los tres oversamples y a los atributos astrometricos, paralaje, ascension recta,
declinacion y movimiento propio, descritos anteriormente.
Tambien debemos calcular el valor de la magnitud a partir del flujo de
energıa como explicamos en la seccion anterior.
3.5.2 Normalizacion
Es necesaria la normalizacion de las instancias de los datos para expresar los
atributos de diferentes instancias en la misma magnitud.
La normalizacion sobre area unidad es una de las normalizaciones mas
utilizadas por aportar mayor inmunidad al ruido frente otros tipos de nor-
malizaciones; es mas robusta que la realizada entre 0 y 1 por ejemplo, o que
la estandarizacion.
La normalizacion aplicada consiste en dividir cada valor del espectro por
el area del propio espectro, de esta forma, los espectros de un mismo objeto
visto a diferentes distancias serıan identicos, que es lo que nos interesa.
El area del espectro se obtiene mediante una integral, por ejemplo, uti-
lizando el metodo de Simpson, o del Trapezoide y posteriormente se divide
cada punto del espectro por el valor de dicha integral.
Como aproximacion al calculo integral y pensando en la velocidad de pre-
procesamiento de los datos obtenidos por GAIA, aproximaremos la funcion
suponiendo que todas las columnas expresadas por los 60 datos que forman
seccion 3.5. Preparacion para la experimentacion 31
cada uno de los espectros, tienen la misma anchura y normalizaremos cada
componente del espectro por su valor dividido por la suma de los valores del
espectro, es decir,
xi =xi∑j=nj=0 xj
Cuando existan mas datos sobre la calibracion de Gaia, quiza sea necesa-
ria alguna modificacion en esta etapa de preprocesamiento pero con los datos
que tenemos, es una buena eleccion.
Durante le proceso de normalizacion encontramos los siguientes proble-
mas:
• Presencia de valores negativos en los componentes normalizados.
• Problema de escala en los datos.
El primer problema se debe a la existencia de valores negativos en los com-
ponentes antes de normalizar, por la presencia de ruido.
Experimentaremos con otras dos formas de normalizar los datos. En pri-
mer lugar dividiendo cada componente por la suma del modulo de los valores
y en segundo lugar convertiremos los valores negativos en cero. Comproba-
mos que realizando esto, estamos distorsionando los valores del espectro, por
lo que mantendremos la normalizacion por area unidad del espectro como
nuestra eleccion.
Observamos a continuacion el espectro BP de una instancia de estrella
perteneciente al corpus de Phoenix, como ejemplo, sin normalizar y normali-
zando por la suma del modulo de valores y por la suma del area unidad, para
observar el efecto comentado de distorsion que produce una normalizacion
que trate de evitar los valores negativos con un mal criterio.
32 capıtulo 3. Estudio de los datos
Figura 3.3: Datos sin normalizar, observamos que por la presencia de pe-
quenos valores negativos no empieza en el valor 0 la grafica y el valor maximo
se encuentra cerca de 8× 104 unidades.
Figura 3.4: Normalizacion por la suma del modulo, desaparecen los valores
negativos pero amplificamos el ruıdo en la senal, al no contabilizar los valores
negativos, por ejemplo en el primer tercio de la senal, estamos incrementando
artificialmente el valor del area en esa parte de la funcion por lo que el
resultado en los puntos con mayor flujo es menor, distorsionamos la grafica
e incrementamos el efecto del ruido.
seccion 3.5. Preparacion para la experimentacion 33
Figura 3.5: La normalizacion sobre area unidad no distorsiona el espectro.
Es mas robusta frente a la introduccion de ruido, algo necesario para el
funcionamiento de los experimentos conforme aumentemos el nivel de ruido. 8
Respecto al segundo problema, observamos que al calcular los componen-
tes principales, las estrellas de tipo Ultra Frıas y las estrellas pertenecientes a
las simulaciones de Phoenix, se encuentran en una escala totalmente distinta
al resto, el problema se debe a la naturaleza de los objetos simulados para los
espectros BP y RP por separado. Las simulaciones de estrellas Phoenix, son
estrellas relativamente frıas y si observamos el flujo que tienen, sus valores en
el espectro BP son pequenos y tienen poco flujo y el caso es aun mas grave
para las estrellas Ultra Frıas, con valores extremadamente pequenos en BP.
Las componentes principales de estas clases no tienen casi flujo en el azul
(BP), los objetos frıos no emiten o emiten muy poco, por lo que ademas estan
especialmente influenciados por el ruido. Si normalizamos los espectros por
separado, esta diferencia entre los flujos de un mismo objeto se perderıa. Por
este motivo se hace necesario normalizar los atributos teniendo en cuenta el
espectro BP y RP en su conjunto y no por separado.
Podemos comparar las imagenes y valores de dos espectros en BP norma-
lizados, de una estrella proveniente de Sloan, con un valor maximo cercano
a 0,08 y de una estrella del conjunto de ultras frıas, con un valor maximo
cercano a 0,004, observando tambien el total de flujo en el espectro, es decir
el area total de la imagen, que es mucho menor.
34 capıtulo 3. Estudio de los datos
(a) Estrella SDSS. (b) Estrella ultrafrıa.
Figura 3.6: Comparacion de espectros BP normalizados de estrellas SDSS y
Ultrafrıas.
Concluimos por lo tanto, que el procedimiento originalmente planteado
de normalizar por separado BP y RP para posteriormente calcular las com-
ponentes principales por separado debe cambiar, normalizando ambos, BP
junto a RP para cada objeto.
Posteriormente, el analisis de componentes principales lo haremos, por lo
tanto, con los datos de ambos espectros unidos, no por separado.
Aunque durante la experimentacion con el algoritmo de agrupacion no
trabajemos con datos provenientes de los corpus de Phoenix ni Ultra Frıas,
mantendremos esta decision, pues en los datos provenientes de Gaia obten-
dremos mediciones de objetos de todo tipo.
3.5.3 Disminucion de la dimensionalidad
El problema fundamental al que se enfrentaran los algoritmos de agrupamien-
to en nuestro trabajo, es la ingente cantidad de datos tomados por Gaia.
La reduccion de dimensionalidad, especialmente con los datos de espec-
trometrıa, que son 120 atributos (60 del espectro BP y 60 de RP), a un
numero mucho menor, hara mas manejable el problema, mientras perdemos
un mınimo de la cantidad de informacion disponible.
Una tecnica ampliamente utilizada es el analisis de componentes princi-
seccion 3.5. Preparacion para la experimentacion 35
pales, siendo PCA sus siglas en ingles.
El analisis de componentes principales es una tecnica estadıstica de sınte-
sis de la informacion que tiene sentido si existen altas correlaciones entre las
variables, ya que esto es indicativo de que existe informacion redundante y,
por tanto, pocos factores explicaran gran parte de la variabilidad total.
PCA construye por lo tanto, una transformacion lineal, donde la eleccion
de los factores, que denominaremos Componentes Principales o CP, se realiza
de tal forma que el primero recoja la mayor proporcion posible de la varia-
bilidad original, el segundo CP debe recoger la maxima variabilidad posible
no recogida por el primero, y ası sucesivamente, hasta llegar al porcentaje de
variabilidad deseado.
Para construir esta transformacion lineal debe construirse primero la ma-
triz de covarianza o matriz de coeficientes de correlacion. Debido a la simetrıa
de esta matriz existe una base completa de vectores propios de la misma. La
transformacion que lleva de las antiguas coordenadas a las coordenadas de
la nueva base es precisamente la transformacion lineal necesaria para reducir
la dimensionalidad de datos.
Una ventaja adicional de la tecnica PCA es que permite transformar las
variables originales, en general correladas, en nuevas variables no correladas,
facilitando la interpretacion de los datos.
Ademas, en el presente trabajo, utilizamos la proyeccion de las primeras
dos y tres CP de los datos, es decir, las que mayor informacion retienen, para
representar graficamente los datos en dos y tres dimensiones, cuando creamos
necesario representar los datos y agrupaciones obtenidas.
No es objetivo del presente trabajo profundizar en las bases matematicas
de la tecnica del analisis de componentes principales, podemos encontrar
mucho material al respecto, como por ejemplo en [35, 45].
Dada la cantidad de datos para calcular PCA, se utilizo una implementa-
cion de PCA en version stream o incremental, es decir, a la que podemos in-
corporar posteriormente nuevos datos, con unos resultados lo suficientemente
buenos como para poder utilizar esta tecnica en vez de PCA con todos los
datos para construir el modelo, algo que simplemente no sera posible con los
datos reales de Gaia.
36 capıtulo 3. Estudio de los datos
PCA se puede realizar de diferentes formas. Las principales tecnicas uti-
lizadas son:
• Descomposicion EVD. Obteniendo sobre la matriz de covarianza, los
autovalores y autovectores a partir de la llamada descomposicion EVD:
Sea C la matriz de covarianza, entonces se busca la descomposicion
C = EDET donde E es la matriz de autovectores y D la matriz diagonal
con los autovalores.
• Mediante la descomposicion SVD. En este caso se busca la descompo-
sicion de la covarianza a partir de la matriz de datos X directamente
X = UDV T . Donde D es la matriz diagonal con lo autovalores, y U o V
sera la matriz de autovectores dependiendo de si el numero de objetos
es mayor que el numero de variables o no.
En el punto 5.4 podemos encontrar pruebas de rendimiento del algoritmo
PCA incremental, version con descomposicion EVD.
Debemos encontrar el numero adecuado de componentes principales a
utilizar en nuestra experimentacion.
Pruebas realizadas con PCA version SVD y EVD, con la version no in-
cremental del algoritmo implementada y comprobando los resultados con la
implementacion de Weka, nos indican la siguiente cantidad de varianza sobre
la informacion, retenida segun el numero de componentes principales.
Pct de inf. retenida ( %) #CPs (SVD) #CPs (EVD)
95 14 2
98 21 3
99 25 4
Llama inmediatamente la atencion el pequenısimo numero de compo-
nentes principales utilizando la version con descomposicion EVD frente la
descomposicion SVD para obtener el mismo resultado, las diferencias, espe-
cialmente entre el primer y segundo autovalor son mucho mayores en el caso
seccion 3.5. Preparacion para la experimentacion 37
EVD que en SVD, estos resultados nos expresarıan que dado que la ma-
yor parte de la informacion esta contenida en las dos primeras componentes
principales, los datos al proyectarse estarıan dispuestos en el plano formado
por ambas componentes principales, sin embargo la diferencia entre ambos
metodos no puede ser tan acusada.
La explicacion, es que la varianza no es una buena medida para decidir el
numero de componentes principales a utilizar, salvo que los datos sigan una
distribucion gaussiana multivariante.
Por lo tanto se realiza el siguiente experimento, se calculan las diferen-
cias entre el espectro original y el reconstruido como combinacion lineal del
diferente numero de componentes principales.
La Figura 3.7 muestra para el numero de componentes utilizado (eje X)
el error cuadratico total (SSE) de la diferencia entre el espectro original y el
calculado a traves de ese numero de componentes.
Figura 3.7: SSE de la diferencia entre el espectro original y el calculado por
las componentes principales.
A partir de cierto numero de componentes se aprecia que el error es muy
38 capıtulo 3. Estudio de los datos
pequeno, ademas cuando los espectros contengan errores habra que tener cui-
dado con utilizar mas componentes principales de los necesarios, porque los
errores de la medida seran mayores que el efecto de despreciar componentes
principales.
Esto tambien significa que en los experimentos, cuanto mayor sea la mag-
nitud y por lo tanto, menos brillante sea un objeto y mayor peso tengan los
errores en los datos, necesitaremos, quiza, adaptarnos y utilizar un menor
numero de componentes principales.
A raız de estos resultados, parece indicado que utilizar un numero entre
14 y 16 componentes principales es adecuado, sin embargo durante los pri-
meros experimentos de agrupamiento, encontramos que utilizando tan solo
8 componentes principales con la descomposicion EVD, obtenıamos unos re-
sultados muy similares a la utilizacion de 15 CPs, con cualquiera de las dos
descomposiciones.
Las diferencias, practicamente no eran perceptibles y dado que los experi-
mentos sufren una gran penalizacion por la cantidad de datos y su dimension,
nos parecio una buena metodologıa trabajar en general con 8 componentes
principales y en aquellos experimentos que considerasemos importante re-
petir, utilizar 15 componentes para mejorar los resultados, aunque siempre
mejoran de una forma mınima.
Durante los experimentos, se utilizo el algoritmo de PCA en version incre-
mental o stream, con descomposicion EVD, dado que fue el primero en encon-
trarse implementado y comprobado su correcto funcionamiento con pruebas
unitarias.
Capıtulo 4
Tecnicas empleadas en la
experimentacion
La estructura que engloba el conjunto de tecnologıas y metodologıas usadas
para agrupar los datos se denomina pipeline. Dicho pipeline hace uso del
paradigma divide y venceras y de tecnicas de muestreo como el K-means++
y K-means# para poder agrupar con el algoritmo HMAC.
A lo largo de este capıtulo describiremos las diferentes tecnicas y algo-
ritmos utilizados en este trabajo y que se integraran en el pipeline. Con el
objetivo de mejorar el rendimiento del agrupamiento, se ha propuesto incor-
porar el uso de una estructura de vecinos. Aunque dicha estructura aun solo
esta propuesta de forma teorica, procederemos a explicar el arbol KD por
haber realizado pruebas preliminares para analizar su impacto en el agrupa-
miento, tanto en la eficiencia como en los grupos resultantes.
4.1 K-medias
K-medias [31] es seguramente el algoritmo de agrupamiento mas conocido y
utilizado, por lo que no es necesario una descripcion en profundidad. Lo pre-
sentamos brevemente pues en este trabajo se usan dos tecnicas de muestreo
(K-means++ y K-means#) relacionadas con el algoritmo.
Dado un numero K de grupos, el algoritmo agrupa los datos. Para ello
39
40 capıtulo 4. Tecnicas empleadas en la experimentacion
selecciona, inicialmente, K ejemplos aleatoriamente como centroides iniciales.
A partir de aquı el procedimiento sigue iterativamente los siguientes pasos
hasta que se alcanza un criterio de parada como la convergencia o un numero
maximo de iteraciones:
• Calculo de la distancia de los diferentes objetos o datos a cada uno de
los centroides, asignando cada objeto al grupo cuya distancia es mınima
respecto a los centroides.
• Actualizacion de las posiciones de los centros de los grupos basandose
en los valores medios de los objetos que pertenecen al conglomerado.
Figura 4.1: Ejemplo de ejecucion del K-medias. En (a) se realiza la seleccion
aleatoria de k=3 centroides iniciales (colores rojo, verde y azul) los objetos a
agrupar aparecen en color gris. En (b) se generan k clusters asociando cada
observacion al vecino mas cercano, en (c) se calcula el nuevo centroide de cada
cluster y se repiten los pasos (b) y (c) hasta que se alcanza la convergencia
en (d).
La Figura 4.1 muestra un ejemplo de ejecucion del K-medias. Los prin-
cipales inconvenientes de este algoritmo son:
• Eleccion de los K grupos iniciales. El numero de grupos naturales pre-
sente en el problema no es un dato que siempre se conozca a priori.
• La eleccion de los centroides iniciales. Los resultados del algoritmo y
el numero de iteraciones hasta la convergencia estan influidos por su
eleccion.
seccion 4.1. K-medias 41
• Los grupos encontrados son de forma aproximadamente esferica, no
puede manejar datos que formen agrupaciones de formas complejas,
tampoco funciona bien con grupos de diferentes tamanos y densidades.
Existen numerosas variaciones del algoritmo, que buscando su mejora en
cuanto a eficiencia, rendimiento o ambos aspectos modifican uno o varios de
los siguientes puntos del algoritmo:
• Mejorar las condiciones iniciales, la eleccion de los centroides.
• Metodo para determinar la distancia de los objetos al centroide, dis-
tinto al calculo de la distancia euclıdea o la distancia de Manhattan,
utilizadas mas habitualmente.
• Calculo de la pertenencia de variables a un grupo.
• Criterio de parada del algoritmo.
Respecto a la complejidad temporal de K-Medias, vemos en [33] que la
mayorıa del tiempo se gasta calculando las distancias y existen algoritmos
que pueden responder en tiempo lineal O(M), con un paso de asignacion a
grupos que calcula K × N distancias durante I iteraciones, con lo cual el
coste asintotico es de O(IKNM), donde I son las iteraciones, K el numero
de conglomerados, N el numero de datos y M la dimensionalidad del espacio.
4.1.1 K-means++
El K-means++ [3] es una variante del K-medias que busca mejorar su preci-
sion y eficiencia mediante una seleccion probabilıstica de los centroides inica-
les. Por ello a lo largo de este trabajo hacemos referencia al K-means++
como tecnica de muestreo mas que como variante del K-medias.
Comienza seleccionando aleatoriamente el primer centroide y escoge los
siguientes entre los puntos restantes con una probabilidad proporcional a la
distancia al cuadrado al centroide mas cercano al punto. El pseudocodigo del
algoritmo puede verse en la Figura 4.2. El unico parametro de entrada es el
numero de grupos que buscamos.
42 capıtulo 4. Tecnicas empleadas en la experimentacion
Algoritmo K-means++(k:entero)
begin
1: C ← ∅;2: C ← Escogeraleatoriamenteuncentroide;
3: seleccionados← 1;
4: repetir;
5: Seleccionar un nuevo centroide ci = x′ ∈ X, con una probabilidad D(x′,C)2∑x∈X D(x,C)2
;
6: seleccionados← seleccionados+ 1;
7: hasta (k = seleccionados);
end
Figura 4.2: Pseudocodigo del K-means++.
D(x,C) Denota la distancia mas corta desde un dato x al centroide mas
cercano que hemos escogido.
Es interesante conocer que K-means++ proporciona una solucion compe-
titiva respecto a K-medias, con un coste de tan solo O(log(k))− competitivocon respecto al agrupamiento optimo del K-medias como podemos ver demos-
trado en [3]. La definicion de competitivo se utiliza para algoritmos dinamicos
u online (se trabaja con datos masivos o en streaming) y la idea es comparar
los resultados que el algoritmo online tiene con respecto a la version offline de
modo que tengamos una nocion de cuanto se distancia la version online de la
offline. En [3] se muestra la medida de competitividad del agrupamiento de
los datos de K-medias con K-means++ como inicializacion y compara dicho
resultado con la del agrupamiento optimo del algoritmo K-medias.
Definicion. Competitividad : Considerando que K-medias busca opti-
mizar el error cuadratico medio (f ), definimos la relacion de competitividad
(RA) como la fraccion maxima entre el valor f obtenido con el algoritmo
dinamico A y el valor optimo de la version offline; RA = max fAfOPT
donde
fOPT es el optimo de la version offline. Un algoritmo se dice que es competi-
tivo si dicha fraccion esta acotada. Por ejemplo, si un algoritmo dinamico A
es C-competitivo, entonces estamos diciendo que RA ≤ C.
seccion 4.2. Algoritmo HMAC/MAC 43
4.1.2 K-means#
Este algoritmo, como podemos ver en [2], se trata de una mejora basada
en la anterior tecnica y por lo tanto se centra de nuevo en la mejora de la
inicializacion de K-medias.
Es similar a K-means++ excepto que en cada ronda para escoger los
centroides, escogemos k × log(k) centroides en vez de un unico centroide. El
pseudocodigo del algoritmo se muestra en la Figura 4.3.
Algoritmo K-means#(k:entero)
begin
1: C ← ∅;2: C ← Escoger aleatoriamente k × log(k) centroides;
3: i← 1;
4: repetir;
5: Seleccionar k × log(k) centroides, independientemente, con una probabilidad D(x′,C)2∑x∈X D(x,C)2
;
6: i← i+ 1;
7: hasta (i = k);
end
Figura 4.3: Pseudocodigo del K-means#.
D(x,C) Denota las distancias mas cortas al subconjunto de puntos esco-
gidos en rondas previas.
En [2] muestran que es un algoritmo O(1)-competitivo; de modo que
mejora la anterior cota de K-means++ a un valor constante, seleccionando
un mayor numero de instancias que el numero de centroides K que queremos.
4.2 Algoritmo HMAC/MAC
4.2.1 Algoritmo de tipo EM
EM (Expectation-Maximization) pertenece a una familia de modelos cono-
cidos como finite mixtures o mezcla de distribuciones, dentro del llamado
44 capıtulo 4. Tecnicas empleadas en la experimentacion
clustering de tipo probabilıstico, donde en vez de utilizar conceptos como la
distancia a centroides o puntos representativos, densidades de datos, etc, los
objetos tienen una cierta probabilidad de pertenecer a un grupo o cluster y
donde buscamos, para un conjunto de datos, el grupo de conglomerados mas
probable.
La mezcla de distribuciones, es un conjunto de K distribuciones que re-
presentarıan los K clusters, estas distribuciones pueden ser de cualquier tipo,
aunque para datos continuos se utiliza de forma comun la distribucion nor-
mal, en este caso dado un conjunto de datos, debemos determinar las K
distribuciones normales (medias y varianzas) y las probabilidades particula-
res de cada distribucion
Dadas dos distribuciones A y B por ejemplo, con sus medias y varianzas,
la probabilidad de que un objeto x pertenezca a un cluster, por ejemplo A
es:
P (A|x) =P (x|A)P (A)
P (x)=f(x;µA, σA)P (A)
P (x)
donde f(x;µA, σA) = 1√(2πσ2)
e−(x−µ)2
3σ2 es la distribucion normal
El problema es que no sabemos de que distribucion viene cada dato y no
conocemos los parametros de las distribuciones. Para obtener la funcion de
densidad de probabilidad o fdp desconocida a la que pertenecen los datos
utilizaremos un algoritmo de tipo EM.
Este comienza adivinando los parametros de las distribuciones y los uti-
liza para calcular las probabilidades de que cada objeto pertenezca a un
cluster y usa estas probabilidades para volver a estimar los parametros de
las probabilidades, de forma iterativa. El calculo de las probabilidades de las
clases o los valores esperados de las clases es la parte llamada Expectation,
mientras que el paso de calcular los valores de los parametros de las distri-
buciones es llamado Maximization, pues se maximiza la verosimilitud de las
distribuciones dados los datos.
El algoritmo tiende a converger, sin llegar a un punto fijo, por lo que
debemos fijar un umbral como condicion de parada y aunque la convergencia
del algoritmo esta garantizada de forma teorica, esta convergencia puede ser
seccion 4.2. Algoritmo HMAC/MAC 45
hacia un maximo local.
Con una explicacion un poco mas formal, podemos decir que la funcion
de densidad de probabilidad se puede aproximar mediante una combina-
cion lineal de NC componentes definidas a falta de una serie de parame-
tros {Θ} = ∪{Θj, ∀ j = 1, · · · , NC} que son los que hay que averiguar,
P (x) =∑NC
j=1 πjp(x; Θj) con∑NC
j=1 πj = 1, donde πj son las probabilidades
a priori de cada cluster cuya suma debe ser 1, que tambien forman parte de
la solucion buscada, P (x) denota la funcion de densidad de probabilidad y
p(x; Θj) la funcion de densidad del componente j.
La fdp estimada usualmente, corresponde con una forma de distribucion
normal y utilizando combinaciones lineales de estas distribuciones y con un
numero suficiente de estas, ajustando sus medias, covarianzas y los coeficien-
tes de la combinacion lineal, se puede aproximar cualquier fdp hasta una
precision arbitraria.
El ajuste de los parametros del modelo requiere de una medida de bondad,
para conocer como encajan los datos sobre la distribucion que los representa,
este valor de bondad se conoce como likelihood o verosimilitud, de los datos,
por lo tanto se tratarıa de estimar los parametros buscados Θ maximizando
la verosimilitud, calculandose normalmente su logaritmo, conocido como log-
likelihood, debido a que es mas sencillo su calculo de forma analıtica, siendo
la solucion obtenida la misma debido a la propiedad de monotonicidad del
logaritmo.
La forma de esta funcion log-likelihood es
L(Θ, π) = log ΠNIn=1P (xn)
donde NI es el numero de instancias que suponemos independientes entre si.
El algoritmo EM, procede en dos pasos que se repetiran de forma iterativa,
dando nombre al proceso:
• Expectation: Se calculan las probabilidades a posteriori para cada punto
de haber sido generado por cada una de las distribuciones existentes,
usando la estimacion actual de los parametros, que es proporcionada
46 capıtulo 4. Tecnicas empleadas en la experimentacion
por el paso Maximization de la iteracion anterior o los valores iniciales
de los parametros la primera vez.
• Maximization: Proporcionalmente al peso de cada dato perteneciente a
una distribucion se modifican los parametros del paso anterior, maxi-
mizando la verosimilitud.
Despues de una serie de iteraciones el algoritmo tiende a converger a un
maximo local de la funcion L, esta convergencia sera rapida en las iteraciones
iniciales y cada vez mas lenta y utilizaremos un valor umbral de mejora
o cambio de las soluciones entre iteraciones, como criterio de parada del
algoritmo. El algoritmo EM requiere muchas mas iteraciones para alcanzar
una convergencia aproximada que otros algoritmos como K-Medias y los
calculos de cada iteracion son significativamente mas costosos en tiempo de
calculo.
Finalmente, obtendremos un conjunto de clusters cada no de ellos definido
por los parametros de una distribucion de la forma de la fdp utilizada, por
ejemplo una gaussiana o normal.
Figura 4.4: Modelo de distribuciones para 6 grupos.
Vemos en 4.5 un ejemplo para ilustrar el comportamiento del algoritmo
EM, extraıdo del libro de Bishop [4].
• a) Los datos iniciales en verde y la configuracion inicial del modelo de
mezclas, en dos puntos aleatorios.
seccion 4.2. Algoritmo HMAC/MAC 47
Figura 4.5: Ejemplo de una mezcla de dos distribuciones normales.
• (b) Resultado del paso E inicial. Se calculan las probabilidades a pos-
teriori para cada punto de haber sido generado por cada una de las
dos distribuciones azul o roja, el color de cada punto representa la pro-
porcion de pertenecer a para cada distribucion. Los puntos morados
por ejemplo indican similar probabilidad de haber sido generados por
cualquiera de los dos clusters.
• (c) Resultado del primer paso M, la media de cada distribucion se ha
movido al punto central proporcionalmente al peso de cada uno de los
datos que pertenecen a su distribucion y de forma similar la covarianza.
• (d), (e) y (f) muestran los resultados tras 2, 5 u 20 ciclos completos
respectivamente de EM.
• En (f) el algoritmo esta proximo a converger.
48 capıtulo 4. Tecnicas empleadas en la experimentacion
4.2.2 Mode Association Clustering MAC
Como comentamos en el punto anterior, MAC [29] pertenece al clustering
probabilıstico, en concreto cada cluster estara caracterizado por una distri-
bucion multivariada Gaussiana, por tratarse de datos continuos (con datos
discretos se utilizan distribuciones de Poisson), y la funcion de densidad de
probabilidad esta formada por una mezcla de distribuciones parametricas.
El procedimiento del algoritmo sigue los pasos de un algoritmo EM, ex-
plicado anteriormente, para obtener las diferentes distribuciones y se asigna
cada punto a un cluster o componente en base al calculo de las probabilidades
a posteriori. El razonamiento detras del metodo EM parece indicar que cada
componente posee una colina, la moda de esa distribucion, separada de las
demas colinas de otras componentes pero esto no se cumple para Gaussianas
lo suficientemente cercanas, que resultan en una unica componente.
En este caso igualar una componente con un solo cluster es incorrecto,
MAC sigue una aproximacion no parametrica que trata de evitar estos pro-
blemas.
Para evitar estas restricciones, se modelan los datos utilizando un ker-
nel, usando un nuevo algoritmo llamado Modal EM (MEM) que permite
encontrar un camino creciente desde cualquier punto a un maximo local de
la densidad, es decir, a una colina. El nuevo algoritmo agrupara los pun-
tos en un cluster si estan asociados con la misma colina, llamando a esta
aproximacion agrupamiento modal.
Profundizamos a continuacion en estas dos partes del algoritmo, Modal
EM y la propia agrupacion.
Modal EM
El algoritmo Modal EM (MEM), resuelve un maximo local de una mezcla de
densidades a traves de iteraciones ascendentes empezando desde cualquier
punto inicial, lo cual supone frente algunos metodos una ventaja, pues se
vuelve irrelevante la inicializacion de los datos.
Este algoritmo se compone de los conocidos pasos EM pero su objetivo es
diferente, ya que EM trata de estimar los parametros maximizando la medida
seccion 4.2. Algoritmo HMAC/MAC 49
de bondad, likelihood, o verosimilitud, mientras que el objetivo de MEM es
encontrar los maximos locales, las modas de una distribucion dada.
Por lo tanto dada la anterior formula, vista con los algoritmos de tipo EM,
sea una mezcla de densidades f(x) =∑J
j=1 πjfj(x) donde πj son las proba-
bilidades a priori del componente j y fj(x) es la densidad del componente
j.
Dado un valor inicial x0 MEM encuentra un maximo local de la mezcla
alternando los siguientes pasos hasta que se cumple un criterio de parada del
algoritmo.
1. Paso 1. Expectation, donde la probabilidad a posteriori de cada com-
ponente de la mezcla en el punto actual xr es calculada.
2. Paso 2. Maximization, asumiendo que∑J
j=1 pj log(fj(x)) tiene un unico
maximo que es cierto cuando las densidades de fj(x) siguen una distri-
bucion normal, como en los algoritmos EM, se cumple que la resolucion
analıtica de∑J
j=1 pj log(fj(x)) es mas sencilla que∑J
j=1 πjfj(x) por eso
la utilizamos en su lugar.
Agrupacion por identificacion de modas
Si las funciones de densidades condicionales de una clase son desconocidas,
pueden ser estimadas usando la muestra tomada y aplicando metodos no
parametricos de estimacion, como vemos en el texto de Edgar Acuna [1], uno
de ellos es el metodo de kernels que es el utilizado por MAC.
El kernel o nucleo es una funcion simetrica que hace una representacion
real de los datos para luego hacer una ponderacion, de esta manera, se tiene
un estimador para f(x).
Existen diferentes disenos de nucleo, que caracterizan la forma que to-
marıa, sobre un determinado punto x, MAC utiliza un kernel de tipo Gaus-
siano 1√2πe−
12u2
donde u = (x−xi)h
siendo x el punto donde se trata de estimar
la densidad, xi el valor de la variable en el caso i = 1, · · · , n y h la anchura
de la ventana, parametro de suavizado o bandwidth.
50 capıtulo 4. Tecnicas empleadas en la experimentacion
El objetivo de MAC, es estimar, dado un conjunto de datos, las funciones
de densidad de probabilidad de los diferentes conglomerados, de forma no
parametrica utilizando nucleos Gaussianos.
La aproximacion no parametrica se origina para evitar la asunciones res-
trictivas impuestas por la aproximacion parametrica sobre la forma de la
funcion de densidad de probabilidad, estimandola en nuestro caso, directa-
mente a traves de los datos, utilizando los kernels como estimadores.
Dado que le estimacion de densidad por nucleo esta en la forma de una
mezcla de distribuciones, se aplica MEM para encontrar una moda usando
cada punto como el valor inicial para la iteracion.
Formalmente, dado un conjunto de datos S = {x1, x2, . . . , xn}, xj ∈ Rd
la estimacion de densidad por kernel Gaussiano es {(x) =∑n
i=11nΦ(x|xi,Σ),
donde la funcion de densidad Gaussiana es Φ(x|xi,Σ).
Un aspecto clave en el algoritmo de agrupacion es la identificacion de una
moda empezando desde cualquier punto xi ya que MEM se mueve desde xi a
traves de un camino ascendente a una moda. Los puntos que ascienden a la
misma moda, se localizan en la misma cuesta y por lo tanto se agrupan en un
conglomerado. Este proceso es llamado MAC (Mode Association Clustering),
obteniendose una funcion de densidad de probabilidad para cada conglome-
rado, de forma que los puntos quedan agrupados en las diferentes modas y
nuevos puntos no pertenecientes a las muestras pueden ser asignados a un
cluster.
La eleccion del ancho de banda o bandwidth, es de crucial importancia en
la estimacion de densidad. Este indica el grado de suavizamiento precisando
a que distancia se le permite a las observaciones estar del punto donde se
estima la densidad y contribuir a la estimacion de la funcion de densidad.
En este sentido determina el grado de dependencia del estimador sobre la
informacion cercana al punto de estimacion. Cuando se tienen anchos de
banda grandes se obtienen mayores sesgos pero menor varianza. Ocurre lo
contrario cuando se tienen anchos de banda pequenos [11].
La eleccion apropiada del parametro de suavizamiento estara siempre in-
fluenciada por el uso que se hara del estimador de densidad como afirma
Silverman en [47]. De esta manera, si se desea realizar una exploracion de
seccion 4.2. Algoritmo HMAC/MAC 51
datos para sugerir posibles modelos e hipotesis, el parametro se elige subjeti-
vamente. El problema de la eleccion objetiva del parametro de suavizamiento
es un asunto de interes en diferentes investigaciones y no existe un metodo
universalmente aceptado [46].
De esta forma, en MAC, cuando el ancho de banda se incrementa la esti-
macion de densidad por el kernel se suaviza y mas puntos tienden a ascender
a la misma moda mientras que al disminuir el bandwidth, puntos que antes
convergıan a la misma moda ahora lo hacen a modas distintas, obteniendo
un mayor numero de conglomerados.
Pseudocodigo
Algoritmo MAC
begin
1: probabilidad a priori← 1#datos
2: modas iniciales← datos
3: lista modas← ObtenerListaModas(datos, probabilidad a priori, bandwidth,modas iniciales)
4: resultados← AgruparModas(lista modas)
end
Figura 4.6: Pseudocodigo de MAC.
En 4.6 vemos el pseudocodigo de MAC, la funcion ObtenerListaModas calcula
las modas del conglomerado a partir del algoritmo EM, es decir realiza el paso
MEM explicado anteriormente 4.2.2, mientras que AgruparModas realiza el
paso de la agrupacion por la identificacion de las modas visto en 4.2.2.
Podemos observar el pseudocodigo de todos los metodos principales en el
anexo B.
HMAC
HMAC (Hierarchical MAC) surge de forma natural por el efecto del ancho
de banda del kernel explicado anteriormente y no es mas que una repeticion
52 capıtulo 4. Tecnicas empleadas en la experimentacion
de la ejecucion de MAC con diferentes valores ordenados de bandwidth, de
forma que obtendremos de forma natural una agrupacion jerarquica, dado
que con valores pequenos del ancho de banda obtendremos un mayor numero
de conglomerados y al repetir la ejecucion de MAC con mayores valores de
bandwidth, puntos que convergıan a diferentes modas convergeran a la misma
moda.
HMAC se diferencia de la estrategia utilizada por los algoritmos jerarqui-
cos que agrupan los grupos cercanos al ascender en la jerarquıa, dado que
en HMAC el efecto sobre los grupos de cada punto de los datos es tenido
en cuenta en cualquier nivel de la jerarquıa. A cambio de la mayor precision
que presenta esta aproximacion, el rendimiento de ejecutar sucesivamente
MAC para los diferentes anchos de banda se ve perjudicado frente a la sim-
ple union de grupos basandose en distancias entre sus centroides o entre sus
componentes aplicado por otros algoritmos de agrupacion de tipo jerarquico.
En el anexo D, podemos observar de forma grafica los resultados de
HMAC ejecutado sobre un conjunto de datos sinteticos con 3 distribucio-
nes normales parcialmente solapadas y como varıan los resultados segun el
valor de bandwidth.
4.3 Arbol KD
Introducimos brevemente esta estructura de datos, tambien conocida como
arbol k-dimensional, o KD-Tree puesto que una posible mejora teorica pro-
puesta sobre el algoritmo MAC, que estudiaremos de forma experimental,
se basa en la utilizacion de esta estructura para acelerar el calculo de las
probabilidades a posteriori calculadas por MAC.
Se trata de una estructura de datos de particionado del espacio que orga-
niza los puntos en un espacio euclıdeo de k dimensiones, empleando planos
perpendiculares a uno de los ejes del sistema de coordenadas y en donde
todos los nodos almacenan un punto, no solo las hojas. Es un arbol binario
en el que cada nodo es un punto k-dimensional, donde cada nodo en el arbol
esta asociado a una de las k dimensiones con el hiperplano perpendicular
seccion 4.3. Arbol KD 53
a los ejes de esa dimension y el punto seleccionado para crear el plano de
corte sera la mediana de los puntos en esa dimension, de forma que todos
los puntos situados en el subarbol izquierdo tendran un valor menor en la
dimension de ese nivel del arbol y los puntos del subarbol derecho, mayor.
Algoritmo KDtree(puntos:lista,profundida:entero)
begin
1: eje ← profundidad mod k;
2: selecciona mediana del eje de lista de puntos;
3: nodo.localizacion ← mediana;
4: nodo.hijoIzquierdo ← kdtree(puntos anteriores a mediana, profundidad + 1);
5: nodo.hijoDerecho ← kdtree(puntos posteriores a mediana, profundidad + 1);
6: devuelve nodo;
end
Figura 4.7: Pseudocodigo del arbol KD.
La Figura 4.8 muestra un ejemplo de arbol KD Aplicado sobre una pe-
quena lista de puntos.
Figura 4.8: Ejemplo de arbol KD.
Nos interesan conocer los costes de diferentes operaciones sobre los datos
del arbol:
• Construccion del arbol tiene un coste de O(n log2(n)) si se utiliza para
el calculo de la mediana en cada nivel un algoritmo de ordenacion con
coste O(n log(n)) como heapsort.
54 capıtulo 4. Tecnicas empleadas en la experimentacion
• Insercion de un nuevo punto: O(log(n)).
• Borrado de un punto: O(log(n)).
• Peticion de un rango de datos en el mismo nivel del arbol O(n1−1/k+m)
donde m es el numero de puntos afectados, y k la dimension del arbol
kd.
La busqueda de los vecinos mas cercanos en el arbol, proximos a un punto
dado se puede realizar de forma muy eficiente dada la forma de organizar la
informacion que tiene esta estructura de datos, debido a que se eliminan
rapidamente grandes porciones del espacio de busqueda, propiedad que nos
interesa para nuestro proposito.
El objetivo del uso del arbol kd, es que el algoritmo MAC no tenga que
calcular la contribucion de todos los puntos para el calculo de la probabilidad
a posteriori, sino que unicamente accedera a los puntos distribuidos sobre los
nodos cercanos en el arbol kd, ya que contendran los puntos proximos que
contribuyen al computo de la probabilidad.
Capıtulo 5
Escalando el algoritmo
Una de los principales problemas de las tecnicas de agrupamiento es la
escalabilidad del algoritmo para poder manejar una gran cantidad de datos.
Para que un algoritmo sea escalable, dados unos recursos limitados de me-
moria y espacio en disco, su tiempo de ejecucion deberıa crecer linealmente
respecto al tamano de los datos [16, 5]. De forma menos formal Provost [39]
entiende la escalabilidad como la capacidad de procesar grandes volumenes
de datos de forma eficiente encontrando los mejores modelos posibles.
Gaia proporcionara del orden de 109 datos; de modo que es necesario
desarrollar una estrategia para escalar HMAC tanto espacial como tempo-
ralmente.
La escalabilidad espacial hace referencia a que los datos deben de po-
der estar accesibles en memoria para el algoritmo independientemente de su
coste temporal. Si los datos no estan disponibles en memoria el problema
no escalara. Para lograrlo, la estructura propuesta usa el paradigma divide y
venceras en combinacion con procesar solo un subconjunto de puntos denomi-
nados centroides. Cada punto de dicho subconjunto representa un conjunto
de puntos del conjunto original. A partir de un centroide podremos acceder
a los datos que lo formaron, transformando los conglomerados resultantes
compuestos por centroides, por los puntos que representan.
En cuanto a la escalabilidad temporal, la utilizacion de los centroides re-
55
56 capıtulo 5. Escalando el algoritmo
ducira la magnitud del problema, con lo que un problema que no era tratable
en principio con HMAC, podra ser resuelto con este algoritmo. Con el objeti-
vo de mejorar la seleccion de los centroides, se presenta un modelo multinivel
de seleccion de los centroides.
5.1 Pipeline para el procesado de datos
La complejidad temporal de HMAC ası como la limitacion de recursos
espaciales impiden que apliquemos directamente el algoritmo. Considerando
que se conoce el orden de magnitud del numero de objetos que conformaran
la muestra, pasamos a introducir el pipeline que llevara a cabo el paquete de
trabajo OCA para proceder con el agrupamiento.
Dicho pipeline fue presentado al consorcio DPAC por el grupo OCA y
consta de tres fases principales:
• Fase inicial de preprocesamiento.
• Fase de muestreo.
• Fase de agrupacion.
– Obtencion de centroides. (K-means++ / K-means#)
– HMAC
Fase inicial de preprocesamiento
Se basara en el trabajo realizado de estudio de los datos simulados, realizados
en el capıtulo 3, que aporta los siguientes puntos para la fase de preprocesa-
miento de los datos en el pipeline:
• Eleccion del proceso de normalizacion de los datos.
• Utilizacion del algoritmo PCA en version incremental para poder ser
aplicado a todos los datos.
• Estudio de los metodos de descomposicion para proceder con el PCA.
seccion 5.1. Pipeline para el procesado de datos 57
• Numero de componentes principales que debemos utilizar.
• Eleccion de los atributos a utilizar de los datos.
Fase de muestreo.
Esta fase hace referencia al modo en que se proporciona el flujo de datos a
nuestro algoritmo.
Los datos de Gaia, no son proporcionados al pipeline en una unica parti-
cion sino que se nos proporcionara como un flujo de datos divididos en grupos
o particiones distintas. El sistema de archivos distribuido utiliza Hadoop [38]
Figura 5.1: Fase de muestreo del pipeline.
mientras que la base de datos se estructura alrededor de HEALPix [54] que es
un esquema aceptado y utilizado por la comunidad astronomica para mues-
trear los objetos.
El motivo de la utilizacion de este esquema en vez de un acceso clasico
a traves de una base de datos de proposito general es que aunque existen
bases de datos con capacidades de indexacion espacial para conjuntos de
datos multidimensionales, el uso de estas caracterısticas no es sencillo, no
esta optimizado para el uso astronomico y su eficiencia es inadecuada para
el comportamiento exigido. HEALPix (Hierarchical Equal Area isoLatitude
Pixelization) como vemos en [21], fue desarrollado originalmente para solu-
cionar las necesidades de procesamiento de datos y analisis en experimentos
de astronomıa, distribuyendo o proyectando los datos, sobre una esfera.
Se trata de un marco de trabajo que permite una indexacion jerarquica de
la informacion, a diferentes niveles, que trata de facilitar el trabajo con tareas
58 capıtulo 5. Escalando el algoritmo
como el analisis global de los problemas, favorecer el analisis morfologico de
la informacion, deteccion identificacion y caracterizacion de objetos, e incluso
simplificar la correlacion espacial o espectral con conjuntos de datos externos.
En definitiva, HEALPix acapara muchas capacidades:
• Es una metodologıa para la discretizacion, analisis y sıntesis de datos
distribuidos en la esfera, trabajaremos con particiones de la esfera ce-
leste que contendran objetos y por lo tanto debido a que la densidad de
los objetos no es igual en todas las particiones de la esfera, el numero
de datos en las muestras sera variable.
• Es una estructura de datos intermedia, una capa funcional entre los
datos astronomicos y el dominio de la aplicacion.
• Es un formato de mapa celeste, con herramientas asociadas de analisis
y visualizacion.
• Se ha convertido en un estandar de facto, en una interfaz entre las
tecnologıas de la informacion y la ciencia espacial.
Fase de agrupacion.
Una vez tenemos un particionado de los datos, realizado durante la fase
previa, procederemos a usar una estrategia o paradigma de divide y venceras,
aplicando a cada muestra de datos el algoritmo K-means# y obteniendo una
muestra de centroides para cada particion.
Recordemos que con K-means#, obtendremos un grupo de centroides,
con una estrategia mas conservadora que K-means++, ya que escogeremos
un numero mayor de objetos como centroides.
Estos objetos escogidos, seran los que tengan una mayor probabilidad de
pertenecer a grupos distintos dentro de cada muestra y se fusionan formando
una nueva muestra de datos, que contiene solo estos centroides, por lo que
reduciremos el tamano del problema.
Esta reduccion dependera de los resultados que obtengamos, una vez fi-
nalizada la estructura del pipeline en las experimentaciones que llevemos a
cabo. Esta union de centroides al provenir de las muestras particionadas de
seccion 5.1. Pipeline para el procesado de datos 59
los datos globales, van a contener objetos que pertenecen a regiones que se
solapan, por lo tanto aplicaremos esta vez el algoritmo K-means++, para
obtener el numero de centroides globales requeridos, ya que el numero de
grupos deseados k es un parametro de entrada del problema.
Figura 5.2: Fase de agrupacion del pipeline.
El numero de centroides globales que buscamos sera un numero muy eleva-
do, ya que la aplicacion de K-means# y K-means++, tiene como objetivo
resumir los puntos muy cercanos por el centroide del grupo que les contie-
ne, por lo que de forma jerarquica reduciremos el numero de instancias del
problema.La figura 5.3 muestra un esquema de este proceso.
A partir de los centroides se podra volver a los objetos originales, los
puntos agrupados por ese centroide, actualmente se encuentra el desarrollo
del pipeline en esta fase, en la busqueda de una estructura de datos optima
60 capıtulo 5. Escalando el algoritmo
Figura 5.3: Representacion del proceso de resumen de informacion. La idea
es reducir el numero de puntos de (a) por los centroides encontrados en (b)
reduciendo el numero de datos en un factor muy importante.
que guarde la referencia a los objetos representados por un centroide y a su
vez sea facil encontrar para un objeto a que centroide pertenece.
Finalmente sobre estos centroides globales que resumen la informacion
de la muestra, se ejecutara el algoritmo de agrupacion HMAC y con los
resultados obtenidos, podremos descender desde los centroides agrupados en
los clusters a los datos que pertenecen a esos centroides.
Tendrıamos una agrupacion con una doble jerarquıa, por un lado la in-
troducida por el algoritmo HMAC, que con la variacion del ancho de banda,
encontrarıa diferentes niveles de agrupacion de objetos y por otro lado, estos
objetos pertenecientes a los conglomerados serıan los centroides, desde los
cuales se podrıa llegar a las instancias o puntos que lo generaron.
El numero de centroides para realizar la agrupacion y disminuir el tamano
del problema se valorara experimentalmente cuando el pipeline se encuentre
en una fase mas avanzada de desarrollo, pero se espera una reduccion del
problema original de 109 datos a un numero entre 105 y 107 datos para la
ejecucion del algoritmo HMAC.
Tambien es posible aplicar la misma estrategia con varios niveles, dan-
do lugar a la alternativa multinivel, que es la generalizacion de la anterior
tecnica para n niveles. La variacion presentada trata de aplicar en repetidos
niveles K-means# en primer lugar con las muestras de datos para obtener
los centroides. Posteriormente repetimos la ejecucion del algoritmo, con la
seccion 5.1. Pipeline para el procesado de datos 61
Figura 5.4: Agrupacion multinivel para n=2
fusion de varios conjuntos de centroides y este esquema se puede repetir va-
rios niveles, siempre con la fusion de los centroides del nivel anterior, salvo
en el primer paso que se ejecuta con las particiones de la muestra completa.
Finalmente, siempre en el ultimo nivel, se ejecutarıa K-means++ para
obtener el conjunto de centroides final con el numero de instancias k intro-
ducidas como parametro de entrada del algoritmo.
La estructura de datos utilizada para mantener la referencia de las instan-
cias que pertenecen a un centroide, ahora debe mantener multiples niveles,
pues un dato puede contener referencias a centroides y estos a su vez a conjun-
tos de centroides que contiene y ası hasta llegar al nivel donde las referencias
son de puntos de las muestras, por lo que la implementacion de la estructura
multinivel presenta una mayor complejidad.
El objetivo de esta variedad frente a la utilizacion con tan solo un nivel,
es su utilizacion cuando la cantidad de datos sea tan grande, que la fusion
de los centroides con tan solo un nivel de profundidad, contenga demasiados
62 capıtulo 5. Escalando el algoritmo
datos para utilizar HMAC.
Encontramos respecto a este proceso de reduccion en el numero de datos,
utilizando tecnicas de agrupamiento, trabajos con planteamientos similares
como el realizado por Cervantes en [7], en este caso aplicado a algoritmos
de tipo SVM o Maquinas de Vectores de Soporte que son un conjunto de
algoritmos de aprendizaje supervisado, sin que afectara significativamente la
precision de la clasificacion.
Otra posible posible mejora propuesta para su introduccion, trata de in-
corporar la estructura de arbol kd para guardar los datos, su objetivo es que
el algoritmo MAC utilice para la fase de calculo de la probabilidad a pos-
teriori, unicamente los datos situados en los nodos mas cercanos dado que
son los que mas contribuyen en una distribucion normal a la estimacion de
la verosimilitud, para ello seguiremos la llamada regla tres sigma, por lo que
los puntos que contribuyen a una distribucion normal estan en un 99,7 % de
los casos a una distancia menor de tres veces la desviacion estandar de la
media. Se comprueba experimentalmente los resultados de utilizar el algorit-
mo MAC con y sin el arbol kd al final del presente capıtulo y se extraen las
debidas conclusiones.
5.2 Medicion del coste espacial y temporal
En el presente apartado, mostraremos diferentes experimentos, llevados a
cabo para estudiar el comportamiento temporal y espacial de diferentes al-
goritmos utilizados en el trabajo de forma empırica y cuyos resultados ser-
viran para tomar ciertas decisiones que afectaran a muestra estructura para
resolver el problema.
5.2.1 Pruebas de rendimiento de K-means++ y K-
means#
Se han realizado dos experimentos distintos:
• En primer lugar con el objetivo de estudiar el comportamiento con un
seccion 5.2. Medicion del coste espacial y temporal 63
problema de un tamano similar al esperado en las muestras de Gaia
y el comportamiento no solo como tecnica de inicializacion sino como
afecta a K-medias su utilizacion respecto a la velocidad de ejecucion y
calidad de los resultados.
• Un segundo experimento con el objetivo de estudiar el crecimiento del
coste temporal respecto al numero de instancias y estudiar como escalan
los algoritmos.
Para la realizacion de la primera prueba, se ha utilizado una variacion
de una base de datos de UCI Machine Learning Repository, en concreto
una variante con datos sinteticos procedentes de la base de datos Forest
Covertype, con 7 clases y 581,012 puntos con 54 dimensiones o atributos cada
uno, con un numero de datos dentro del rango esperado por las muestras de
Gaia aunque con una dimensionalidad superior.
Se ha realizado el agrupamiento con objetivo de comparar los tiempos de
ejecucion de las inicializaciones K-means++ y K-means#, estudiando como
afectan al algoritmo K-medias frente a la inicializacion aleatoria original en
cuanto a tiempo de ejecucion del algoritmo.
Los resultados en cuanto a la eficiencia de K-medias, no son objetivo de
nuestro estudio, dado que nuestro interes se centra unicamente en la obten-
cion de un buen subconjunto de centroides, a los que aplicaremos HMAC.
Simplemente mencionaremos que como era de esperar una mejor inicializa-
cion de K-medias frente a la inicializacion aleatoria supone tambien una
mejora de los resultados tal y como puede verse en la Tabla 5.1.
Tabla 5.1: Porcentaje de acierto del K-medias con varias inicializaciones.
Inicializacion % Aciertos
Aleatoria 67.29 %
K-means++ 73.33 %
K-means# 77.25 %
En cuanto al tiempo de ejecucion, se uso un ordenador con procesador In-
tel Pentium Dual CPU E2140 a 1.60GHz de velocidad, con 3Gb de memoria.
64 capıtulo 5. Escalando el algoritmo
Los resultados se muestran en la Tabla 5.2. K-medias mejora su eficiencia si
usa, como metodo de inicializacion, K-means++ o K-means#. Los tiempos
de ejecucion de ambas inicializaciones indican la viabilidad en muestras de
aproximadamente 6×105 instancias; tamano similar al de las proporcionadas
en Gaia.
Tabla 5.2: Tiempo de ejecucion del K-medias con varias inicializaciones. El
valor na indica no aplicable y se debe a que el tiempo es inferior a la precision
de la medida.
Inicializacion T.Inicializacion T. Ejecucion
Aleatoria na 41.8s
K-means++ 1.3s 25.7s
K-means# 4.7s 24.1s
Para nuestro segundo experimento, estudiar la variacion de forma experi-
mental del coste temporal respecto al tamano de las instancias, preparamos
muestras con datos sinteticos, generadas con diferentes tamanos conteniendo
10 conglomerados de datos, con 25 atributos o dimensiones, siguiendo cada
uno de ellos una distribucion normal con diferentes medias y desviaciones
estandar, que se solapan parcialmente entre sı.
El tamano de las muestras generadas fue de 5× 103, 104, 105, 2,5× 105,
5 × 105 y 106 instancias y las pruebas se realizaron sobre un ordenador con
procesador Intel i5-2500K a 3.70GHz de velocidad, con 8Gb de memoria.
Tabla 5.3: Escalado de K-means# frente K-means++
5× 103 104 105 2,5× 105 5× 105 106
K-means++(ms.) 8 16 78 275 344 640
K-means#(ms.) 16 24 182 500 880 1859
Aunque el crecimiento de K-means# asintoticamente es mayor, es lineal
y sabemos por la estructura de particionado de datos que se va a aplicar,
que los conjuntos de muestras sobre los que calcularemos los centroides seran
de un tamano entre 104 y 106 puntos, por lo que conocido el tamano del
seccion 5.2. Medicion del coste espacial y temporal 65
Figura 5.5: Coste temporal
problema, podemos concluir que el algoritmo podra responder en un tiempo
prudencial.
Siguiendo la estructura del pipeline, para las observaciones previstas por
Gaia del orden de 109 datos, tendremos suponiendo particiones de 105 datos,
como ejemplo, un total de 104 muestras. Por lo tanto podemos calcular una
aproximacion del tiempo de calculo como 104×182ms que supone aproxima-
damente 30.3 minutos, en un ordenador similar al utilizado para las pruebas,
para la ejecucion de la primera fase de calculo de centroides en todas las
particiones de los datos de Gaia. Este calculo aproximado se refiere unica-
mente al tiempo de ejecucion de la suma de todos los algoritmos K-means#
ejecutados en una estructura con un solo nivel de resumen con K-means#
antes de aplicar K-means++ al resultado.
La reduccion del tamano del problema que tratara en la fase final K-
means++ dependera de pruebas realizadas en fases posteriores de desarrollo
66 capıtulo 5. Escalando el algoritmo
del pipeline, pero con los datos experimentales anteriores concluimos que no
supondra ningun problema.
5.2.2 Pruebas de rendimiento del algoritmo PCA in-
cremental
Como vimos en el punto dedicado a la reduccion de la dimensionalidad,
utilizamos la tecnica de analisis de componentes principales con una imple-
mentacion de tipo incremental, dado que no es posible construir el modelo ni
proyectar todos los datos del problema, por lo que utilizaremos esta tecnica
que construye un modelo que vamos actualizando con nuevas muestras y que
sigue la misma estrategia para la proyeccion de los datos.
El objetivo del siguiente experimento es conocer el tamano optimo para
dividir el problema en muestras, por ejemplo si dividimos los 109 puntos en un
millon de bloques, cada bloque contendra mil puntos, y deberemos construir
el modelo con el primer bloque y posteriormente actualizarlo 106 − 1 veces,
con el resto de bloques. Para proyectar los datos con el modelo construido
y obtener los componentes principales de los datos, necesitaremos de nuevo
proyectar los datos con el primer bloque y realizar 106 − 1 proyecciones,
hasta obtener el modelo final con todos los datos. Para el experimento se
generaron datos sinteticos de forma aleatoria con una distribucion N [0, 1] y
10 dimensiones por punto.
Tabla 5.4: PC incremental, coste en Intel Nehalem x7550, 32 cores, 64GB de
memoria
#points #points/block #blockst(s)
memory (GB)update project
109
102 107 3283 n/a n/a
103 106 3125 32000 0,001
104 105 3093 20400 0,001
105 104 7532 55190 0,147
106 103 9327 68014 1,440
107 102 10118 72751 14,132
seccion 5.2. Medicion del coste espacial y temporal 67
Podemos observar como el consumo de memoria depende unicamente del
numero de puntos por bloque, debido a que el algoritmo de tipo stream o
incremental, solo trabaja con los datos de un bloque realizando la operacion
de actualizacion o de proyeccion, el resto de bloques no es necesario que
permanezca en memoria. Nunca deberemos utilizar un tamano de bloque
que sea superior a la memoria libre del sistema.
Respecto al coste temporal de la actualizacion observamos que no sufre
una variacion significativa para bloques de tamano entre 102 y 104 datos
y a partir de este tamano sufre un ligero incremento el coste temporal. La
explicacion a este incremento se debe a los tiempos de acceso a disco y al
sistema de ficheros del sistema operativo. Si cada bloque de datos sobrepasa el
tamano del bloque de disco duro, el acceso a la informacion requerira acceder
en mas de una ocasion al disco duro. Ademas en este caso puede que el bloque
de datos sea almacenado en regiones distintas del disco duro.
5.2.3 Velocidad de ejecucion de MAC y K-medias
El objetivo del siguiente experimento es comprobar la necesidad de la reduc-
cion del tamano del problema para la ejecucion de MAC y su viabilidad con
el nuevo tamano reducido.
Para ello, la siguiente prueba compara el tiempo de ejecucion de un al-
goritmo conocido como K-medias, en su implementacion basica, sin mejoras
ni uso de paralelizacion u otras tecnicas para acelerar su ejecucion, con el
algoritmo MAC, de forma empırica.
Debemos tener en cuenta dos aspectos fundamentales, por una parte la
velocidad de MAC depende del valor de bandwidth, dado que lo utilizara para
decidir sobre la convergencia y final de las iteraciones del algoritmo EM
subyacente, y en segundo lugar HMAC no es mas que la ejecucion para
diferentes valores de este parametro de MAC como vimos anteriormente, por
lo que el coste de HMAC es el coste de repetir tantas veces como diferentes
valores usemos de bandwidth, un algoritmo MAC.
De nuevo, se generaron para el experimentos datos sinteticos de forma
aleatoria pertenecientes a varias agrupaciones distintas que se caracterizaban
68 capıtulo 5. Escalando el algoritmo
por seguir una distribucion normal, con diferentes medias y desviaciones.
Tabla 5.5: Comparativa coste temporal y espacial MAC y K-medias
A #var. #points K t(s) memory (GB)
K-medias
10
104
1034 0,221
105 291 0,692
106 11835 3,043
105104
530 2,188
106 44092 17,387
106 105 89480 9,992
120
104
10322 0,055
105 805 0,170
106 83827 3,110
105104
3062 0,404
106 117530 3,729
106 105 1391128 3,699
MAC
10
103 − 8 0,036
104 − 800 0,078
2 · 104 − 3139 0,590
3 · 104 − 7147 0,396
4 · 104 − 12574 0,978
5 · 104 − 20647 2,232
120
103 − 44 0,010
104 − 4635 0,145
2 · 104 − 20425 0,189
3 · 104 − 49365 0,291
Los experimentos se realizaron en un centro de calculo que reparte la
cola de trabajos a diferentes maquinas y no ha sido posible averiguar las
caracterısticas concretas de la maquina que ejecuto las pruebas, pero nuestro
interes radica en los costes asintoticos.
El coste temporal de MAC mostrado experimentalmente, podemos obser-
seccion 5.2. Medicion del coste espacial y temporal 69
var que es aproximado a O(n2) respecto al numero de puntos, pero tambien
crece respecto al numero de atributos, no de forma cuadratica pero si de for-
ma ligeramente superior a la lineal, aproximandose a un coste O(m× log(m))
de forma que el coste asintotico que se aproxima mejor a la experimentacion
para el algoritmo MAC con n puntos y m atributos es de O(m×log(m)×n2).
Otro dato relevante es la correcta eleccion del parametro bandwidth, un
valor demasiado pequeno, tendra un grave efecto sobre el coste temporal,
debido a que el paso Expectation-Maximization de MAC, continuara iterando
mientras no llegue a un criterio de parada que depende de un numero maximo
de iteraciones muy elevado si no alcanza antes un umbral que se calcula
respecto al valor del ancho de banda.
Respecto los resultados empıricos en K-medias, debido a la inicializacion
aleatoria, el numero de iteraciones necesarias para la convergencia de los da-
tos hasta los centroides cambia y produce una variacion del coste asintotico,
entre O(n2
3) y O(n2). Su coste ha variado dependiendo del numero de atri-
butos tambien, pero con estos resultados, no es posible estimar claramente
en este experimento si la influencia del numero de atributos anade un coste
lineal o menor.
Queda demostrado experimentalmente que la utilizacion del algoritmo
MAC y por lo tanto HMAC, que no es sino una sucesion de ejecuciones de
MAC, es absolutamente inviable con 109 datos y que la reduccion de datos
por centroides de grupos de datos, permitira la utilizacion de la tecnica de
agrupamiento, dado que por ejemplo la reduccion del tamano del problema
a 105 puntos, aunque costoso temporalmente, es factible.
5.2.4 Algoritmo MAC frente a variacion utilizando arbo-
les kd
El objetivo del siguiente experimento, era estudiar el comportamiento de
MAC, introduciendo como mejora el uso de estructuras KD-Tree o arboles
kd, para que el algoritmo MAC no tenga que computar la contribucion de
todos los puntos para el calculo de la probabilidad a posteriori, sino que
unicamente accedera a los puntos distribuidos sobre los nodos cercanos del
70 capıtulo 5. Escalando el algoritmo
arbol kd, tomando por cercanos los que cumplen encontrarse a una distancia
menor de tres veces la desviacion estandar de la media.
La contribucion de la estructura solo se realiza en la fase del calculo de
las probabilidades a posteriori. Por ello, se esperaba una aceleracion signi-
ficativa en el tiempo de ejecucion. Se utilizaron como muestras los datos
de estrellas,galaxias y cuasares del corpus de datos de SDSS filtrados para
G ≤ 17 utilizado en muchos de los experimentos que realizaremos a partir
del capıtulo sexto, adaptado en este caso a diferentes tamanos de muestras
pero manteniendo en el numero de datos siempre la misma proporcion de
cada clase de objetos. El numero de dimensiones es de 16.
Tabla 5.6: Tiempos de ejecucion en segundos de MAC y KD-Tree+MAC
sobre procesador Intel i5-2500K a 3.70GHz, 8Gb de memoria
# Problema MAC KD-Tree+MAC
100 0.3 0.3
500 7.6 5.6
1000 26.4 22.3
2500 173.8 140.7
5000 647 587.1
7500 1504.5 1516.8
10000 2651.5 2798.5
12500 4117.6 4655.8
15000 5769.1 6973.1
17500 7902.4 9528.9
20000 10272.7 12642.2
Observamos empıricamente como claramente el coste temporal de ambas
versiones es de O(n2) sin embargo el crecimiento de la version que utiliza los
arboles k -dimensionales para manejar los datos con el algoritmo MAC crece
de forma ligeramente superior respecto al numero de datos.
Estos resultados empıricos nos sorprendieron, dado que esperabamos que
la version que utiliza arboles kd, presentase un mejor comportamiento asintoti-
co respecto a no utilizar esta estructura, ya que deberıa accederse en los
seccion 5.2. Medicion del coste espacial y temporal 71
Figura 5.6: Coste temporal
calculos de la probabilidad a un numero menor de datos.
Una explicacion para este comportamiento, radica en la forma y distribu-
cion de los datos que hemos estudiado en el capıtulo tercero. La alta densidad
de los datos y su distribucion en el espacio, hace que MAC necesite llamar a
muchas ramas para tener en cuenta la contribucion de todos los puntos.
Ademas, en el libro de Jacob E. Goodman et al. [23] encontramos que
los arboles kd, no son adecuados para encontrar los vecinos mas proximos en
datos con una alta dimensionalidad. Como regla general, si la dimension es k
, el numero de puntos n deberıa ser mucho mayor a 2k ya que de otra forma
la mayorıa de puntos en el arbol seran evaluados y la eficiencia sufrira las
consecuencias, como hemos visto.
El numero de atributos utilizado en nuestra experimentacion fue de 16,
por lo que segun [23] para no tener que evaluarse la mayorıa de puntos del
arbol, el numero de datos deberıa ser muy superior a 216 = 65,536.
72 capıtulo 5. Escalando el algoritmo
Esto supone un problema dado que es necesario la reduccion del tamano
del problema para poder utilizar el algoritmo MAC con un coste temporal
realista y nuestro objetivo es tratar de llegar con el uso de los centroides a
resumir la informacion de toda la muestra en un numero de datos con el que
sea posible trabajar, por ejemplo, del orden de 105 datos, que no cumple la
condicion de ser un numero mucho mayor a 216.
Por lo tanto concluimos experimentalmente que la utilizacion de KD-
Tree no proporciona ninguna ventaja en el coste temporal sino mas bien una
pequena penalizacion y en [23] encontramos otra argumentacion que nos
lleva a la misma conclusion.
Otro de los aspectos a tener en cuenta es la variacion de los resultados
utilizando KD-MAC, respecto a MAC, por lo que repetimos el experimento
llevado a cabo en el apartado 7.4 con el mismo numero de instancias, que
tan buenos resultados nos proporciona en MAC, y nos encontramos unos
resultados muy distintos.
Cabe resaltar que frente a los experimentos realizados con MAC que en-
contraron 3 agrupaciones que contenıan practicamente todos los datos y don-
de predominaba claramente en cada uno de los grupos una de las tres clases
originales del problema, en los experimentos utilizando KD-Trees, encontra-
mos numerosos grupos, 23 en concreto, con un numero significativo de puntos
(entre 210 y 1797 puntos) y un cluster con una gran cantidad de puntos, apro-
ximadamente dos terceras partes del total de los datos y que presenta una
gran confusion en los datos, con la proporcion de clases que vemos en 5.7.
Tabla 5.7: Resultados incorporando la estructura Arbol kd al algoritmo MAC
Estrellas Galaxias Cuasares
60.41 % 22.64 % 16.95 %
Los grupos pequenos que representan el tercio restante de los datos, pre-
sentan en todos los casos un porcentaje de aciertos superior al 95 %.
Por lo tanto nos encontramos ante un grupo con gran parte de los datos
y muy malos resultados respecto a no utilizar KD-Trees como estructura de
datos y por otra parte una gran cantidad de grupos pequenos, que aunque
seccion 5.2. Medicion del coste espacial y temporal 73
tienen buenos resultados solo representan un tercio de los datos y dificultan
la comprension y estudio del modelo.
Si no existe error en la implementacion y tanto KD-Tree como MAC
han pasado diferentes pruebas unitarias, que nos inducen a estimar que son
correctos, los resultados parecen indicar que la contribucion de los puntos
que se deja MAC para el calculo de probabilidades son importantes y por
ello los resultados son mucho peores que sin la utilizacion de los arboles KD.
Capıtulo 6
Experimentos iniciales
6.1 Experimentacion con componentes prin-
cipales
El objetivo de esta primera experimentacion es, utilizando los datos semi-
empıricos de SDSS sin presencia de ruido, intentar discriminar dos clases a
traves de los espectros y si el experimento proporciona resultados satisfacto-
rios, repetirlo introduciendo un mayor numero de clases de forma iterativa y
encontrar si existen dificultades en la clasificacion con alguna clase en con-
creto.
Utilizaremos por lo tanto, los datos provenientes las estrellas y galaxias de
SDSS y unicamente trabajaremos con los datos de las componentes principa-
les de los espectros. Queremos averiguar si la utilizacion de los componentes
principales de los espectros es suficiente para realizar un agrupamiento con
calidad, algo que por el estudio previo de los datos dudamos, dada la si-
militud entre los espectros de los diferentes objetos y el solapamiento que
mostraban las diferentes clases 3.2.
Para facilitar la tarea al algoritmo de agrupamiento MAC y reducir el
tamano y por lo tanto el tiempo de ejecucion del algoritmo de semanas a dıas,
realizamos el experimento filtrando y eliminando los objetos cuya magnitud
75
76 capıtulo 6. Experimentos iniciales
es superior a 17, permitiendonos eliminar aproximadamente el 40 % de los
datos, ademas y como vimos anteriormente 3.2 se trata de datos con mayor
afectacion de ruido, con lo que facilitamos mas el trabajo de MAC.
El numero de instancias utilizadas en el experimento es de 51.921, de los
cuales 38.566 pertenecen a las Estrellas SDSS y 13.355 a las Galaxias SDSS.
Podemos obtener resultados similares con valores menores de la magnitud,
y por lo tanto con una experimentacion mas rapida al disminuir aun mas el
tamano del problema, pero como es logico, las galaxias son cuerpos mucho
menos brillantes, por la distancia a la que se encuentran, que las estrellas de
nuestra propia galaxia, por lo tanto la disminucion del valor de G no afecta
proporcionalmente a todas las clases, a partir de valores de G menores a 15.5
la proporcion de datos es de 3.301 galaxias frente a 32.920 estrellas y para
un valor de G ≤ 15 ya no encontramos ninguna galaxia.
(a) Grafica original. (b) Estrella ultrafrıa.
Figura 6.1: Solapamiento clases
Como podemos observar, ambas clases estan muy solapadas y la labor de
clusterizacion se presenta complicada a priori.
Para el agrupamiento se utilizo el algoritmo MAC, con las primeras 15
componentes principales y se aproximo primero de forma automatica el valor
del parametro bandwidth con un metodo desarrollado por nosotros mismos,
seccion 6.1. Experimentacion con componentes principales 77
que podemos ver en el anexo dedicado a las utilidades desarrolladas durante
el presente trabajo y posteriormente se afino su valor manualmente, para
intentar mejorar ligeramente el experimento. La evaluacion de la calidad de
las agrupaciones obtenidas, es un campo usualmente complejo, sin embargo al
utilizar datos etiquetados, podemos estimar de forma sencilla los resultados
obtenidos, pues nos interesa encontrar grupos donde predomine una de las
clases de datos y esta es la medida de bondad que utilizaremos en el resto
del trabajo, para evaluar la calidad de las agrupaciones.
Los resultados obtenidos en la mejor de las pruebas realizadas, con dife-
rentes anchos de banda o bandwidth, fueron los siguientes: Encontramos un
grupo principal, dos con un porcentaje mucho menor de datos y finalmente
muchos grupos pequenos con unos pocos datos sueltos, o directamente datos
sueltos. En los tres grupos con una cantidad representativa de datos, encon-
tramos la siguiente distribucion.
Cluster/Clase Estrella Galaxia Total
C0 33467 12726 46193
C1 2663 533 3196
C2 2412 0 2412
Si analizamos los datos como porcentajes obtenemos que cada cluster esta for-
mado por:
Cluster/Clase Estrella Galaxia
C0 74.45 % 27.55 %
C1 83.32 % 16.8 %
C2 100.0 % 0.0 %
Podemos observar que en la primera agrupacion, se encuentran la mayor
parte de los datos tanto de estrellas como galaxias, mezclados, en cuanto a
numero de muestras en cada grupo, el segundo cluster tiene un numero muy
78 capıtulo 6. Experimentos iniciales
inferior de datos pero el porcentaje de objetos es similar, la confusion en am-
bos grupos es total y esto es debido a la densidad y solapamiento de puntos
hace que MAC no pueda encontrar agrupaciones correctas con tan solo los
componentes principales. Tan solo el tercer cluster encuentra un numero de
estrellas que corresponderan a agrupaciones de puntos alejados de la zona
de densidad que acumula la mayorıa de puntos, por tener caracterısticas es-
pectrales que las hacen diferentes y que forman un grupo aparte. Variando
ligeramente el parametro de bandwidth, se ajustan ligeramente los elementos
cercanos a las fronteras de decision entre diferentes grupos, cambiando unos
pocos elementos de grupo pero los resultados y conclusiones no cambian en
absoluto y al disminuir el valor del parametro, incrementaremos los datos
que pasan a formar parte de grupos muy reducidos, nuevos pequenos grupos
o incluso a encontrarse en solitario, como esperamos del algoritmo utilizado.
6.2 Analisis de resultados y lıneas de investi-
gacion para su mejora
Los resultados, muestran que MAC no puede distinguir ambas clases en unas
condiciones ideales:
• Sin presencia de ruido.
• Datos filtrados para una magnitud inferior o igual a 17, descartando
los datos que pueden contener una mayor componente de ruido
• Datos de tan solo dos clases diferentes, provenientes de las adaptaciones
a Gaia de observaciones reales del repositorio de SDSS.
Posibles motivos son que o bien el metodo de reduccion de dimensiona-
lidad escogido, PCA, se muestra ineficaz en nuestro caso o bien es necesaria
la introduccion de mas datos aparte de los procedentes de los espectros BP y
RP para distinguir los objetos. Vamos intentar mejorar la situacion a partir
de numerosos puntos que atacan el problema desde diferentes frentes, estu-
diando la viabilidad y mejora en los resultados de su aplicacion y combinar
los mas prometedores.
seccion 6.2. Analisis de resultados y lıneas de investigacion para su mejora79
Diferentes posibilidades que estudiaremos en el proximo capıtulo, son:
• Incrementar los atributos de cada instancia. Anadir al espectro BP/RP,
o incluso sustituirlo, por otros atributos, en concreto:
– Datos estadısticos: A partir de las mismas medidas del espectro
BP/RP, podemos anadir los momentos estadısticos principales de
cada espectro como son, la media, mediana, varianza, asimetrıa y
curtosis.
– Datos astrometricos: El objetivo original del trabajo, partıa de la
experimentacion con los espectros, pero los resultados obtenidos
nos hacen buscar la posible ayuda en la utilizacion e incorporacion
de los datos astrometricos descritos inicialmente, en concreto los
relativos a la posicion como son la ascension y declinacion, los
movimientos propios y el paralaje cuando sea posible.
• Extraccion de los datos pertenecientes al cluster curvilıneo de gran den-
sidad. Si observamos la proyeccion de los primeros dos componentes
principales, en todos los objetos, teniendo en cuenta tambien la den-
sidad, es decir el numero de puntos de cada cluster, existe un cluster
muy dominante, el cluster curvilıneo que corresponde con las estrellas
SDSS. La idea es utilizar una metodologıa para clusters curvilıneos y
detectar los puntos con alta probabilidad de pertenecer a este grupo,
extrayendo estos datos del conjunto global. Este cluster curvilıneo ex-
traıdo, contendra datos de estrellas SDSS pero tambien de cuasares
y galaxias provenientes de Sloan Digital Sky Survey, y sera analizado
aparte, pero en el conjunto original nos quedaran unos datos mas sen-
cillos de analizar, por los algoritmos MAC y HMAC, que buscan los
puntos de mayor densidad y estan demasiado influidos por la presencia
de este cluster curvilıneo de gran densidad en los datos. Para extraer
los datos de este cluster, podemos estudiar si es viable la aplicacion de
una tecnica de clustering curvilıneo para nuestro problema y en caso
positivo, la integracion dentro del proyecto.
Capıtulo 7
Segunda fase de
experimentacion
7.1 Datos astrometricos
Vamos a analizar los resultados de utilizar unicamente la informacion as-
trometrica, utilizando los datos relativos a la posicion de los objetos, es decir
la ascension y declinacion y la informacion relativa al movimiento de los ob-
jetos o movimiento propio en ascension y declinacion. No es posible utilizar
la distancia, es decir la inversa del paralaje, debido a que como vimos en el
estudio de los datos, solo esta disponible para las instancias de las estrellas.
Los datos astrometricos son interesantes porque tratan de las agrupacio-
nes de los objetos en el espacio y objetos agrupados en el espacio corresponden
con una alta probabilidad a objetos que se originaron en las mismas condi-
ciones fısicas y de forma cercana en el tiempo. Los experimentos se realizaron
filtrando los los datos provenientes de SDSS, estrellas, galaxias y cuasares por
un valor de magnitud, en total 55.469 instancias y se normalizaron los datos
entre 0 y 1 para cada uno de los valores, el valor utilizado de bandwidth para
el algoritmo fue de 0.01. Con este valor encontramos varios grupos formados
por centenares o miles de objetos, enumeramos los grupos con mayor numero
81
82 capıtulo 7. Segunda fase de experimentacion
de objetos a continuacion, el resto de grupos mantiene una proporcion entre
clases similar.
Cluster / Clase Estrella Galaxia Cuasar Total
C0 9.360 2.362 3.207 14.929
C1 8.938 2.118 3.072 14.128
C2 6.366 1.502 2.291 10.159
C3 4.556 1.145 1.651 7.352
C4 3.946 978 1.348 6.272
Estas agrupaciones de objetos, senalan grupos de objetos cercanos y con
caracterısticas de movimientos comunes, sin embargo la utilizacion de este
tipo de datos no demuestra su utilidad con los datos simulados de SDSS pa-
ra agrupar correctamente en las diferentes clases. Ademas hemos de afinar
manualmente el valor de bandwidth con cuidado, pues disminuyendo ligera-
mente su valor, los grupos se dividen en muchos grupos con tan solo unos
pocos objetos cada uno de ellos. Una utilidad de utilizar un valor pequeno
para el parametro bandwidth en este caso, obteniendo grupos muy pequenos,
la encontramos en ayudar en la identificacion de algun tipo de objeto estelar
curioso, como sistemas binarios. Tratarıamos de identificar parejas de obje-
tos con movimientos propios similares, que serıa uno de los criterios a tener
en cuenta, para estudiar posteriormente si cumple con otros requisitos como
similar velocidad tangencial, igual distancia, etc, como en [20]. Con los da-
tos de Gaia, no los datos semiempıricos que parecen provenir de una region
comun, podrıa ser interesante la creacion de un atributo que indicara si la
region observada del espacio se trata de nuestra propia galaxia. Si tenemos
en cuenta la posicion de nuestro planeta y Gaia respecto a nuestra Galaxia,
nos encontramos en un brazo de la espiral en el exterior de la Vıa Lactea, por
lo tanto cierta region del espacio observado desde este punto correspondera a
la observacion dirigida al centro de nuestra galaxia, por lo que los datos ob-
servados corresponderan con una alta probabilidad a estrellas y una baja
probabilidad a galaxias. Este conocimiento previo del problema nos puede
servir bien para filtrar los datos, bien para anadir un atributo indicando la
seccion 7.2. Momentos estadısticos 83
probabilidad de pertenecer a nuestra propia galaxia, para intentar mejorar
los resultados del algoritmo de clustering.
Si nos resultaran, los parametros astrofısicos, interesantes, para analizar
las caracterısticas de los distintos objetos que pertenecen a cada uno de los
grupos, informaciones relativas a la temperatura, composicion, etc. Estos
parametros no estan disponibles en los datos simulados, pero como veremos
en 7.5, se ha realizado una herramienta para buscar a partir de los parame-
tros disponibles en las simulaciones el correspondiente objeto original en el
repositorio de SDSS y extraer los parametros buscados del objeto original.
Concluimos que aunque encontramos interesante la utilizacion de esta
informacion astrofısica por diferentes motivos, para el objetivo perseguido en
este punto, no parece resultar de utilidad la utilizacion directa de estos datos
para el algoritmo MAC para identificar la clase/subclase a la que pertenecen
los datos, por lo tanto descartaremos su uso en este sentido.
7.2 Momentos estadısticos
Como una aportacion original del trabajo, se introducen los momentos es-
tadısticos de los espectros, en lugar de analizar los datos de los espectros
directamente. Los momentos estadısticos son indicadores genericos de una
distribucion. Se basan en una generalizacion de la idea de media, concreta-
mente de la media aritmetica de la enesima potencia de los valores de la va-
riable. Podemos definir el momento ordinario de orden k como: ak =∑
nNxk
Y el momento central de orden k como: mk =∑
nN
(x− x)k
Se calculan, para cada espectro en BP y RP, su media, mediana, varian-
za, asimetrıa y curtosis. En los experimentos sin ruido, se utiliza la media
aritmetica de los datos, mientras que en presencia de ruido utilizaremos la
mediana, mas robusto frente al ruido. Por lo tanto utilizaremos 8 valores,
para modelar los espectros BP y RP, y utilizaremos estos valores primero
por separado y mas adelante junto a los componentes principales.
El calculo de los valores se realiza mediante sus formulas.
Media: x = 1N
∑i=ni=1 xi que coincide con el momento ordinario de primer or-
84 capıtulo 7. Segunda fase de experimentacion
den.
Mediana: El valor de la variable, que ordenados los datos deja a derecha y a
izquierda el mismo numero de observaciones.
Varianza: Mide la dispersion de los datos respecto a la media aritmetica y al
igual que la desviacion tıpica, es el mejor indicador de la variabilidad global
de una distribucion,S2 = 1N
∑i=ni=1 (xi − x)2, respecto a los momentos ordina-
rios puede expresarse como S2 = a2 − a21A traves de los anteriores valores, estudiamos la situacion de los valores de
un espectro y cuanto se dispersan en terminos globales, anadimos los siguien-
tes parametros para conocer la forma en que se distribuye los valores de un
espectro.
Asimetrıa: Este indicador nos informa de si los valores de la distribucion
se disponen simetricamente alrededor de la media, o bien si se decantan en
mayor medida hacia la derecha (asimetrıa a derechas, o positiva) o hacia la
izquierda (asimetrıa a izquierdas, o negativa). Se define respecto al orden
central como:As = m3
(√m2)3
=1N
∑(xi−x)3
(√
1N
∑(xi−x)2)3
Curtosis: Finalmente, nos interesa comparar ponderadamente, el numero de
observaciones cercanas a la media con el numero de observaciones lejanas.
Informalmente, decimos que mide la mayor o menor forma de “punta” de la
distribucion, por ello en algunos textos se llama a la curtosis apuntamiento.
La curtosis esta relacionada con el momento central de cuarto orden de la
siguiente forma: K = m4
m22− 3 =
1N
∑(xi−x)4
( 1N
∑(xi−x)2)2
− 3
El valor restado a la curtosis, 3, se realiza para permitir la comparacion del
apuntamiento de la distribucion con el apuntamiento ”patron”que es el que
tiene la distribucion normal de probabilidad, cuyo momento de cuarto orden
tipificado es tres. Por ello se define el coeficiente de curtosis como el momento
central de cuarto orden de la variable tipificada menos tres unidades. Para
la normalizacion de los datos, los valores estadısticos, tras calcularse para
cada espectro se normalizaron en el rango de los componentes principales,
es decir, en lugar de normalizarse entre cero y uno por ejemplo, se utilizo el
primer componente principal que es el que mayor varianza en los datos pre-
senta por definicion, y se calculo el menor y mayor valor de esta componente,
seccion 7.2. Momentos estadısticos 85
utilizandose este valor mınimo y maximo como rango de normalizacion de los
datos, siendo una normalizacion equivalente a realizarla entre cero y uno pero
en la escala de valores de los componentes principales. Este ajuste se realiza
en cada espectro por separado, es decir los datos derivados de los momen-
tos estadısticos de BP se normalizan respecto a los componentes principales
de BP y lo mismo sucede con RP. De esta forma cuando realicemos pos-
teriormente experimentos junto a los componentes principales, los datos se
encontraran escalados en el mismo rango de valores. Los experimentos se
realizaron filtrando los objetos por el mismo valor de magnitud que con los
experimentos iniciales, G ≤ 17 con todos los datos provenientes de SDSS, es
decir, estrellas galaxias y cuasares. Se utilizo nuestra herramienta para cal-
cular un valor inicial de bandwidth que redondeamos a 0.0005, utilizandose
el algoritmo de MAC para realizar el agrupamiento.
Los resultados obtenidos fueron:
Cluster / Clase Estrella Galaxia Cuasar Total
C0 37772 964 1255 39991
C1 782 899 26556 28237
C2 10 11488 413 11911
C3 0 0 2 2
C4 0 0 3 3
Aparte de los dos pequenos grupos con tan solo dos y tres datos, encontramos
otros siete objetos que quedaron sueltos como un grupo por sı mismos, que
podemos considerar como outliers o valores atıpicos junto a las pequenas
agrupaciones separadas de los demas conglomerados. Estos objetos atıpicos
representan un porcentaje del total despreciable, dado que no tenemos ruido
en los datos (aparte del ruido original introducido en las mediciones en SDSS
de cuyas simulaciones provienen los datos utilizados), podrıan tratarse de
objetos con caracterısticas que los hacen interesantes por diferir del resto y
cuyo estudio puede resultar interesante para ciertas unidades del consorcio.
Sobre los primeros tres grupos, observamos como ha resultado un exito la
utilizacion de las medidas estadısticas sobre los espectros, encontrando que
el primer grupo esta formado en un gran porcentaje por estrellas, el segundo
86 capıtulo 7. Segunda fase de experimentacion
por los cuasares y el ultimo las galaxias.
Si calculamos respecto al total de datos agrupados correctamente, tomando
Tabla 7.1: Resultados de clustering con momentos estadısticos
Cluster / Clase Estrella Galaxia Cuasar
C0 94.45 % 2.41 % 3.14 %
C1 2.77 % 3.18 % 94.05 %
C2 0.08 % 96.45 % 3.47 %
los tres clusters obtenidos como las clases estrellas, galaxias y cuasares, el
porcentaje de acierto es de 94.61 % lo que podemos considerar un exito para
la ejecucion del algoritmo de agrupamiento.
7.3 Eliminacion de agrupacion curvilınea de
gran densidad
Uno de lo posible puntos de mejora que observamos en el analisis de los datos
anteriormente, partıa de la idea de la extraccion de los datos pertenecientes
a un cluster curvilıneo de gran densidad, el grupo de las estrellas SDSS en
concreto con una gran densidad de objetos que provocan que el algoritmo
MAC (y por lo tanto HMAC), este demasiado influido por la densidad de los
datos y no realice un buen agrupamiento. No es objetivo del presente trabajo
la implementacion del algoritmo de agrupacion curvilıneo, pero si estudiar la
viabilidad de su aplicacion, para aislar los datos de un grupo determinado,
analizarlo por separado para estudiar si el algoritmo MAC obtiene mejores
resultados, analizando por separado los datos eliminando el grupo curvilıneo
de mayor densidad y este grupo por separado. Para realizar este estudio se
utilizo como base un trabajo previo [34]. Este algoritmo de agrupamiento, en
lıneas generales, utiliza el termino de Curva Principal, que es un resumen de
unos datos n-dimensionales en un curva. El algoritmo trata de adaptar una
curva a un conjunto de puntos minimizando la distancia entre cada punto
del subconjunto y la curva, utilizando unos grados de libertad, que permiten
seccion 7.4. Incorporacion a los experimentos 87
adaptar la curva a los datos. Sin embargo es necesario un cierto conocimiento
sobre los datos analizados, por ejemplo el numero de grupos esperados y
forma que puede tener la curva para definir ciertos valores de pesos utilizados
en el algoritmo, lo cual no supone un problema para los datos conocidos que
utilizamos pero si para los datos reales tomados por Gaia. Pero el aspecto
clave del algoritmo, que finalmente hara que resulte inviable su uso para Gaia,
es su complejidad temporal, que depende directamente de la complejidad del
algoritmo utilizado para encajar la curva en los datos. Las pruebas iniciales
con el algoritmo nos mostraron que no escalaba linealmente con el numero
de datos, su crecimiento es mucho mas rapido que el algoritmo MAC y no
solo en tiempo de CPU para el calculo sino tambien en uso de memoria,
resultados que concuerdan con los originales en [34]. Durante el presente
trabajo hemos tenido que reducir el conjunto de datos sobre el que aplicamos
la agrupacion con MAC, e incluso ası muchos experimentos han tardado
semanas en obtener resultados, con el clustering curvilıneo el coste temporal
y tambien espacial resultaba mucho mayor y hacıa totalmente inviable los
experimentos. Ademas, tenemos una estrategia como se ha explicado en el
apartado relativo a la escalabilidad de los datos para poder trabajar con MAC
cuando tengamos los datos reales, sin embargo esta estrategia no es aplicable
a la agrupacion curvilınea o al menos no sin profundas transformaciones del
algoritmo que no son objetivo del presente trabajo. No podemos saber a priori
si una muestra entregada al pipeline, de una determinada zona de la esfera
celeste, contendra una gran densidad de estrellas mezcladas con otros objetos
o si se tratara casi exclusivamente de estrellas o su numero no sera tan alto
en proporcion con los demas objetos. Por este motivo y principalmente a
causa del coste temporal y espacial del algoritmo, abandonamos esta vıa de
investigacion para centrarnos en otras mas interesantes.
7.4 Incorporacion a los experimentos
Como hemos analizado en los experimentos realizados con datos astrometri-
cos por separado, no resultara interesante mezclarlos junto a los componentes
88 capıtulo 7. Segunda fase de experimentacion
principales. Si podrıan utilizarse de forma previa para introducir un mayor
conocimiento por ejemplo con un nuevo atributo que indicara para la region
del espacio observable que apuntara hacia la Vıa Lactea, una alta probabi-
lidad de que el objeto observado fuera una estrella y no una galaxia, pero
con los datos simulados disponibles no podemos introducir este conocimien-
to previo, por lo tanto descartaremos realizar experimentos mezclando la
informacion de espectrometrıa con la astrometrıa. Respecto a los resultados
obtenidos con los datos estadısticos derivados de los espectros, nos interesa
conocer si mejoran unidos a los componentes principales. Utilizando exac-
tamente los mismos datos, corpus de estrellas, galaxias y cuasares filtrados
para un valor de G ≤ 17, concatenando sus correspondientes valores estadısti-
cos calculados en el apartado anterior, es decir, media, varianza, asimetrıa
y curtosis del espectro BP y RP, para obtener un total de 23 atributos por
instancia de objeto, 15 de las componentes y 8 estadısticos. Recordamos, que
los atributos derivados de los momentos estadısticos, se encuentran normali-
zados en el mismo rango de valores que los componentes principales de sus
correspondientes espectros BP o RP, paso necesario para obtener resultados
satisfactorios ya que en otro caso concatenarıamos atributos en un rango de
valores con una magnitud distinta. Comentar que los resultados con tan solo
8 componentes fueron casi identicos, por los motivos expuestos en el aparta-
do del trabajo que trata la reduccion de la dimensionalidad. Para la eleccion
del parametro bandwidth utilizamos el mismo valor del experimento anterior,
0.0005, debido a la normalizacion realizada, el valor del parametro calculado
es similar y redondeamos a la misma cifra. Utilizamos el algoritmo MAC para
realizar el clustering de nuevo obteniendo los siguientes resultados:
Cluster / Clase Estrella Galaxia Cuasar Total
C0 38.337 401 834 39.572
C1 217 946 26.457 27.620
C2 10 12.303 632 12.945
Igual que en el experimento con datos estadısticos unicamente, se obtienen
muy pocos datos dispersos, dos grupos con dos instancias, candidatos a re-
presentar algun caso particular y extremo del objeto estelar en cuestion (en
seccion 7.5. Analisis de los clusters obtenidos 89
ambos casos de trata de cuasares igual que en experimento anterior) y unas
pocas instancias de objetos dispersos. Observemos el porcentaje de instan-
cias de cada clase dentro de un cluster. Si comparamos los resultados con
Tabla 7.2: Resultados de clustering con CP y momentos estadısticos.
Cluster / Clase Estrella Galaxia Cuasar
C0 96.88 % 1.01 % 2.11 %
C1 0.79 % 3.42 % 95.79 %
C2 0.08 % 95.04 % 4.88 %
el experimento utilizando unicamente datos estadısticos, los resultados de la
agrupacion de las estrellas ha mejorado 2.43 %, bajando la confusion con las
otras clases a casi la mitad, la identificacion de los cuasares ha mejorado un
1.74 % disminuyendo notablemente la confusion con las estrellas y empeoran-
do ligeramente con las galaxias, sin embargo la identificacion de las galaxias
ha empeorado ligeramente un 1.41 %, por el aumento de la confusion con los
cuasares. Respecto al total de datos agrupados correctamente tomando los
tres clusters obtenidos como las clases estrellas, galaxias y cuasares, el valor
es de 96.19 % que es un 1.58 % superior.
La conclusion es que los resultados son muy similares, ligeramente su-
periores, pero por un margen tan pequeno que el incremento de tiempo en
la ejecucion por la utilizacion de mas atributos nos debe hacer valorar a la
hora de lanzar un experimento, si nos interesa o no incluir los componentes
principales.
7.5 Analisis de los clusters obtenidos
Un aspecto que hemos considerado interesante, es el estudio o caracteriza-
cion de los grupos obtenidos por la variacion del parametro de bandwidth
realizada durante HMAC. Como vimos, HMAC no es mas que una repeti-
cion de la ejecucion de MAC con diferentes valores ordenados de bandwidth,
de forma que obtendremos de forma natural una agrupacion jerarquica, co-
mo podemos ver graficamente en el anexo 2. Nuestra experimentacion en el
90 capıtulo 7. Segunda fase de experimentacion
presente capıtulo se ha centrado en MAC, pero si utilizamos HMAC encon-
traremos como los conglomerados agrupados utilizando un ancho de banda
inferior, se dividen en varios clusters, respecto a los mismos puntos en nive-
les de la jerarquıa de HMAC con un bandwidth mayor, por lo tanto, con el
objetivo del analisis de los resultados en el domino del problema en mente,
nos interesa estudiar las caracterısticas de los diferentes clusters formados.
En nuestro caso, dado que como veremos en el siguiente punto solo es posible
caracterizar actualmente las estrellas, veremos como las estrellas se dividen
en diferentes conglomerados y trataremos de caracterizarlos. Para ello, pode-
mos utilizar parametros fısicos, sin embargo, las simulaciones disponibles no
cuentan con estos datos, por lo tanto hemos intentado encontrar un vınculo
entre los datos simulados y el repositorio original en SDSS para poder obte-
ner los datos originales a partir del cual se simulo para Gaia cada instancia.
Este estudio es una idea novedosa dentro de los diferentes experimentos que
se han realizado en las diferentes unidades de DPAC.
7.5.1 Problemas encontrados
El presente experimento, ha presentado numerosos problemas. En primer lu-
gar, durante la generacion de los datos simulados, no se penso en utilizar un
campo para identificar el origen del dato, por lo que cada dato cuenta con
un identificador dentro del repositorio de Gaia, pero no es posible de forma
directa obtener el identificador del objeto original en el repositorio de SDSS.
Por lo tanto realizamos un estudio de los atributos disponibles dentro de las
simulaciones intentando encontrar algun atributo que nos ayude a identificar
el objeto original. Otro problema que encontramos es que cada corpus de
datos ha sido generado de forma diferente. El corpus de cuasares no contiene
practicamente ninguna informacion adicional y no es posible la identificacion
del objeto original en el repositorio de SDSS. Puestos en contacto con los en-
cargados de su simulacion, no han podido proporcionarnos esta informacion
pero si han encontrado suficientemente interesante nuestra idea, para repe-
tir la simulacion de los datos, aunque estas nuevas simulaciones de cuasares
no estaran disponibles hasta como mınimo, aproximadamente las fechas de
seccion 7.5. Analisis de los clusters obtenidos 91
entrega del presente trabajo, pero si podran ser utilizados con posterioridad
para la escritura de un artıculo sobre la caracterizacion de los grupos en-
contrados en las simulaciones, realizando clustering con el algoritmo MAC.
Respecto a las galaxias, en su simulacion si pensaron en mantener la co-
rrespondencia con el repositorio SDSS, por lo que encontramos un atributo
llamado objID y un atributo specID. En el repositorio de SDSS, encontramos
tablas con informacion de fotometrıa y objID corresponde con la clave princi-
pal de una tupla de informacion y specID corresponde con la clave principal
de una tupla cuya tabla contiene la informacion respecto los espectros (en
el formato de SDSS, recordemos que nuestros datos estan simulados a partir
de estas informaciones para resultar como los observarıa Gaia). La tabla de
espectrometrıa contiene una clave ajena a la mejor observacion del objeto
estelar del que proviene, pues un mismo objeto estelar tiene multiples obser-
vaciones y a su vez la tabla de informacion fotometrica contiene una clave
ajena a la tabla con informacion del espectro, si hay un espectro disponible
para esa observacion ya que en muchos casos puede no existir informacion
espectrometrica relacionada. Hemos encontrado un grave problema de cohe-
rencia en los datos simulados de las galaxias, si fueran correctos, la clave
ajena de la tupla de tabla de fotometrıa apuntarıa a una tupla de especto-
metrıa que corresponderıa a la clave que tambien tenemos. A su vez, la tupla
de informacion espectrometrica tendrıa una clave que la relacionarıa con la
fotometrıa para la mejor observacion del objeto estelar correspondiente o al
menos, para una observacion cualquiera de ese objeto estelar. Sin embargo
las tuplas de informacion fotometrica que obtenemos para los objID dispo-
nibles, no disponen de clave ajena a informacion espectrometrica, es decir el
identificador nos lleva a objetos estelares sin informacion de espectros aso-
ciados y a su vez, la clave specID que nos lleva a una tupla de informacion
espectrometrica, contiene una clave ajena a una observacion de objeto es-
telar que no se corresponde con ninguna observacion del mismo objeto que
identificamos con objID. Por lo tanto el objeto estelar y la informacion del
espectro no se corresponden si utilizamos las claves proporcionadas. El per-
sonal encargado de la generacion de estos datos, esta revisando tambien este
problema y estamos esperando una respuesta al respecto o un nuevo corpus
92 capıtulo 7. Segunda fase de experimentacion
de datos con el problema corregido. En el caso de las estrellas, aunque no
se incluyo el identificador del objeto correspondiente al repositorio SDSS,
encontramos tres parametros que definen de forma unica una tupla en el
repositorio original. Se trata de los valores plate, mjd y fiber. El primero
identifica la placa que realizo la observacion, cada placa tiene un conjunto
de fibras opticas (fiber) para dirigir la luz de objetos individuales a la co-
rrespondiente hendidura en la placa formando el conjunto un espectografo.
Finalmente, mjd es la fecha (Modified Julian Date) de la ultima observacion.
Los tres valores, plate, mjd y fiber, estan identificados con una unica tupla en
la tabla de informacion espectrometrica y a partir de esta, podemos extraer
informacion de la tabla sppParams, en el repositorio de Sloan Digital Sky
Survey, a traves de la web.
7.5.2 Parametros estelares estudiados
La anterior tabla, contiene la informacion procesada por el Spectro Parame-
ter Pipeline, o spp, que calcula mas de 200 parametros estelares atmosfericos
comunes para estrellas a traves de varios medios. Un estudio de los datos, rea-
lizado sobre la propia web de SDSS y en diferentes artıculos como [41XXX]
y [42XXX], nos indica que los datos mas interesantes para caracterizar las
estrellas que formen parte de un grupo son:
• Sptypea: Es el tipo de clasificacion estelar asignado, tipo de estrella, los
posibles valores son A, F, G, K, M y L.
• Feha: Mide la metalicidad del objeto, que describe la abundancia rela-
tiva de elementos mas pesados que el helio en una estrella. Dado que
la fraccion de elementos mas pesados que el helio aumenta en funcion
del tiempo cosmico, la metalicidad de una estrella esta relacionada con
el momento en que se formo, con la edad de la estrella. Se expresa
utilizando como patron la abundancia de elementos metalicos del Sol
como referencia, comparando las lıneas de absorcion del hidrogeno con
las del hierro a traves de la espectroscopia. El ındice de metalicidad se
expresa como [Fe/H] que representa el logaritmo del cociente entre la
seccion 7.5. Analisis de los clusters obtenidos 93
abundancia de metales en la estrella y la abundancia solar, siendo el
ındice de metalicidad del Sol 0 y usando una escala logarıtmica, una
metalicidad de -1 equivaldra a una abundancia diez veces menor a la
del Sol y un valor de 1 a una abundancia diez veces mayor.
• Teffa: La temperatura de la estrella en grados Kelvin, este valor es el
resultado de la media ponderada con hasta diez diferentes metodos uti-
lizados para calcular la temperatura de la superficie de la estrella. El
valor de la temperatura, nos ayuda en la clasificacion del tipo estelar,
podemos observar la clasificacion de las estrellas segun su temperatura
incrementa etiquetadas con las letras O, B, A, F, G, K y M perte-
necientes a la clasificacion estelar. El diagrama muestra el resultado
Figura 7.1: Diagrama de Hertzsprung-Russel.
de numerosas observaciones sobre la relacion existente entre la mag-
nitud absoluta de una estrella y su tipo espectral, informacion usada
para diferenciar tipos de estrellas y estudiar la evolucion estelar. Con la
informacion de la magnitud aparente de los objetos, junto a la distan-
cia, podemos calcular la magnitud absoluta. Un diagrama HR, como
94 capıtulo 7. Segunda fase de experimentacion
el mostrado, puede contener en sus ejes tambien informacion de lumi-
nosidad y temperatura, aunque la relacion exacta con la magnitud y
tipo espectral debe ser ajustada dependiendo del modelo de atmosfera
estelar utilizado.
• Logga: Valor adoptado de la magnitud, recordamos que utiliza una
escala logarıtmica e indica de forma inversa el brillo del objeto, cuanto
mayor brillo, menor magnitud. Calculado de igual forma que el anterior
atributo, como la media ponderada de hasta 8 diferentes metodos.
• Ebv : Exceso de color. El espacio interestelar no esta completamente
vacıo y parte de la radiacion emitida se dispersa y absorbe por el pol-
vo interestelar antes de llegar a los detectores, atenuando el brillo y
desplazandolo hacia la banda del rojo, debido a una mayor absorcion
de la banda azul que la roja. Esta situacion genera un exceso de color.
El exceso de color se puede determinar por la diferencia entre el ındice
de color observado (B − V ) y el ındice de color intrınseco (B − V )0
, este ultimo se puede deducir por el tipo espectral y la clase de lu-
minosidad. Una vez conocida la extincion visual, podemos obtener la
distancia correcta a la estrella. El ındice de color B-V esta relacionado
con la temperatura superficial de las estrellas, las estrellas mas calientes
tienen los valores mas bajos mientras las estrellas frıas los mas altos.
7.5.3 Herramienta desarrollada
Por lo tanto se desarrollo una aplicacion que extrae los datos que nos per-
miten identificar, a traves de la utilizacion de un servicio web implementado
contra el repositorio de SDSS, el objeto original que se utilizo para generar
el dato en Gaia. Continua la ejecucion obteniendo los parametros que hemos
considerado mas interesantes en nuestro estudio para caracterizar las estre-
llas, detallados en el punto anterior. Nuestra herramienta puede extenderse
facilmente para descargar otros parametros del repositorio, si se consideran
de interes. La aplicacion se encuentra preparada para el acceso a informacion
sobre las tablas relativas a Galaxias cuando obtengamos un identificador co-
seccion 7.5. Analisis de los clusters obtenidos 95
rrecto y tambien podra utilizarse para extraer la informacion de los cuasares.
El acceso a cada uno de los datos a traves de la web es un proceso tedioso
temporalmente, con velocidades que varıan segun el estado de la red y carga
del repositorio SDDS, pero con una media de aproximadamente 1800 con-
sultas resueltas de objetos por hora, teniendo en cuenta que caracterizamos
decenas de miles de objetos y que incluso puede fallar temporalmente la co-
nexion y perderse algunos datos, la herramienta implementada utiliza una
conexion a base de datos PostgresSQL que puede ser local o en una maquina
remota, que contiene tablas para guardar la informacion de estrellas y otros
objetos celestes. La herramienta consulta los identificadores extraıdos con-
tra la base de datos y en caso de no encontrar la informacion, se conecta al
repositorio de SDSS para descargar esta informacion y la introduce en las
tablas correspondientes, de forma que solo la primera vez que se consulta
informacion sobre un objeto este se descarga. Por lo tanto una vez utilizada
la herramienta con un conjunto de datos por primera vez, su funcionamien-
to en sucesivas ejecuciones es inmediato, al extraer toda la informacion de
la base de datos. El problema de perder algun dato por una desconexion
puntual en la red se soluciona ya que en la siguiente ejecucion se volvera a
pedir de nuevo la informacion al repositorio ya que el dato no esta presente
en la base de datos. Dado que existen mas trabajos realizandose sobre las
muestras generadas a partir de las simulaciones de SDSS dentro del consorcio
de DPAC, pondremos esta herramienta en manos de la comunidad, ya que
permite realizar un analisis de la informacion util en el dominio del problema.
7.5.4 Resultados
Se realizo un experimento con HMAC con tres valores de ancho de banda
σ1 = 5 × 10−4, σ2 = 2 × 10−4 y σ3 = 5 × 10−5 , con las muestras utilizadas
anteriormente, es decir, estrellas, galaxias y cuasares de las muestras prove-
nientes de SDSS filtradas para valor de G ≤ 17.
Los resultados con σ1, son los mismos que en la seccion anterior del presente
capıtulo, con σ2 obtenemos unos resultados similares, menos de una decena
de objetos, un porcentaje ınfimo, cambia de conglomerado, sin embargo con
96 capıtulo 7. Segunda fase de experimentacion
σ3 encontramos que el conglomerado de las estrellas se ha dividido en tres
clusters diferentes, como vemos en su representacion grafica:
Figura 7.2: Resultados MAC con bandwidth σ3 = 5× 10−5
Vemos claramente que aparte de unos pequenos datos que forman sus
propias agrupaciones (parte superior derecha de la imagen e inferior izquier-
da y derecha), la gran mayorıa de los puntos se encuentran divididos en tres
grupos que parecen corresponder a diferentes temperaturas, recordemos que
averiguamos una relacion entre la representacion de las primeras componen-
tes principales y la temperatura de los objetos durante el analisis de los datos
en el tercer capıtulo. Sin la herramienta desarrollada nuestras posibilidades
de analizar la informacion en el dominio del problema se reducirıan a este
aspecto, sin embargo gracias a nuestra herramienta podemos extraer la si-
guiente informacion de cada uno de los clusters principales que de izquierda
(verde) a derecha (rojo) denominaremos cluster 0, 1 y 2, para los diferentes
parametros mostramos la media de los valores del conglomerado y la desvia-
cion tıpica.
seccion 7.5. Analisis de los clusters obtenidos 97
Tabla 7.3: Caracterısticas extraıdas.Cluster 0 Cluster 1 Cluster 2
Clasificacion EstelarA(96.5 %), B (0.16 %) A(9.22 %), F(65.47 %) F(0.27 %), G(0.09 %)
F(3.3 %), G(0.04 %) G(13.39 %),K(11.92 %) K(99.64 %)
Metalicidad (log.) X = −0,98;σ = −0,66 X = −0,91;σ = −0,65 X = −0,56;σ = −0,39
Temperatura (Ko) X = −6809;σ = 2194 X = 5299;σ = 1817 X = 3960;σ = 1327
Magnitud (log.) X = 3,53;σ = 1,21 X = 3,67;σ = 1,3 X = 3,96;σ = 1,37
Exceso de color X = 0,035;σ = 0,026 X = 0,047;σ = 0,052 X = 0,048;σ = 0,043
Sin ser expertos en el dominio del problema, podemos deducir de los
conglomerados resultantes mucha informacion, el cluster 0 practicamente
esta compuesto por estrellas de tipo A, las mas calientes de la muestra,
con la temperatura media mas elevada como esperabamos. En el cluster 1,
encontramos muchas estrellas de tipo F aunque no predomina un solo tipo
estelar tan claramente como en las demas agrupaciones, hemos de tener en
cuenta que es el conglomerado que mayor numero de puntos contiene, su tem-
peratura se mantiene en un grado intermedio entre los otros conglomerados
como la grafica de los componente principales nos indica tambien. El ultimo
cluster, esta formado por estrellas de tipo K casi exclusivamente, las mas
frıas de la muestra y presenta una menor dispersion en los datos respecto a
este parametro. Al igual que observamos como decrece la temperatura de los
conglomerados de izquierda a derecha, observamos como crece la magnitud,
que recordemos es una medida inversa, es decir, que a mayor brillo menor
magnitud, por lo tanto los objetos mas calientes son mas brillantes, como
la teorıa nos dice y como podemos observar en el diagrama de Hertzsprung-
Russel. El exceso de color, relacionado con la temperatura superficial de las
estrellas, de forma que las estrellas mas calientes tienen valores menores que
estrellas mas frıas, nos da el resultado esperado. Todas las estrellas de la
muestra, presentan un ındice de metalicidad negativo, por lo que todos los
datos presentan menor abundancia de metales que el Sol, estos datos parecen
sugerir que las muestras pertenecen probablemente a una misma region de
la esfera celeste, con estrellas mas jovenes que la de nuestro sistema solar.
Dada la situacion de nuestro sistema solar respecto a la Vıa Lactea, donde
98 capıtulo 7. Segunda fase de experimentacion
nos encontramos en un brazo de la espiral, en el exterior del disco que forma
nuestra galaxia y dada la metalicidad de las muestras, lo mas probable, es
que la muestra pertenezca a una porcion de la esfera celeste que mira hacia
el centro de la Vıa Lactea, ya que la metalicidad decrece dentro del disco
a medida que nos alejamos del centro. Al igual que los datos sobre tipo es-
telar, temperatura, magnitud y exceso de color no hacen sino corroborar la
teorıa, este resultado nos da una informacion, que a priori es desconocida en
los datos, suponiendo que no se ha realizado un estudio con las posiciones y
valores procedentes de la astrometrıa o que no se encuentren presentes estos
parametros. Observamos que somos capaces de dividir, con un valor correcto
de bandwidth, no solo la muestra con un alto porcentaje de aciertos en las
clases originales, sino que tambien podemos dividir los objetos estelares en
sus diferentes tipos y clasificacion. Contamos con una herramienta, que facil-
mente podemos extender en cuanto el numero de parametros extraıdos del
repositorio, para la realizacion de estudios mas complejos sobre el analisis de
los conglomerados resultantes en el area del problema. Con esta herramien-
ta, un profesional del dominio del problema, sin necesidad de tener un gran
conocimiento sobre las tecnicas empleadas, puede centrarse en el analisis de
la informacion.
Capıtulo 8
Introduccion de ruido
Los experimentos con el algoritmo MAC, han sido realizados en los capıtu-
los 6 y 7 en condiciones ideales, es decir:
• Con un corpus de datos sin ruido sintetico.
• Datos generados mediante la misma tecnica, a traves de simulaciones
de observaciones existentes de datos reales en el repositorio de SDSS.
• Filtrados para un valor de magnitud determinado G ≤ 17 o G ≤ 16
segun el experimento, con el doble objetivo de reducir el tamano de
la muestra para facilitar la experimentacion y utilizar los objetos mas
brillantes, que a priori son los objetos cuyos datos originales fueron
menos sensibles al ruido.
Los experimentos se realizaron en estas condiciones porque su objetivo era
el estudio de la respuesta del algoritmo de agrupamiento frente a los datos,
analisis y proposicion de soluciones para mejorar los resultados 6 y el estu-
dio ante la deficiente respuesta a la utilizacion de tan solo los componentes
principales de los espectros, con nuevos conjuntos de atributos, relativos a
la astrometrıa y a la utilizacion de informacion derivada de los momentos
estadısticos de los espectros 7.
Una vez obtenido un conjunto de tecnicas de preprocesamiento y prepara-
cion de los datos 3 y unos excelentes resultados del algoritmo de agrupamiento
99
100 capıtulo 8. Introduccion de ruido
en condiciones ideales y para cierto conjunto de atributos ( 7.1 y 7.2), llega el
momento de estudiar la respuesta del algoritmo frente a una situacion menos
ideal y mas real respecto al corpus de datos.
8.1 Efecto de incrementar G
Aunque los datos semiempıricos utilizados en la experimentacion no tienen
ruido sintetico introducido, hemos de recordar que estos datos provienen de
simulaciones realizadas para adaptar al modelo de Gaia datos procedentes
de un repositorio con datos reales. Estos datos tienen un valor, la magnitud
aparente o G que es una medida del flujo o cantidad de energıa recibida
por unidad de area y tiempo por un detector respecto a un objeto celeste,
concepto que podemos aproximar al brillo del objeto y utiliza una escala
logarıtmica de forma inversa, es decir, a mayor brillo menor valor de magnitud
tendra. Los objetos mas brillantes por lo tanto, son los objetos de los que
hemos recibido mayor flujo de energıa.
El efecto del ruido en las senales con un flujo de energıa debil es mayor,
podemos deducir que a mayor valor de G, mayor sera el efecto del ruido en
los datos del repositorio utilizados para originar la muestra del experimento.
Vamos por lo tanto a estudiar los resultados de aplicar el algoritmo de
clustering MAC sobre los datos de estrellas, galaxias y cuasares originados
en las simulaciones semiempıricas de SDSS, con valores de G ≤ 17,G ≤ 19
y G ≤ 21, para un bandwidth de 0.0005, presentando los resultados de los
tres conglomerados principales ya que la mayorıa de los datos para los tres
valores de G, recaen sobre uno de estos conglomerados.
Tabla 8.1: Efecto de incrementar valor de filtrado G en resultados agrupacion,
por clases.G ≤ 17 G ≤ 19 G ≤ 21
Cluster/Clase Est. Gal. Cuas. Est. Gal. Cuas. Est. Gal. Cuas.
C0 96.88 % 1.01 % 2.11 % 97.16 % <0.01 % 2.83 % 96.84 % <0.01 % 3.15 %
C1 0.79 % 3.42 % 95.79 % 0.26 % 2.46 % 97.8 % 0.68 % 2.45 % 96.87 %
C2 0.08 % 95.04 % 4.88 % <0.01 % 91.42 % 8.57 % <0.01 % 91.44 % 8.55 %
El numero de objetos que pasan el filtro y por lo tanto son utilizados en
seccion 8.1. Efecto de incrementar G 101
el experimento son:
Valor filtrado #instancias
G ≤ 17 80.151
G ≤ 19 129.564
G ≤ 21 154.226
Los resultados en cuanto a los grupos que identifican las clases muestran
como la variacion es muy pequena respecto el parametro G, no podemos
formular conclusiones sin tener en cuenta el numero de instancias en cada
cluster para calcular una medida sobre la totalidad de los datos, tomando
como agrupaciones naturales que C0 corresponde a las estrellas, C1 a los
cuasares y C2 a las galaxias. En este caso los resultados son los siguientes:
G ≤ 17 G ≤ 19 G ≤ 21
% Aciertos Totales: 96.19 % 95.96 % 95.61 %
Tabla 8.2 Efecto de incrementar valor de filtrado G en resultados globales.
Podemos observar como esperabamos, que al aumentar G y por lo tanto
aumentar el corpus de datos con objetos con mayor probabilidad de conte-
ner ruido en sus espectros, disminuye el porcentaje de datos correctamente
agrupados, aunque esta disminucion es muy pequena, esto es debido, a que
los datos procedentes de SDSS han sufrido numerosas revisiones y para un
mismo objeto estelar en el catalogo de SDSS, pueden existir numerosas ob-
servaciones y se han seguido de forma rigurosa criterios para la eleccion de
la mejor observacion de un objeto estelar y la eliminacion de componentes
de ruido en los datos durante la creacion del repositorio.
Con los resultados obtenidos y suponiendo que en Gaia existiran unos
mecanismos de eliminacion de ruido de efectividad similar a los tratados en
el repositorio SDSS, teniendo en cuenta que Gaia va a observar objetos con
valores de magnitud mayores que los contenidos en SDSS, podemos concluir
que para los mecanismos de preprocesamiento de datos y eleccion de atri-
butos del presente trabajo, encontramos unos resultados de agrupacion muy
eficientes.
102 capıtulo 8. Introduccion de ruido
8.2 Efecto de introducir ruido sintetico
Para el estudio de datos con ruido sintetico, utilizamos un corpus de datos
preparado por otra unidad de coordinacion del consorcio, con los datos semi-
empıricos procedentes de SDSS, con una componente de ruido desconocida
y la unica variacion introducida fue la utilizacion del atributo de la media-
na en vez de la media, mas robusto frente al ruido en los datos, aunque la
diferencia en los resultados por este cambio fue mınima al repetir la expe-
rimentacion. Podemos observar el ruido con tan solo visualizar los datos y
encontrar, por ejemplo, valores en los atributos de los espectros negativos,
esto es debido a que ha sido modificado el valor del atributo, al igual que
el resto de los valores del espectro, con la adicion de ruido siguiendo algun
tipo de modelo desconocido. Concretamente, en los casos que el ruido resta
valor al componente y este tiene un valor muy pequeno o cero, este puede
convertirse en un valor negativo que claramente nos indica que el espectro ha
sufrido introduccion de ruido sintetico pues no tiene sentido fısico tener una
medicion de flujo de energıa negativa en los detectores. Como explicamos en
el punto dedicado al preprocesamiento de los datos, la normalizacion a area
unidad aplicada, no distorsiona el espectro frente a la introduccion de ruido,
en este punto vamos a evaluar especialmente la robustez de la normalizacion
y preprocesamiento aplicado. Lamentablemente, la muestra proporcionada
para la experimentacion, que contiene 119.110 datos no se corresponde con
los datos de la muestra proporcionada para la experimentacion sin ruido, tie-
ne la misma procedencia, la simulacion a partir de los datos de SDSS, pero
el diferente tamano indica que contienen al menos un porcentaje de datos
distintos y estas muestras no presentan identificadores que nos permitan ex-
traer un subconjunto identico de datos sin ruido y con ruido para comparar
con identica muestra el experimento. Por lo tanto deberemos conformarnos
en este caso con la evaluacion de la bondad de nuestro preprocesado de los
datos, comparando los porcentajes que en caso de no existir ruido en ambas
muestras deberıan ser similares.
Respecto al conjunto de datos correctamente agrupados si tomamos la
clase C0 como las estrellas, C1 cuasares y C2 galaxias, obtenemos:
seccion 8.2. Efecto de introducir ruido sintetico 103
Tabla 8.2: Comparacion resultados insertando ruido sintetico
Sin ruido Con ruido
Cluster/Clase Est. Gal. Cuas. Est. Gal. Cuas.
C0 96.88 % 1.01 % 2.11 % 96.43 % 0.41 % 3.16 %
C1 0.79 % 3.42 % 95.79 % 0.6 % 2.45 % 96.95 %
C2 0.08 % 95.04 % 4.88 % 0.06 % 91.27 % 8.68 %
Sin ruido Con ruido
% Aciertos Totales: 96.19 % 95.47 %
Tabla 8.4 Comparacion resultados datos sin ruido/con ruido globales.
Estos resultados parecen indicar que se realiza un tratamiento correcto de los
datos que incorporan una pequena componente de ruido dado que la calidad
de los resultados global disminuye muy poco, sin embargo, no poder realizar
las pruebas con el mismo conjunto de muestras limita nuestras conclusio-
nes, por ejemplo observamos que aumenta especialmente la confusion con los
cuasares mientras disminuye en menor medida entre las demas clases, tam-
bien observamos que la calidad del cluster que identificamos con las galaxias
disminuye sensiblemente, pero otros parecen aumentar ligeramente el numero
de aciertos y esto es debido unicamente a que las muestras utilizadas fueron
otras, no podemos por tanto extraer conclusiones claras y validas a partir de
la matriz de confusion de clases, unicamente se deduce que la metodologıa
utilizada se comporta frente a datos con ruido sintetico, de forma robusta,
por el porcentaje de aciertos total.
Capıtulo 9
Conclusiones y trabajos futuros
9.1 Conclusiones
Este trabajo presenta un estudio y analisis de los distintos algoritmos que
se usaran en OCA para poder escalar el algoritmo de agrupamiento MAC.
Esto permite no solo estudiar la viabilidad de las disintas tecnicas empleadas
sino tambien su idoneidad. Para ello se disenaron varios experimentos que se
aplicaron sobre muestras de datos simulados de Gaia.
Tambien describe el diseno del pipeline de agrupamiento del paquete de
trabajo OCA, el cual considera el paradigma divide y venceras para poder
escalar el agrupamiento.
Diferentes conclusiones que extraemos en nuestro trabajo son:
• La normalizacion de area unidad de la suma de espectros BP y RP, se
presenta como la mas robusta frente a los datos.
• Encontramos experimentalmente el numero optimo de componentes
principales sobre los espectros que debemos utilizar.
• La descomposicion con PCA mantiene la informacion de los espectros
reduciendo el numero de atributos, pero los componentes principales
no son suficientes para obtener buenos resultados con la agrupacion.
• La combinacion de informacion estadıstica derivada de los espectros
105
106 capıtulo 9. Conclusiones y trabajos futuros
junto a los componentes principales de estos, produce los mejores re-
sultados.
• La informacion astrometrica no mejora la agrupacion, probablemente,
debido a la limitacion de las muestras a una pequena region de la
esfera celeste. Se necesitan mas experimentos con nuevas muestras para
extraer conclusiones.
• La complejidad temporal del algoritmo para la eliminacion de agrupa-
ciones curvilıneas de gran densidad hace que no podamos utilizarlo en
nuestro problema.
• Debemos tener cuidado durante la experimentacion con los datos si-
mulados que utilizamos por los problemas que introducen los corpus de
datos generados de forma sintetica.
• K-means# y K-means++ se presentan como una buena tecnica de
muestreo para la obtencion de representantes de grupo, ademas su es-
calado en ambos casos, es lineal con el tamano del problema.
• Encontramos de forma experimental el tamano adecuado de las par-
ticiones a utilizar con los datos de Gaia para el algoritmo de PCA
incremental, con un tamano de bloque entre 102 y 104 datos, pero de-
beremos realizar nuevos experimentos en los medios donde se use el
pipeline, dado que el tamano del bloque ideal puede variar respecto el
sistema de ficheros utilizado.
• MAC debido a su complejidad espacial y temporal, necesita una estra-
tegia de tipo divide y venceras para afrontar la agrupacion frente los
datos de Gaia.
• La utilizacion de arboles kd en el algoritmo MAC no presenta las me-
joras esperadas en coste temporal y presenta una disminucion en la
calidad de los resultados, un posible motivo es que la estructura de
datos no es adecuada con una alta dimensionalidad.
seccion 9.2. Trabajos futuros 107
• MAC se presenta como una buena propuesta para realizar el agrupa-
miento, ya que logro encontrar agrupaciones de gran calidad con muy
poca confusion en los datos.
9.2 Trabajos futuros
Nuestro trabajo en OCA continuara la experimentacion con los datos de
nuevos ciclos que se reciban.
Mejoraremos la herramienta desarrollada para la caracterizacion de los
grupos, cuando esten disponibles los atributos que faltan para caracterizar
ciertas clases de objetos estelares y analizaremos en mayor profundidad los
datos semiempıricos.
Estudiaremos la introduccion de optimizaciones en los algoritmos, espe-
cialmente en aquellos con un mayor coste computacional, como HMAC, con
mejoras como:
• Paralelizacion del codigo. La paralelizacion de HMAC es trivial, da-
do que podemos entenderlo como diferentes ejecuciones de MAC con
diferentes valores de bandwidth independientes. Tambien sera interesan-
te el estudio de la paralelizacion de los subalgoritmos de MAC. Esta
paralelizacion junto la aplicacion de la estrategia divide y venceras per-
mitira acelerar la ejecucion de MAC y plantear su uso para un numero
de datos para el que no es viable su utilizacion actualmente.
• Optimizaciones de los algoritmos utilizando los paradigmas de acceso
a datos implementados, en concreto HEALPix.
• Estudiar en mayor profundidad el parametro bandwidth e implementar
mejoras en el calculo automatico de su valor y su ampliacion para la ge-
neracion de diferentes valores, correspondientes a diferentes jerarquıas
de HMAC.
• Estudiar la optimizacion del arbol KD, mejorando el acceso a disco
respecto al tamano de los bloques del sistema operativo, realizando
108 capıtulo 9. Conclusiones y trabajos futuros
estudios sobre implementaciones que presentan mejoras como el el arbol
KDB, una mezcla entre el arbol KD como estructura de datos y los B-
Trees como estructura para almacenar de forma eficiente la informacion.
Otras posibles lıneas de investigacion, se refieren a la busqueda de nuevos
atributos sobre la informacion, la incorporacion de conocimiento en los datos
a partir de conclusiones extraıdas sobre los datos observados, o el estudio
de metodos alternativos para la reduccion de la dimensionalidad como la
utilizacion de Diffusion Maps, para intentar encontrar una proyeccion de los
datos de los espectros donde no exista tanto solapamiento y que se muestre
mas eficaz que el analisis de componentes principales.
Apendice A
Glosario
• Ascension recta: Junto a la declinacion, una medida de la posicion de
un objeto, especifica un lugar en el cielo respecto a un observador, de
forma similar a la longitud, se expresa en horas, minutos y segundos,
dado el movimiento estelar se debe especificar el momento temporal,
el tiempo o epoca, actualmente se utiliza normalmente la referencia
respecto al ano 2000 o J2000.
• Bandwidth: Parametro del algoritmo MAC, que controla la distancia y
por lo tanto el numero de vecinos que contribuyen en el calculo de un
punto hacia la moda.
• BP: Blue Photometer. Fotometro de baja resolucion incorporado en
Gaia que opera en la banda azul, entre 330-680nm, hace referencia a los
60 datos discretos que forman un espectro para cada instancia de objeto
observado o simulado. Junto a RP, forman los datos de espectrometrıa.
• CU (CU1-CU8) Coordination Unit. Ver la definicion de DPAC, las uni-
dades de coordinacion son las diferentes unidades que forman DPAC,
cada una de ellas es responsable de un aspecto clave en el procesamien-
to de los datos. En lıneas generales las unidades de coordinacion se
ocupan de:
– CU1: Definicion del sistema general de procesamiento, filosofıa,
arquitectura y estrategia.
109
110 capıtulo A. Glosario
– CU2: Responsable de cubrir las necesidades de simulacion para el
trabajo en otras unidades.
– CU3: Cubre diferentes aspectos, desde la creacion de los algoritmos
centrales usados en los calculos intermedios de los datos, su actua-
lizacion, validacion y test, hasta el proceso iterativo realizado con
datos imprecisos sobre posiciones, parametros de calibracion de los
instrumentos y globales para la obtencion de datos astrometricos
fiables.
– CU4: Procesamiento de objetos, se encargara de analizar ciertos
tipos de objetos particulares, provenientes de las unidades CU3,
CU5, CU6 y CU7 como las estrellas no solitarias, estrellas binarias
u objetos del sistema solar.
– CU5: Se encarga del procesamiento de los datos fotometricos.
– CU6: Encargada del procesamiento de los datos de espectrometrıa.
El objetivo es monitorizar el estado del espectografo y calibrar-
lo, para obtener unos espectros limpios y calibrados al resto de
unidades.
– CU7: Unidad para el procesamiento de la variabilidad, a cargo
de caracterizar la variabilidad de las caracterısticas fotometricas
y espectrales y modelizarlas.
– CU8: Encargada de la estimacion de parametros astrofısicos y cla-
sificacion.
– CU9: Crear y publicar los catalogos para la comunidad cientıfica.
• Declinacion: Junto a la ascension recta, una medida de la posicion de
un objeto, especifica un lugar en el cielo respecto a un observador, de
forma similar a la latitud, expresada en horas, minutos y segundos,
respecto a un determinado momento en el tiempo o epoca.
• DPAC: Data Processing and Analysis Consortium. Consorcio creado
para el procesamiento y analisis de la informacion recogida. Es una
comunidad de mas de 400 cientıficos e ingenieros de software a lo largo
111
de mas de 20 paises, esta formada alrededor de un conjunto de unidades
de coordinacion, (CU), cada una de ellas responsable de un aspecto
clave del procesamiento de los datos. Es responsable de la preparacion
de los algoritmos de analisis para los datos astrometricos y fotometricos
y formar un marco de trabajo coherente comun a todas las unidades, se
encarga tambien de la generacion y suministro de datos simulados para
soportar el diseno previo a la mision, el diseno, desarrollo y soporte de
los entornos de software y hardware necesarios y finalmente del diseno
y desarrollo de la base de datos de Gaia que contendra los puntos de
interes para la comunidad cientıfica desarrollados durante la mision.
Figura A.1: DPAC dentro de la organizacion de la mision Gaia
• ESA: Agencia Espacial Europea.
• G: Ver magnitud aparente.
• Gaia: Global Astrometric Interferometer for Astrophysics. Satelite de
la ESA cuyo lanzamiento proporcionara los datos para cuyo analisis se
112 capıtulo A. Glosario
ha creado DPAC. En el presente trabajo se utiliza este termino para
referirse a los datos procedentes de las observaciones del satelite, en
numerosas ocasiones.
• Paralaje: Angulo formado por la direccion de dos lıneas visuales rela-
tivas a la observacion de un mismo objeto desde dos puntos distintos,
suficientemente alejados entre sı y no alineados con el. Los puntos uti-
lizados de referencia son una estrella situada a una unidad astronomica
de distancia (Sol) y Gaia. Utilizamos su inversa como aproximacion a
la distancia, expresada en parsecs.
• Magnitud absoluta: Magnitud aparente de un objeto si se encontrara a
una distancia fija de 10 parsecs o 32.6 anos luz del observador.
• Magnitud aparente: Conocida tambien como G. Es una medida del
brillo del objeto de forma inversa y con una escala logarıtmica, a ma-
yor brillo menor magnitud. Es una medida de los flujos o cantidad de
energıa recibida por unidad de area y tiempo de los objetos celestes.
• Movimiento propio: El cambio angular de la posicion a lo largo del
tiempo visto desde el observador, medido en segundos de arco por ano.
• RP: Red Photometer. Fotometro de baja resolucion incorporado en
Gaia que opera en la banda roja, entre 640-1050nm, hace referencia a los
60 datos discretos que forman un espectro para cada instancia de objeto
observado o simulado. Junto a BP, forman los datos de espectrometrıa.
• SDSS: Sloan Digital Sky Survey, es un proyecto de inspeccion del espa-
cio mediante imagenes en el espectro visible, utilizamos este termino en
el presente trabajo, para hacer referencia a los corpus de datos utiliza-
dos, originados con simulaciones sobre observaciones de este repositorio.
Apendice B
Pseudocodigo de MAC
Metodos utilizados que no codificamos en el anexo:
• CalcularCriterioParada simplemente calcula si se cumple las condicio-
nes para terminar el bucle, bien por llegar a un numero maximo de
iteraciones o porque la maxima distancia entre una moda y el valor an-
terior de la moda no superan un umbral que depende de una constante
y el valor de bandwidth. Esta es la razon por la cual en las pruebas de
rendimiento comentamos que la velocidad de ejecucion tambien depen-
de del valor del ancho de banda escogido, ya que con un numero muy
pequeno el algoritmo repetira el bucle por cada punto hasta el maximo
numero de iteraciones, mientras que con un valor no demasiado pe-
queno, encontrara mas rapidamente que la diferencia entre las modas
no ha superado el umbral y parara antes de llegar al maximo numero
de iteraciones.
• GaussianPDFLoglikelihood es una funcion que calcula el logaritmo de
la verosimilitud en un punto dado, usando la funcion de densidad de
probabilidad Gaussiana.
113
114 capıtulo B. Pseudocodigo de MAC
SubAlgoritmo ObtenerListaModas(kernel centers, probabilidad a priori, bandwidth,modasanteriores)
begin
1: Para i← 0Hasta#kernelcenters
2: moda[i]← EstimaModa(modasanteriores)
3: Fin Para
4: devolver moda
end
Figura B.1: Pseudocodigo ObtenerListaModas.
SubAlgoritmo EstimaModa(datos)
begin
1: moda← datos
2: anterior moda← datos
3: iteracion← 0
4: Repetir
5: verosimilitud, probabilidadPosterior ← ProbabilidadAPosteriori(moda);
6: criterioDeParada← CalcularCriterioParada(iteracion, bandwidth,moda, anterior moda, verosimilitud, anterior verosimilitud)
7: Si(!criterioDeParada)
8: anterior verosimilitud← verosimilitud
9: anterior moda← moda
10: moda← ActualizaModa(probabilidadPosterior)
11: iteracion← iteracion+ 1
12: Fin Si
13: Hasta (criterioDeParada)
14: devolver moda
end
Figura B.2: EstimaModa realiza los pasos EM para encontrar la moda de
un punto dado resolviendo un maximo local de una mezcla de densidades a
traves de iteraciones ascendentes, empezando por el punto dado
115
SubAlgoritmo ProbabilidadAPosteriori(datos)
begin
1: max log posteriori← 0
2: Para k ← 0Hasta#kernel centers
3: probabilidadPosterior[k]← GaussianPDFLoglikelihood(datos, kernelcenters[k], bandwidth)
4: Si k = 0
5: max log posteriori← probabilidadPosterior[k]
6: Si no
7: Si(max log posteriori < probabilidadPosterior[k])
8: max log posterior ← probabilidadPosterior[k]
9: Fin Si
10: Fin Si
11: Fin Para
12: {Calcula la densidad del kernel k en el punto x y la suma de las densidades en el punto x}13: sumaDensidades← 0
14: Para k ← 0Hasta#kernel centers
15: probabilidadPosterior[k]← probabilidad a priori[k]× emax log posteriori
16: sumaDensidades← sumaDensidades+ probabilidadPosterior[k]
17: Fin Para
18: {Probabilidades a posteriori = densidad del kernel K / suma de densidades de kernels}19: Si sumaDensidades ≤ 0;
20: Para k ← 0Hasta#kernel centers;
21: probabilidadPosterior[k]← 1#kernel centers ;
22: Fin Para
23: Si no
24: Para k ← 0Hasta#kernel centers
25: probabilidadPosterior[k]← probabilidadPosterior[k]sumaDensidades
26: Fin Para
27: Fin Si
28: devolver max log posteriori+ logaritmo(sumaDensidades)
end
Figura B.3: ProbabilidadAPosteriori calcula el paso Expectation del algorti-
mo EM, calcula las probabilidades a posteriori en cualquier punto y devol-
vera el logaritmo de la verosimilitud del modelo de mezclas y el logaritmo de
la suma de las densidades de los kernels.
116 capıtulo B. Pseudocodigo de MAC
SubAlgoritmo ActualizaModa(probabilidadPosterior)
begin
1: Para i← 0Hasta#kernel centers
2: Para j ← 0Hastamoda
3: moda[j]← moda[j] + probabilidadPosterior[i]× kernelcenters[i][j]4: Fin Para
5: Fin Para
6: devolver moda
end
Figura B.4: Paso Maximization, calcula las modas actualizadas con la con-
tribucion de cada kernel.
117
SubAlgoritmo AgruparModas(modas)
begin
1: umbral← umbral agrupacion× bandwidth2: resultados← CrearResultados()
3: numero de clusters← 1000
4: Para i← 0Hastamodas
5: terminado← falso
6: Para j ← 0Hastamodas
7: c moda← resultados.ObtenerModaCluster(j)
8: Si MaximaDistancia(modas[i], cmoda)) < umbral
9: terminado← falso
10: resultados.AnadirPunto(j,i)
11: Fin Si
12: Fin Para
13: Si (!terminado)
14: resultados.AnadirCluster(CrearNuevoCluster(i,modas[i]))
15: Fin Si
16: Fin Para
17: devolver resultados
end
Figura B.5: Agrupa por la distancia entre modas asociadas. El valor del um-
bral para decidir si dos conglomerados se consideran un unico cluster depende
de un valor que podemos fijar en el algoritmo y que en el trabajo original de
[29] era de 0.01 y en el ancho de banda utilizado. CrearResultados inicializa el
objeto que contendra los resultados, inicialmente se crean 1000 grupos vacıos,
por eso el bucle interno, aunque no hay en el inicio clusters insertados, tiene
un tamano de 1000 elementos para recorrer. ObtenerModaCluster, Anadir-
Punto y AnadirCluster realizan la funcion que su nombre indica, el primero
devuelve la moda de un determinado cluster y los demas anaden un punto
a un conglomerado (AnadirPunto) o crean un nuevo cluster (AnadirCluster)
cuando la maxima distancia entre su moda y la de los demas conglomerados
supera un umbral en todos los conglomerados existentes, por lo que debemos
crear un nuevo cluster para anadir a los resultados que tendra una determi-
nada moda y comenzara conteniendo ese punto.
Apendice C
Aplicaciones complementarias
desarrolladas
Durante el desarrollo del trabajo se han desarrollado numerosas utilidades,
para diferentes tareas, como la automatizacion de la extraccion y preparacion
de los datos, preprocesamiento, generacion automatica de los experimentos
a partir de los datos originales, etc. Destacamos algunas de las implementa-
ciones mas interesantes desarrolladas, aparte de las utilidades desarrolladas
con el objetivo de preparar y lanzar la experimentacion.
• BWaleatorio: Peuqena utilidad basada en una idea propia y buenos
resultados empıricos. El artıculo y trabajo original de Jia Li en [29],
presenta una forma de calcular automaticamente un rango de valores
para los bandwidth, si no se proporcionan valores al algoritmo. Esta
forma de calculo se implemento como una pequena utilidad obteniendo
los mismos resultados que el algoritmo original, sin embargo, no en-
cuentran un buen valor de bandwidth para nuestras muestras, ni sobre
diferentes conjuntos de datos que utilizamos como prueba, con magni-
tudes diferentes a los datos proporcionados en el algoritmo original de
ejemplo. Por este motivo se realizo una aplicacion que calculaba para
un pequeno porcentaje de los datos sobre los que se realizara el clus-
tering, la menor distancia con el siguiente elemento y la media de los
siguientes 10 y 100 elementos, teniendo en cuenta el resto de datos, es
119
120 capıtulo C. Aplicaciones complementarias desarrolladas
decir las distancias a las que se encontraba del siguiente y la media
con los puntos cercanos, para todos los datos, se repite el proceso un
pequeno numero de veces, por si los puntos escogidos al azar se encon-
traran alejados de los demas o se deja escoger a la aplicacion, que al
obtener varios resultados similares o al llegar a un porcentaje de datos
utilizados, para el proceso para dar la respuesta. El valor obtenido, de-
mostro ser bastante util, para tomarlo como punto inicial para el valor
de bandwidth, aunque debe ser afinado posteriormente con los resulta-
dos obtenidos por el clustering de forma manual, pero obtenemos un
buen valor de partida. El unico argumento que necesita la utilidad, es el
fichero de datos que vamos a utilizar para agrupar posteriormente con
MAC. Aparte de aportar una estimacion util del parametro bandwidth,
tiene otra ventaja respecto al original y es que es mucho mas rapido en
su ejecucion, ya que el coste temporal del algoritmo es de O(nlog(n)),
el coste de un algoritmo de ordenacion.
• consultaSloan: Para el estudio de las propiedades fısicas y caracteri-
zacion de los grupos, dado que no se encuentran los parametros que
necesitamos en los datos simulados, hemos realizado la siguiente herra-
mienta. Una vez obtenidos los clusters, extraemos los identificadores
del objeto Gaia al que corresponde cada objeto. Volvemos a los datos
sin tratar de las simulaciones y aunque no encontramos ahı los parame-
tros fısicos que necesitamos, ni tampoco un identificador que relacione
directamente el objeto del repositorio de simulaciones Gaia con el re-
positorio de SDSS, si encontramos una serie de parametros que nos
permiten identificar en el repositorio de SDSS una estrella, no es posi-
ble con cuasares pues no recogen actualmente mas datos aparte de los
espectros en las simulaciones ni con galaxias, pues en su caso existen
dos datos uno que referencia al espectro en SDSS y otro la informacion
astrofısica en SDSS, pero estos identificadores en SDSS pertenezcan a
dos objetos distintos, no al mismo objeto. Con los identificadores de las
estrellas, SDSS facilita la consulta por web de datos, de forma que una
vez identificados los parametros que necesitamos y la consulta contra
121
el repositorio de SDSS que debemos realizar, la aplicacion conecta con
una base de datos PostgreSQL local para obtener los parametros. En
caso de no encontrarse en la base de datos, consulta automaticamente
la pagina web de SDSS, y procesa la pagina de respuesta para obte-
nerlos y guardalos en la base de datos para no repetir la consulta para
el mismo objeto de nuevo en analisis posteriores. Finalmente, obtene-
mos tantos ficheros como grupos existen, pero en vez de contener el
ındice del objeto como los ficheros de grupos originales, contienen los
parametros fısicos que nos interesan.
• K-means++ Implementacion del algoritmo, integrada en el proyecto
global del cual forma parte nuestro trabajo.
• K-means# Implementacion del algoritmo, integrada en el proyecto glo-
bal.
• MAC. El algoritmo MAC fue implementado, pero al encontrar una
version completa en el proyecto global del cual formamos parte, dejamos
este codigo para pasar a trabajar con el ya desarrollado. Se llego a
implementar el codigo de MAC, pero no de otras tecnicas como el
algoritmo ridgelines presente en el mismo artıculo de [29], que no
hemos tratado en el presente trabajo.
Apendice D
HMAC a traves del bandwidht
Presentamos unas graficas con el proposito de mostrar el agrupamiento jerarqui-
co de HMAC, a traves del valor del parametro bandwidth. Los experimentos
se realizaron sobre 300 puntos pertenecientes a tres clases generadas sinteti-
camente a partir de tres distribuciones normales que se solapan. Como se
explica en el punto 4.2.3, cuando el ancho de banda se incrementa la estima-
cion de densidad por el kernel se suaviza y mas puntos tienden a ascender
a la misma moda mientras que al disminuir el bandwidth, puntos que antes
convergıan a la misma moda ahora lo hacen a modas distintas, por lo tanto
a menor ancho de banda obtendremos un mayor numero de conglomerados
y HMAC aprovecha esta caracterıstica para formar un modelo jerarquico de
agrupaciones.
La imagen con la distribucion original de los datos es:
123
124 capıtulo D. HMAC a traves del bandwidht
Se ejecutara HMAC sobre los valores de ancho de banda siguientes: σ1 =
0,25 < σ2 = 0,5 < σ3 = 0,8 < σ4 = 1,5
Un aspecto caracterıstico que podremos observar con los diferentes valores
es como este algoritmo jerarquico no utiliza las distancias para la union de
conglomerados en un grupo mayor, sino que la ejecucion con todos los puntos
del algoritmo MAC de nuevo para otro valor de ancho de banda produce unos
resultados, en los cuales puntos que pertenecıan a un grupo que converge a
una nueva moda fusionandose con otro conglomerado, pasa a ascender a una
moda de otro conglomerado distinto. Para observar este efecto, debemos ob-
servar por ejemplo que ocurre con los puntos que se encuentran en la frontera
de decision de un conglomerado, cuando utilizamos un valor distinto para el
ancho de banda. Los resultados para σ1 = 0,25 encuentran 6 agrupaciones
distintas, si agrupamos los cluster en parejas de forma adecuada, encontrare-
mos conglomerados similares a los originales, aunque un elevado numero de
clusters dificulta la identificacion de los grupos naturales.
Para σ2 = 0,5 encontramos 4 grupos, si observamos algunos grupos se han
fusionado pero esta fusion no es exactamente la fusion de todos sus puntos,
al volver a ejecutarse MAC de nuevo para el nuevo valor de ancho de banda
la fusion de grupos no es la simple union de grupos a menor distancia, sino
que mucho puntos han pasado a converger a otras modas y por lo tanto a
pertenecer a otros conglomerados.
125
Con σ3 = 0,8 encontramos tres grupos, el mismo numero de conglomera-
dos que los grupos naturales o clases de los datos del experimento
La matriz de confusion nos indica los buenos resultados obtenidos:
Clase 0 Clase 1 Clase 2
Cluster 1 91 5 19
Cluster 2 8 94 0
Cluster 3 1 1 81
Para σ4 = 1,5 encontramos dos conglomerados, para este valor de band-
width, los puntos convergen tan solo a dos modas diferentes, de nuevo po-
demos observar como en la frontera de decision, algunos puntos han pasado
de un grupo a otro, dado que la ejecucion de MAC con un valor distinto de
bandwidth vuelve a calcular la contribucion de todos los puntos, no es la
simple union de grupos anteriores.
126 capıtulo D. HMAC a traves del bandwidht
Bibliografıa
[1] E. Acuna. Notas de analisis discriminante. Technical report, Departa-
mento de Matematicas. Universidad de Puerto Rico., 2000. 4.2.2
[2] N. Ailon, R. Jaiswal, and C. Monteleoni. Streaming k-means approxi-
mation. In Advances in Neural Information Processing Systems, NIPS,
2009. 4.1.2, 4.1.2
[3] D. Arthur and S. Vassilvitskii. k-means++: The advantages of careful
seeding. In Proceedings of the eighteenth annual ACM-SIAM symposium
on Discrete algorithms, 2007. 4.1.1, 4.1.1
[4] C. M. Bishop. Pattern recognition and machine learning. Springer, 1st
ed. 2006. corr. 2nd printing edition, 2006. 4.2.1
[5] P. Bradley, U. Fayyad, and R. Reina. Clustering very large databases
using em mixture models. In Proceedings of 15th International Confe-
rence on Pattern Recognition. Vol 2, pages 76–80, 2000. 5
[6] S. Brecheisen, H. Kriegel, and M. Pfeifle. Parallel density-based cluste-
ring of complex objects. In Lecture Notes in Computer Science, volume
3918, pages 179–188, 2006. 2.3, 2.1
[7] J. C. Canales. Clasificacion de grandes conjuntos de datos vıa Maquinas
de Vectores Soporte y aplicaciones en sistemas biologicos. PhD thesis,
Instituto Politecnico Nacional de Mejico, 2009. 5.1
[8] H. Choi and E. J. Yoon. Apache HAMA: An Introduction to Bulk Syn-
chronization Parallel on Hadoop. Apache Hama Team, 2012. 2.4
127
128 BIBLIOGRAFIA
[9] S. Chu, J. F. Roddick, and J. Pan. A incremental multi-centroid, multi-
run sampling scheme for k-medoids-based algorithms. In Proceedings of
the Third International Conference on Data Mining Methods and Data-
bases, Data Mining III, 2002. 2.2, 2.1
[10] J. Dean and S. Ghemawat. Mapreduce: simplified data processing on
large clusters. Communications of the ACM, 51(1):107–113, 2008. 2.4
[11] M. Delgado and P. Robinson. Nonparametric and semi-parametric met-
hods for economics research. Economic Surveys, 6:201–249, 1992. 4.2.2
[12] Cu8 training data: Cycle 6 requirements, 2009. 3.1
[13] DPAC. ESA. DPCC: How-To: use the MDB explorer, 2012. 3.5.1
[14] M. Ester, H. P. Kriegel, J. Sander, and X. Xu. A density-based algo-
rithm for discovering clusters in large spatial databases with noise. In
In Proceedings of International Conference on Knowledge Discovery and
Data Mining, pages 226–231, 1996. 2.2, 2.1
[15] K. N. A. et al. The seventh data release of the sloan digital sky survey.
The Astrophysical Journal Supplement Series, 182:543–558, 2009. 1.1
[16] V. Ganti, J. Gehrke, and R. Ramakrishnan. Mining very large databases.
COMPUTER, 32(8):38–45, 1999. 5
[17] A. Garg, A. Mangla, N. Gupta, and V. Bhatnagar. Pbirch: A scalable
parallel clustering algorithm for incremental data. In 10th Internatio-
nal Database Engineering and Applications Symposium, pages 315–316,
2006. 2.3, 2.1
[18] J. R. Gott, M. Juric, D. Schlegel, F. Hoyle, M. Vogeley, M. Tegmark,
N. Bahcall, and J. Brinkmann. A map of the universe. The Astrophysics
Journal, 624(2):463–484, 2005. 3.2
[19] M. J. Graham. How to analyze a petabyte. In Gaia Research for Euro-
pean Astronomy Training, 2011. 2.4
BIBLIOGRAFIA 129
[20] J. Greaves. Sdss data release 6 proper motion information. Technical
report, The Webb Society, 2008. 7.1
[21] K. M. Gorski. Healpix: A framework for high-resolution discretization
and fast analysis of data distributed on the sphere. The Astrophysical
Journal, 622:759–771, 2005. 5.1
[22] S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering algo-
rithm for large databases. In In Proceedings of ACM SIGMOD, pages
73–84, 1998. 2.1, 2.1
[23] J. O. Jacob E. Goodman and P. Indyk. Handbook of Discrete and
Computational Geometry, chapter Chapter 39:Nearest neighbours in
high-dimensional spaces. CRC Press, 2004. 5.2.4
[24] M. N. Joshi. Parallel k-means algorithm on distributed memory multi-
processors, 2003. 2.3, 2.1
[25] L. Kaufman and P. J. Rousseeuw. Finding Groups in Data: an Intro-
duction to Cluster Analysis. John Wiley & Sons, 1990. 2.2, 2.1
[26] M. Khalilian, N. Mustapha, N. Suliman, and A. Mamat. A novel k-means
based clustering algorithm for high dimensional data sets. In Proceedings
of the International MultiConference of Engineers and Computer Scien-
tist, volume I, 2010. 2.1, 2.1
[27] W. Kim. Parallel clustering algorithms: Survey, 2009. 2.3
[28] H. Kirbiyik. Rotation in stars. Turkish Journal of Physics, 22:83–106,
1998. 3.1
[29] J. Li, S. Ray, and B. G. Lindsay. A nonparametric statistical approach
to clustering via mode identification. Journal of Machine Learning Re-
search, 8(8):1687–1723, 2007. 1.2, 4.2.2, B.5, C
[30] S. LLoyd. Least square quantization in pcm. IEEE Transactions on
Information Theory, pages 129–137, 1957. 2.1
130 BIBLIOGRAFIA
[31] J. B. MacQueen. Some methods for classification and analysis of mul-
tivariate observations. In Proceedings of 5-th Berkeley Symposium on
Mathematical Statistics and Probability, pages 281–297, 1967. 4.1
[32] G. Malewicz, M. H. Austern, A. J. C. Bik, J. C. Dehnert, I. Horn,
N. Leiser, and G. Czajkowski. Pregel: a system for large-scale graph
processing. In Proceedings of the 2010 ACM SIGMOD International
Conference on Management of data, SIGMOD ’10, pages 135–146. ACM,
2010. 2.4
[33] C. D. Manning, P. Raghavan, and H. Schtze. Introduction to Information
Retrieval. Cambridge University Press, 2008. 4.1
[34] M. A. F. Montecelo. Implementation of a Distributed Clustering System
for Gaia Space Mission. PhD thesis, UNED, 2010. 7.3
[35] D. P. na. Analisis de datos multivariantes, chapter Componentes Prin-
cipales. McGraw-Hill Interamericana, 2003. 3.5.3
[36] M. F. Pace. Bsp vs mapreduce. Procedia Computer Science, 9:246–265,
2012. 2.4
[37] D. Peng and F. Dabek. Large-scale incremental processing using distri-
buted transactions and notifications. In Proceedings of the 9th USENIX
Symposium on Operating Systems Design and Implementation, 2010. 2.4
[38] A. M. y. B. F. Pierre-Marie Brunet. Big data challenges, an insight into
the gaia hadoop solution. Technical report, CNES, 2012. 5.1
[39] F. Provost and V. Kolluri. A survey of methods for scaling up inductive
algorithms. Data Mining and Knowledge Discovery, 3(2):131–169, 1999.
5
[40] Research and Scientific Support Department. ESA.
CU1:DalToolsExample, 2012. 3.5.1
[41] Research and Scientific Support Department. ESA. CU8: Dictionary-
Tool, 2012. 3.5.1
BIBLIOGRAFIA 131
[42] Measures of flux and magnitude. sloan digital sky survey iii documen-
tation. http://www.sdss3.org/dr8/algorithms/magnitudes.php. 3.4
[43] S. Seo, E. J. Yoon, J. Kim, S. Jin, J. Kim, and S. Maeng. Hama: An
efficient matrix computation with the mapreduce framework. In 2nd
IEEE International Conference on Cloud Computing Technology and
Science, pages 721–726, 2010. 2.4
[44] F. Shahnaz. Clustering: Large databases. Lecture Notes In Data Mining,
pages 133–141, 2006. 2
[45] J. Shlens. A Tutorial on Principal Component Analysis. Center for
Neural Science, New York University, 2009. 3.5.3
[46] B. W. Silverman. Interpreting multivariate data, chapter Density esti-
mation for univariate and bivariate Data. Number 37–53. Wiley, 1981.
4.2.2
[47] B. W. Silverman. Density estimation for statistics and data analysis.
Chapman and Hall, 1986. 4.2.2
[48] K. W. Smith. How to use oversampled simulated bprp data. dpac tech-
nical note. Technical report, DPAC, 2008. 3.4
[49] R. Sordo and A. Vallenari. Description of the cu8 cycle 6 simulated
data, 2010. 3.1
[50] D. Talia. Parallelism in knowledge discovery techniques. In Proceedings
of the 6th International Conference on Applied Parallel Computing Ad-
vanced Scientific Computing, pages 127–138, 2002. 2.3
[51] F. Thevenin. Interface Control Document for the Gaia Spectral libraries.
3.5.1
[52] P. Tsalmantza, M. Kontizas, C. A. L. Bailer-Jones, I. Bellas-Velidis,
E. Kontizas, E. Livanou, B. Rocca-Volmerange, R. Korakitis, A. Daper-
golas, A. Karampelas, M. Fioc, and A. Vallenari. Semi-empirical library
of galaxy spectra from sdss, 2008. 3.1
132 BIBLIOGRAFIA
[53] A. Vallenari. Cu8 simulation specifications for algorithm development
cycle 2b, 2008. 3.1
[54] F. van Leeuwen. Organizing and accessing the multiple data streams.
Technical report, Institute of Astronomy.Cambridge, 2012. 5.1
[55] G. J. Vicente. Distribuciones de clases no balanceadas: Metricas, analisis
de complejidad y algoritmos de aprendizaje. PhD thesis, Universidad
Jaume I, 2011. 3.2
[56] T. Zhang, R. Ramakrishnan, and M. Livny. Birch: an efficient data clus-
tering method for very large databases. In Proceedings of the 1996 ACM
SIGMOD international conference on Management of data, volume 25,
pages 103–114, 1996. 2.2, 2.1
[57] Y. Zhang, Z. Xiong, J. Mao, and L. Ou. The study of parallel k-means
algorithm. In The Sixth World Congress on Intelligent Control and
Automation, pages 5868–5871, 2006. 2.3, 2.1