Картографирование Вселенной всегда было важным направлением в астрономии и астрофизике. Достижения в наблюдательной астрономии породили огромное количество данных, содержащих различные характеристики небесных объектов. Вызывает растущую потребность в точной и подробной классификации и локализации звездных объектов в космосе. В этой статье мы представляем комплексное исследование, сочетающее методы машинного обучения для предсказания точного местоположения звездных объектов на небе. Мы расширяем наш анализ, чтобы предсказать местоположение звездных объектов, используя методы регрессии. Используя многоцелевую регрессию, мы моделируем координаты прямого восхождения и склонения, обеспечивая точную локализацию небесных объектов на небесной сфере. Практические последствия нашего исследования заключаются в создании всеобъемлющих небесных каталогов, облегчении целенаправленных наблюдений и внесении вклада в более широкую область наблюдательной астрономии. Способность точно локализовать звездные объекты закладывает основу для картирования космоса и улучшения нашего понимания сложной структуры Вселенной.

Данные

SDSS-V — это первая установка, обеспечивающая многоэпоховую оптическую и ИК-спектроскопию по всему небу, а также предлагающая непрерывное спектроскопическое покрытие интегрального поля галактик Млечного Пути и галактик местного объема. Это паноптическое спектроскопическое исследование продолжает сильное наследие SDSS в области инновационных данных и инфраструктуры для совместной работы. В этом исследовании в качестве обучающих данных будут использоваться особенности спектра, наблюдаемые в ходе этого обзора. Данные состоят из наблюдений за 100 000 звездных объектов: 52343 галактики (52,3%), 37232 звезды (37,2%) и 10425 квазаров (10,4%).

Описание функции

Каждое наблюдение описывается 42 функциями и одним столбцом класса, классифицирующим наблюдения. Особенности включают идентификаторы объекта ( Objid) и (Specobjid); Небесные координаты J2000: прямое восхождение (ra) и склонение (dec); окончательное красное смещение небесного объекта (красное смещение); номера прогонов и повторов: прогон относится к конкретному периоду, в течение которого съемка наблюдала часть неба, а повторный прогон относится к предварительной обработке полученных данных; Колонка камеры (camcol); номер поля неба, в котором производилось наблюдение (поля); количество физических стеклянных пластин, установленных на телескопе (пластине); идентификатор оптического волокна, отвечающего за сбор света объекта (fiberID); Модифицированная юлианская дата представляет количество дней, прошедших с полуночи 17 ноября 1858 года. Она используется в SDSS для отслеживания времени каждого наблюдения (mjd); petroRad_u, petroRad_g, petroRad_r, petroRad_i и petroRad_z — радиусы Петросяна для пяти фотометрических каналов; petroFlux_u, petroFlux_g, petroFlux_r, petroFlux_i и petroFlux_z — потоки Петросяна для пяти фотометрических полос. Эти характеристики описывают общее количество света, излучаемого небесными объектами. petroR50_u, petroR50_g, petroR50_r, petroR50_i и petroR50_z — полусветовые радиусы Петросяна для пяти фотометрических полос. psfMag_u, psfMag_g, psfMag_r, psfMag_i и psfMag_z — величины объектов, измеренные с использованием функции рассеяния точек (PSF) в пяти фотометрических диапазонах. expAB_u, expAB_g, expAB_r, expAB_i и expAB_z — отношение осей экспоненциальных аппроксимаций к световому профилю небесных объектов, наблюдаемых в пяти фотометрических каналах.

Координаты

Как и у городов, у каждого объекта в небе есть два числа, которые фиксируют его местоположение, называемые прямым восхождением и склонением, чаще называемыми небесными координатами объекта. координаты. Склонение соответствует широте, а прямое восхождение — долготе. Подобно сетке широты и долготы на Земле, космос отображается как сфера с Землей в центре. Экватор, который отмечает линию широты 0°, окружает небо как небесный экватор, в то время как северный и южный небесные полюса парят над обоими концами полярных осей планеты. Если смотреть с экватора Земли, небесный экватор начинается на восточном горизонте, проходит прямо над головой и опускается к западному горизонту. Поскольку мы находимся внутри сферы, она будет продолжаться и вокруг задней стороны Земли. В средних широтах небесный экватор находится посередине между горизонтом и точкой над головой, а с полюсов небесный экватор окружает горизонт. Все, что находится к северу от небесного экватора, имеет северное склонение, отмеченное положительным знаком. Все, что находится к югу от экватора, имеет отрицательное склонение, записанное с отрицательным знаком. Хотя мы используем физическое местоположение на Земле в качестве точки отсчета для долготы, на космическом уровне она очень похожа. Астрономы используют точку, куда Солнце попадает в первый день весны, называемую день весеннего равноденствия, как показано на рис. 11. В настоящее время она находится в созвездии Рыбы. Небо можно рассматривать как часы, поскольку оно вращается вместе с вращением Земли, поэтому нулевая точка прямого восхождения называется «0h» для «нулевых часов». В отличие от долготы, прямое восхождение измеряется только в одном направлении на восток. Поскольку в сутках 24 часа, каждый час прямого восхождения, измеренный вдоль экватора, равен 1/24 окружности (360°, деленное на 24) или 15°. Это чуть больше половины ширины W-образного созвездия Кассиопеи. В отличие от земных координат, небесные координаты изменяются из-за медленного колебания земной оси, называемого прецессией. Прецессия заставляет точки равноденствия смещаться на запад со скоростью 50,3 угловых секунды в год. Когда точка равноденствия смещается, она тащит за собой координатную сетку. Вот почему звездные каталоги и программное обеспечение должны регулярно обновляться до последней «эпохи». Это делается каждые 50 лет. В наших данных ra и dec указаны как координаты эпохи J2000.0, которые относятся к 2000–2050 годам.

кодировка ярлыка

Алгоритмы машинного обучения обычно требуют числовых данных в качестве входных данных, а преобразование целевых меток в числовые значения позволяет алгоритмам работать эффективно. В этом случае присвоение 0 «галактикам», 1 «звездам» и 2 «QSO» позволяет алгоритму рассматривать три разных класса как отдельные числовые категории.

обнаружение выбросов

Обнаружение выбросов выполняется при предварительной обработке данных для выявления и обработки точек данных, которые значительно отличаются от большинства данных. Выбросы — это точки данных, которые существенно отклоняются от типичных шаблонов в наборе данных и могут оказать значительное влияние на производительность моделей машинного обучения. Обнаружение и устранение выбросов обеспечивает качество данных, производительность и надежность модели, а также интерпретируемость. В этом исследовании будет использоваться фактор локального выброса (LOF), это популярный алгоритм обнаружения выбросов, который измеряет отклонение локальной плотности точки данных по отношению к ее соседям. Он присваивает оценку аномалии каждой точке данных на основе ее локальной плотности по сравнению с плотностью ее соседей. Алгоритм LOF можно использовать для идентификации точек данных, которые значительно менее плотны, чем их соседи, которые, вероятно, будут выбросами. Сначала для каждой точки данных в наборе данных вычисляется расстояние до k ближайших соседей (k-расстояние). Значение k является определяемым пользователем параметром и определяет количество рассматриваемых соседей. k-расстояние дает оценку того, насколько близко или далеко точка данных находится от своих k-ближайших соседей. Во-вторых, рассчитывается плотность достижимости (RD). Плотность достижимости или расстояние достижимости между Xi и Xj определяется как максимум k-расстояния Xj и фактического расстояния между Xi и Xj. С точки зрения непрофессионала, если точка Xi находится в пределах K-соседей Xj, расстояние достижимости будет K-расстоянием Xj, в противном случае расстояние достижимости будет расстоянием между Xi и Xj.

RD(Xi, Xj)=max(K — dis(Xj), dis(Xi, Xj))

В-третьих, будет рассчитана локальная плотность достижимости. Оно обратно пропорционально среднему расстоянию достижимости данной точки данных A от ее соседей. Интуитивно согласно формуле LRD, чем больше среднее расстояние достижимости (т. Е. Соседи находятся далеко от точки), тем меньше плотность точек вокруг конкретной точки. Это говорит о том, как далеко точка находится от ближайшего кластера точек. Низкие значения LRD означают, что ближайший кластер находится далеко от точки.

Наконец, рассчитывается фактор локального выброса (LOF). LRD каждой точки используется для сравнения со средним LRD ее K соседей. LOF представляет собой отношение среднего LRD K соседей A к LRD A. Интуитивно, если точка не является выбросом (выбросом), отношение среднего LRD соседей приблизительно равно LRD точки (поскольку плотности точки и ее соседей примерно равны). В этом случае LOF почти равен 1. С другой стороны, если точка является выбросом, LRD точки меньше среднего LRD соседей. Тогда значение LOF будет высоким. Однако определение выброса, если LOF > 1, не является правилом, на самом деле оно обычно не дает окончательного результата.

Перевыборка данных

Основное препятствие с несбалансированными данными заключается в том, что существует слишком мало примеров класса меньшинства, чтобы модель могла эффективно изучить границу решения. Один из способов решить эту проблему — передискретизировать примеры в миноритарном классе. Этого можно достичь, просто продублировав примеры из класса меньшинства в наборе обучающих данных перед подгонкой модели. Это может сбалансировать распределение классов, но не дает модели никакой дополнительной информации. Как видно на гистограмме, представляющей наши три класса (рис. 1), в наших данных наблюдается большой дисбаланс. В этом исследовании будет использоваться встроенная технология передискретизации синтетического меньшинства imblearn (SMOTE). Методология функции SMOTE заключается в выборе k примеров, близких в пространстве признаков, проведении линии между примерами в пространстве признаков и построении нового образца. в точке вдоль этой линии в перспективе создания более полных выборок для данных меньшинства. После передискретизации данных каждый класс будет иметь количество 52343.

изменение формы переменных

Чтобы избежать потенциальных ошибок или несоответствий во время обучения и оценки модели, целевые переменные (y_ra и y_dec) должны быть изменены. Большинство библиотек машинного обучения, в том числе scikit-learn, ожидают, что целевые переменные будут в формате двумерного массива. Первое измерение представляет количество выборок (точки данных), а второе измерение представляет количество целевых переменных (выходные измерения). В контексте предсказания небесных координат каждая точка данных представляет астрономический объект, и у нас есть две целевые переменные (y_ra и y_dec) для предсказания каждого объекта. Мы будем использовать функцию «изменения формы» NumPy. Конкретная форма целевых переменных после изменения формы будет (num_samples, num_dimensions), где num_samples — общее количество точек данных, а num_dimensions — количество целевых переменных (в данном случае 2).

Построение модели

Для этой задачи регрессии исследование будет использовать случайный лес и регрессор с несколькими выходами, поскольку оно пытается предсказать координаты космического тела, которое включает две переменные. Данные разделены на обучающие (80%) и тестовые (20%) наборы данных. В процессе обучения модель учится сопоставлять объекты с соответствующими небесными координатами. Затем модель получает набор тестовых данных для оценки ее эффективности.

X = reg_df.drop(columns=['ra', 'dec'])
y_ra = reg_df['ra']
y_dec = reg_df['dec']

# Reshape y_ra and y_dec to have two dimensions
y_ra = y_ra.values.reshape(-1, 1)
y_dec = y_dec.values.reshape(-1, 1)

X_train, X_test, y_ra_train, y_ra_test, y_dec_train, y_dec_test = train_test_split(X, y_ra, y_dec, test_size=0.2, random_state=42)
rf_regressor = RandomForestRegressor(random_state=42)
multioutput_regressor = MultiOutputRegressor(rf_regressor)
multioutput_regressor.fit(X_train, np.hstack((y_ra_train, y_dec_train)))

predicted_ra = multioutput_regressor.predict(X_test)[:, 0]
predicted_dec = multioutput_regressor.predict(X_test)[:, 1]

mse_ra = mean_squared_error(y_ra_test, predicted_ra)
mse_dec = mean_squared_error(y_dec_test, predicted_dec)
print("MSE for RA:", mse_ra)
print("MSE for Dec:", mse_dec)

Для оценки регрессионной модели будут использоваться несколько показателей, включая среднеквадратичную ошибку (MSE), среднюю абсолютную ошибку (MAE), относительную квадратичную ошибку (RSE) и показатель R2 (R2), последний будет самое важное в оценке. Оценка R2 — это оценочная метрика, которая варьируется от 0 до 1, чем ближе она к 1, тем лучше производительность модели.

модель немного лучше предсказывала склонение, чем прямое восхождение. Тем не менее, значения R2 для ra и dec, равные 0,997 и 0,999 соответственно, показывают, что модель имеет в целом превосходную точность.