Machine Learning y astrofísica: clasificando estrellas, galaxias y quasars

Enrique Blanco  5 marzo, 2019
En el post de hoy vamos a mostrar cómo aplicar un algoritmo de clasificación muy sencillo haciendo uso de Random Forest a través de los estimadores de Scikit-Learn. Aunque ya hemos mostrado algoritmos de clasificación en otras ocasiones en este blog, vamos a cambiar un poco el enfoque del dataset al que apuntamos para realizar la clasificación.

Siempre que se quiere aprender a manejar un determinado algoritmo de Machine Learning, se acaba cayendo en los mismos datasets (Iris, MNIST, PIMA Indians Diabetes…). Sin embargo, hay otros muchos datasets muy interesantes que pueden hacernos menos monótona la visualización de datos, escalado de datos, el entrenamiento y validación del modelo. Incluso, esto nos podría permitir entender mejor las bases algoritmo al que nos enfrentamos gracias a las novedades que nos ofrece nuestro nuevo dataset.

Hace ya un tiempo nos encontramos con un conjunto de datos muy interesante, llamado Sloan Digital Sky Survey (SDSS) DR14, relacionado con el mundo de la astrofísica, donde se recogen datos fotométricos de estrellas, galaxias y quasars. Podéis encontrar el dataset en el siguiente enlace.
TThe Sloan Foundation 2.5m Telescope at Apache Point Observatory
Figura 1. The Sloan Foundation 2.5m Telescope at Apache Point Observatory (ver fuente)
La fotometría es la ciencia que se encarga de la medida de la luz, como el brillo percibido por el ojo humano. La fotometría proporciona una medida directa del flujo de energía recibido de los objetos celestes en un intervalo de longitud de onda. Con los datos de magnitudes y colores en diferentes bandas fotométricas obtenemos información muy valiosa de los objetos observados. Por ejemplo:
  • Permite clasificar estrellas usando un diagrama color-color.
  • El análisis de curvas de luz (variación temporal de su magnitud) nos informa sobre la naturaleza de estrellas que pueden ser variables o sobre parámetros de sistemas binarios o múltiples.
  • También es ampliamente usada para determinar distancias y tamaños de manera exacta y precisa.
Pero vayamos paso por paso para el caso que nos ocupa: ¿qué son estrellas, galaxias y quasars?
  • Estrellas: es una esfera luminosa de plasma que mantiene su forma gracias a su propia gravedad. La estrella más cercana a la Tierra es el Sol.
  • Galaxias: son sistemas unidos por la gravedad y formados por estrellas, restos estelares, gas interestelar, polvo y materia oscura. Grosso modo, las galaxias se clasifican de acuerdo con su morfología visual como elíptica, espiral o irregular. Se cree que muchas galaxias tienen agujeros negros supermasivos en sus centros activos.
  • Quasars: también conocidos como QSO o quasi-stellar objects son Núcleos Galácticos Activos (Active Galactic Nucleus – AGN) extremadamente luminosos. Se ha teorizado que la mayoría de las galaxias grandes contienen un agujero negro central masivo con una masa que va desde millones hasta miles de millones de veces la masa de nuestro Sol. En los quásares y otros tipos de AGN, el agujero negro está rodeado por un disco de acreción gaseoso. A medida que el gas cae hacia el agujero negro, la energía se libera en forma de radiación electromagnética, que se puede observar en todo el espectro electromagnético. El poder irradiado por los quásares es enorme: los quásares más poderosos tienen luminosidades miles de veces más grandes que una galaxia entera como la Vía Láctea.
Hubble photograph of a quasar ejecting nearly 5,000 light years from the M87 galaxy (ver fuente)
Figura 2. Hubble photograph of a quasar ejecting nearly 5,000 light years from the M87 galaxy (ver fuente)
Entendiendo los datos
Las características para cada objeto, de los cual tenemos 10,000 muestras, son las siguientes:
  1. ra, dec ascensión recta y declinación respectivamente, de acuerdo al sistema ecuatorial de coordenadas.
  2. u, g, r, i, z – filtro (sistema fotométrico o magnitudes astronómicas)
  3. run, rerun, camcol, field  – descriptores de campos (es decir, 2048 x 1489 píxeles) dentro de la imagen
  4. Desplazamiento al rojo o redshift: aumento de la longitud de onda debido al movimiento del objeto astronómico por efecto Doppler. Cabe destacar que esta cantidad también puede ser negativa, lo que indicaría que el objeto se acerca al observador. En este caso nos encontramos con blueshift o desplazamiento al azul.
  5. plate – número de placa
  6. mjd – modified Julian date of observation
  7. fiberid – optic fiber ID
Dado que nuestro dataset ya está incorporado en un Pandas dataframe, podemos recurrir a los comandos df.info() y df.describe() para entender las características de nuestro dataset.
Como vemos no hay datos nulos o missing data, por lo que la limpieza del dataset no será necesaria.
Visualizando los datos
Distribución de objetos en función del redshift y distancia de luminosidad
Empecemos por entender la distribución de nuestros objetos en desplazamiento al rojo. Aunque hay múltiples mecanismos físicos que pueden causar corrimiento al rojo, el más conocido es el debido a la expansión métrica del espacio, que explica la famosa observación de los corrimientos al rojo espectrales de galaxias distantes, quasares y nubes gaseosas intergalácticas se incrementan proporcionalmente con su distancia al observador. Este mecanismo es una característica clave del modelo del Big Bang de la Cosmología física para un Universo en expansión.
De acuerdo con el siguiente histograma acumulado y normalizado, parece que en nuestro dataset, la mayoría de objetos están contenidos hasta un redshift ∼0.20. Podemos visualizar también la distribución en coordenadas ecuatoriales de nuestros objetos astronómicos también como función del redshift. Representando en proyección polar ascensión recta y declinación y haciendo distinción por las tres clases soportadas en nuestro dataset, podemos ver que no hay una predominancia de distribución en el cielo en función de su clase. Esto nos va indicando que ni la ascensión recta ni la declinación serán atributos a usar en nuestro clasificador.
Al realizar un análisis de redshift para cada clase, podremos observar diferencias sustanciales en función de la clase de cada uno de los objetos.
Las estrellas detectadas se encuentran “relativamente” cerca de nosotros. Con total seguridad estas estrellas detectadas estarán localizadas en nuestra galaxia o galaxias cercanas. Vemos que el límite de redshift o blueshift de las estrellas está alrededor de  ±0.002, pertenecientes a alguna galaxia lejana. Esto equivale a una distancia de luminosidad aproximada de 9 Mpc, lo cual equivale a una distancia de 2.7×1E20 km ¡Una cantidad increíblemente grande, y estamos hablando sólo de nuestra “vecindad” galáctica! Por otro lado, y como resulta lógico, la detección de objetos más lejanos está sesgada hacia los objetos más luminosos, como son los QSOs seguidos por las galaxias. El objeto más lejano de nuestro dataset es un quasar que está a un redshift de 5.35. Este objeto se encuentra a 51682.89 Mpc. Los fotones provenientes de ese objeto estelar salieron hace 12.695 Gyr, cuando el Universo tenía sólo un 8% de la edad que tiene ahora.
Si sentís curiosidad y queréis jugar con el redshift, edades y distancias, recomendamos echéis un vistazo a esta calculadora cosmológica.
Como podemos ver, el desplazamiento al rojo de cada clase parece un claro elemento diferenciador en la correcta identificación de un objeto.
Distribución de objetos en los diferentes filtros
A continuación, se ofrecen las funciones de densidad de probabilidad de cada clase en cada uno de los filtros.
Sin duda, esta información fotométrica resultará muy valiosa a la hora de entrenar nuestro algoritmo de clasificación.
Matriz de correlación
Si representamos la matriz de correlación de las variables que tenemos disponibles en el dataset, seremos capaces de reforzar qué variables utilizar en el entrenamiento del modelo Random Forest de clasificación que vamos a abordar.
Parece que la característica con mayor correlación respecto a la clase es el desplazamiento al rojo, seguido de las bandas g, u y r. Aunque existe alta correlación entre las bandas, vamos a considerar todos los filtros en nuestro algortimo de clasificación. Por ello, para cada objeto, contaremos con 6 atributos que apuntarán a una única etiqueta.
Una vez analizados los datos, quedaría realizar una estandarización de los atributos elegidos, una validación cruzada que nos permita encontrar los parámetros ideales – hyperparameter tuning – de nuestro Random Forest, entrenar y testear el modelo sobre este dataset. Estos puntos se abordarán en el próximo post sobre Machine Learning y astrofísica. ¡Os esperamos!

Para mantenerte al día con LUCA visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *