Skip to content

KirillShiryaev61/predict_temperature_star

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект: Прогнозирование температуры звезд

🔗 Просмотр Jupyter Notebook

Описание проекта:

Обычно для расчёта температуры звезды учёные пользуются следующими методами:

  • Закон смещения Вина.
  • Закон Стефана-Больцмана.
  • Спектральный анализ.

Каждый из них имеет плюсы и минусы. Обсерватория хочет внедрить технологии машинного обучения для предсказания температуры звёзд, надеясь, что этот метод будет наиболее точным и удобным. В базе обсерватории есть характеристики уже изученных 240 звёзд.

Цель проекта: Найти решение задачи регрессии по определению температуры на поверхности обнаруженных звёзд с помощью нейросети и точностью прогноза RMSE <= 4500.

Описание данных:

  • Luminosity(L/Lo) — светимость звезды относительно Солнца;
  • Radius(R/Ro) — радиус звезды относительно радиуса Солнца;
  • Absolute magnitude(Mv) — абсолютная звёздная величина, физическая величина, характеризующая блеск звезды;
  • Star color — (white, red, blue, yellow, yellow-orange и др.) — цвет звезды, который определяют на основе спектрального анализа;
  • Star type — тип звезды (описание типов в таблице ниже);
Тип звезды Номер, соответствующий типу
Коричневый карлик 0
Красный карлик 1
Белый карлик 2
Звёзды главной последовательности 3
Сверхгигант 4
Гипергигант 5
  • Temperature (K)(Целевой признак) — абсолютная температура на поверхности звезды в Кельвинах.

Ход исследования:

  • Подготовка данных: загрузка и изучение общей информации из представленных датасетов.

  • Предобработка данных: стандартизация данных и обработка явных и неявных дубликатов.

  • Исследовательский анализ данных: изучение признаков имеющихся в датасетах, их распределение, поиск выбросов/аномалий в данных.

  • Корреляционный анализ: изучение взимосвязей между входными признаками и целевыми, а также и между ними.

  • Подготовка данных к обучению модели: деление данных на тестовую и тренировочную выборки, feature engineering, отбор признаков для обучения с помощью mutual_info_regression, построение пайплайна обработки данных.

  • Построение базовой нейронной сети: получение бызовой метрики по тестовой выборки с помощью закона Стефана-Больцмана, построение базовой нейронной сети, где определяется архитектура модели и получение метрики качества ее прогноза на тестовой выборке и анализ результатов.

  • Улучшение нейронной сети: подбор гиперпараметров для ранее полученной нейросети, добавление регуляризации и обучения с помощью батчей, получение метрики качества ее прогноза на тестовой выборке и анализ результатов, тестируется добавление аугментированных данных для улучшения точности прогноза нейросети.

  • Общий вывод: резюмирование полученных результатов, формулировка ключевых выводов.

Результаты работы:

Для получения базовых метрик были использованы закон Стефана-Больцмана и обучена базовая нейросеть, где была определена архитектура модели.

Метрики качества RMSE:

  • Закон Стефана-Больцмана — 7646.102
  • Базовая нейросеть — ~3360.929

Чтобы повысить точность прогноза модели были использованы следующие инструменты:

  • Обучение с помощью батчей;
  • Добавление регуляризации;
  • Подбор гиперпараметров с помощью цикла;
  • Добавление аугментированных данных в тренировочную выборку.

После добавления обучения c помощью батчей и регуляризации в модель, нам удалось улучшить метрику базовой нейросети на ~13%.

Проанализировав прогноз улучшеной модели мы обнаружили, что нейросеть недостаточно хорошо справляется с звездами 4 и 5 типа голубого и бело-голубого цвета. Поэтому было принято решение добавить аугментированных данных, на основе имеющейся тренировочной выборки. К сожалению данный метод не дал должного результата и метрика оказалась хуже, чем у модели обученной на оригинальных данных.

Итоговые результаты в сводной таблице:

Model Description RMSE
Upgrade Neural Network Улучшенная базовая нейросеть с подобранными гиперпараметрами 2911.542
Neural Network Augmented Улучшенная базовая нейросеть обученная с добавлением синтетических данных 3235.010
Baseline Neural Network Базовая нейросеть 3360.929
Baseline Прогнозирование температуры с помощью закона Стефана-Больцмана 7646.102

По итогам работы лучшей моделью стала Upgrade Neural Network.

Выполнены все поставленные задачи работы, найден метод, который лучше прогнозирует температуру звезды с помощью нейросети, а так же достигнут порог требуемого качества прогноза, значение RMSE ниже 4500, она составляет 2911.542.

Технологии:

  • Data Processing: numpy, pandas;
  • Visualization: matplotlib, seaborn;
  • ML & Preprocessing: scikit-learn, PyTorch;
  • Statistical Analysis: scipy, statsmodels (VIF, тесты нормальности);
  • Correlation Analysis: phik — для анализа связей между числовыми и категориальными признаками.

About

Прогнозирование температуры звезд с применением нейронных сетей.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors