Реализация Байесовского подхода для оценки доверительных интервалов в ПО GNA (программирование)
Диплом

Проект GNA — Global Neutrino Analysis — совместное измерение параметров нейтрино из данных нескольких экспериментов (JUNO, Daya Bay и др.) и включает в себя разработку одноименного ПО. В рамках ПО GNA мы работаем над решением следующих проблем, возникающих при анализе данных:

  • Разработка общего фреймворка для реализации сложных моделей экспериментов с большим количеством исследуемых параметров.
  • Возможность с одной стороны гибкой высокоуровневой настройки моделей, а с другой, контроль низкоуровневых особенностей вычисления. Высокая эффективность.
  • Разделение физических и программистских задач.

В GNA сложная функция, выполняющая, например, вычисление сигнала, наблюдаемого в эксперименте строится как направленный граф. Каждый узел графа выполняет некоторую элементарную операцию (матричное произведение, вычисление сечения взаимодействия, интегрирования и др) и называется трансформацией. Трансформация производится сразу на массиве данных, а её результат кешируется, что позволяет реализовать подход ленивых вычислений.
В пакет GNA входит инструментарий для создания и настройки дерева вычислений, статистического анализа данных, функции для оформления результатов.

Проект находится на альфа версии, тем не менее уже используется несколькими группами для анализа данных эксперимента Daya Bay и оценки чувствительности эксперимента JUNO. Текущая версия документации: http://gna.pages.jinr.ru/gna/.

Определение доверительных интервалов методом Байеса

Можно выделить два основных фундаментальных подхода к определению доверительных интервалов, используемых в физике частиц: метод Фельдмана-Казинса и метод Байеса.

  1. Метод Фельдмана-Казинса реализует общий алгоритм для построения доверительных интервалов (confidence interval, CI) в рамках частотного подхода к статистике. Для каждой точки исследуемого пространства, как правило одно- или дву- мерного, подход предполагает генерацию большого числа экспериментов по методу Монте-Карло и подгонку модели под каждый из них для построения распределения тестовой статистики. Подгонка осуществляется по остальным параметрам, как правило, известным с неопределенностью. Распределение тестовой статистики впоследствии используется для сравнивается с наблюдаемой статистикой.
  2. Для поиска доверительных интервалов (credible interval, CR) в рамках подхода Байеса необходимо сначала построить плотность вероятности измерения параметров для текущих экспериментальных данных. Для этого, для каждой точки интересующего нас пространства производится численное вычисление интеграла по всем остальным параметрам от произведения функции правдоподобия на априорное распределение вероятности. Поскольку параметров в наших задачах сотни и более, для интегрирования планируется использовать методы Монте-Карло.

В настоящее время в рамках GNA реализован метод Фельдмана-Казинса в общем виде. Задача предполагает следующие пункты:

  • Реализация многомерного интегрирования по методу Монте-Карло.
  • Реализация метода Байеса в общем виде.
  • Демонстрация работоспособности метода на простых моделях.
  • Сравнение с методом Фельдмана-Казинса.

К обязательным требованиям относятся:

  • Документация кода в doxygen, пользовательская документация в reStructuredText, подготовка unit-тестов.

Предполагаемый технологический стек:

  • Python: numpy, scipy, matplotlib.
  • C++: C++14(17), Eigen, Boost.
численные методы, доверительные интервалы, анализ данных, GNA, разработка ПО