Поиск вспышек на красных карликах методами ML
Вот уже больше года принимаю участие в научном исследовании – поиск вспышек на красных карликах в данных обзорного телескопа в качестве Data scientist’а. Огромное спасибо международной команде профессиональных астрономов из SNAD, что дали возможность принять участие в этом путешествии! Подробнее об этом исследовании написал Яндекс в статье на Хабре. Яндексу огромное спасибо за предоставленный грант на использование ДатаСферы, в которой мы проводили свои эксперименты и получали предсказания! Мне бы хотелось здесь отметить несколько интересных моментов, с которыми мы столкнулись в процессе работы над этим исследованием. 1. Наши данные временные ряды – изменения яркости звезды от времени (далее по тексту кривая блеска). Размеченных данных для данного обзорного телескопа (ZTF) не было – мы прибегли к симуляции. Сгенерировали кривые блеска для вспышек, используя кривые блеска космического телескопа TESS. После первых экспериментов, анализируя важность признаков, которые определял классификатор, мы нашли сильную корреляцию с ошибками кривой блеска, чего быть не должно. В итоге мы поняли свою ошибку, на этапе симуляции, когда мы «накладывали» на форму вспышки из TESS ошибки из ZTF, мы не учли, что ошибки в разных областях неба сильно отличаются. Если наземный телескоп смотрит почти в зенит, луч света от звезды меньше искажается земной атмосферой, а наблюдения вблизи горизонта дают большие ошибки. Важный вывод – не пропускать анализ важности признаков (feature importance), даже если вы не ожидаете там чего-то необычного. 2. Сначала мы обучали два классификатора параллельно: один на фичах построенных по аналитическим формулам, фактически это экспертное знание, которое можно получить из кривой блеска. А второй классификатор обучался на фичах полученных из нейросетевой модели ROCKET, на вход которой подавался исключено временной ряд. В итоге наилучший классификатор получился объединением набора обоих фичей. Сделаю осторожный вывод, он подкрепляется моим опытом в других задачах, что наилучший результат показывают модели, которые учитывают экспертное знание, если несогласны или у вас есть похожий опыт – поделитесь в комментариях. 3. После первого классификатора, нам пришлось реализовывать второй, мы назвали его постфильтр, т.к. конверсия полезного сигнала была не велика. Первый классификатор помечал, как вспышку пролет астрероидов, переменные звезды и артефакты данных. Как мы победили эту проблему читайте в статье на Хабре, здесь я хотел бы остановиться на астероидах. Дело в том, что когда астероид нашей Солнечной системы пересекает луч зрения на далекую звезду, то на кривой блеска это похоже на вспышку. Среди изученных нами данных после первого классификатора из 51 тыс. кривых блеска примерно 15% были известные астероиды. Мы их отсеяли с помощью астросервиса, который по координатам и времени наблюдения может сказать ожидался ли в этом участке неба пролет известного астероида. Всего в датарелизе ZTFпорядка 100 млн. кривых блеска, мы работали с трешхолдом (вероятность того что это вспышка) равным 0.9998, в данных осталось еще очень много для исследования! Наш классификатор позволяет находить астероиды, а значит можно попытать удачу и открыть неизвестный науке астероид, если вам повезет, вы сможете дать ему название, если вам очень повезет, вы можете открыть потенциально угрожающий Земле астероид и прославиться спасителем Человечества! Призываю всех не равнодушных:)– делайте науку с ML!