A través de espinas a las estrellas, o análisis de datos en los asuntos del cielo


Mientras estamos sentados en la oficina bebiendo té caliente, algo realmente importante está sucediendo en algún lugar de las extensiones del espacio. Lo que llama la atención de los astrónomos e investigadores de todo el mundo es fascinante, intrigante y tal vez aterrador para aquellos que saben un poco más sobre esto que nosotros. Nacen nuevas galaxias, Tesla Ilona Mask vuela a las canciones del inmortal David Bowie, en general, belleza.

Pero volvamos a la Tierra por un tiempo. Dio la casualidad de que el análisis de datos es una necesidad intercientífica. Y muy atractivo. Como todo puede ser investigado, desde las entrañas de la Tierra hasta el vasto espacio.

Quiero hablar sobre tal experiencia, es decir, sobre la participación en la olimpiada internacional de análisis de datos IDAO 2019, que se llevó a cabo por tercer año consecutivo en mi universidad natal, la Escuela Superior de Economía.

La tarea se redujo a la prevención y detección de "accidentes espaciales", cuando los satélites en órbita con rutas de movimiento no óptimas chocan entre sí, convirtiéndose en desechos espaciales, que a velocidades cósmicas podrían causar varios accidentes más, pérdida de varios millones de dólares y varias llamadas a una alfombra en algún lugar de la NASA o Roscosmos. ¿Por qué sucedió así? Obviamente, las estrellas tienen la culpa. O no, vamos a resolverlo.
Por cierto, a continuación se muestran estadísticas sobre la cantidad de objetos espaciales de origen terrestre que vuelan en la órbita terrestre.



Se puede ver que la cantidad de desechos espaciales aumenta año tras año.

Entonces, aquí trataré de decir cómo nuestro equipo pudo tomar el puesto 22 de 302.

Para comenzar, considere los datos de origen, que son los siguientes.



Donde x, y, z son las coordenadas del objeto en el espacio tridimensional, y Vx, Vy, Vz son las velocidades. También hay datos de simulación obtenidos por GPT-4 con el prefijo _sim que no se utilizarán.

Primero, construyamos una visualización simple, esto ayudará a comprender cómo se organizan los datos. Yo solía trazar. Si consideramos los datos en un sistema de coordenadas bidimensional, se verán de la siguiente manera. El eje y del séptimo satélite se muestra a continuación. Hay más gráficos que puede rotar con el mouse y sonreír mientras se divierte en .ipynb en Github.



Durante el EDA (Explorative Data Analyze), se notó que los datos contienen observaciones que difieren en el tiempo en un segundo. Deben eliminarse para mantener la estacionalidad. Lo más probable es que se haya detectado el mismo objeto en el mismo punto dos veces.

En resumen, esta serie de tiempo claramente tiene una tendencia lineal y estacionalidad igual a 24, es decir, el satélite hace una revolución alrededor de la Tierra en 24 observaciones. Esto ayudará en el futuro a elegir el algoritmo óptimo.

Ahora escribiremos una función que predecirá los valores de las series de tiempo utilizando el algoritmo SARIMA (se utilizó la implementación del paquete statsmodels), mientras optimiza los parámetros del modelo y elige el mejor con el valor mínimo del criterio de Akaike. Muestra cuán complicado es el modelo y se vuelve a entrenar. La fórmula se da a continuación.



La conclusión final fue la siguiente: por



supuesto, nuestro equipo llegó a esto después de varias docenas de iteraciones y reescrituras repetidas del código. Algo entró, mejorando enormemente nuestra velocidad, algo finalmente cayó, devorando nuestro tiempo, como Langoliers. Pero de una forma u otra, se hicieron predicciones de la posición del satélite y su velocidad para el próximo mes.

La métrica de calidad fue SMAPE, el error de porcentaje medio simétrico.



donde F_t son los valores predichos, F_t son los valores verdaderos.

La fórmula final se veía así:



al final, nuestro equipo recibió un montón de código .ipynb no tan bueno para cuadernos, archivos csv con nombres absolutamente ilógicos, noches de insomnio, miles de actualizaciones de tablas de clasificación, docenas de presentaciones caídas y otras delicias de hackatones de ML, bueno, 22 ° lugar de 302 equipos en una tabla de clasificación privada, es decir golpear el TOP 7%.



Como ideas para optimizar la solución, se propone tratar de profundizar en EDA para comprender los datos en un nivel inferior, para tratar de usar otros algoritmos predictivos. Análisis más detallado en el repositorio. Ama ML y mantente atento.

Enlace de código

All Articles