Воспроизводимые научные исследования

Прикладная математика с точки зрения «чистого» математика

Автор
Организация

Е.Н. Матеров

ФГБОУ ВО Сибирская пожарно-спасательная академия ГПС МЧС России

Дата публикации

7 февраля 2025 г.

Воспроизводимые научные исследования

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

Возникает множество вопросов при рассмотрении воспроизводимости: как осуществить воспроизводимое исследование? Каковы критерии воспроизводимого эксперимента и границы доверительного интервала, в рамках которого исследование воспроизводимо?

Несомненно, вопрос что понимать под воспроизводимостью во многом зависит от предметной области. В экспериментальных науках должны быть отражены достаточная документация о характере набора данных и инструкции по использованию. Рядом с данными измерений должно быть представлено подробное описание экспериментальной установки и измерительных приборов для тех, кто заинтересован в понимании точной установки или в проведении аналогичных экспериментов. Физики и химики, как правило, наиболее уверены в публикуемой литературе. Еще лучше дела обстоят в компьютерных науках, но проблемы в воспроизводимости могут встречаться и тут. Однако как быть с психологией, социологией? Данные, которые представлены сегодня, могут устареть через несколько дней, например, когда изменится политическая ситуация или пройдут выборы.

Почему сейчас все чаще говорится о кризисе воспроизводимости? Согласно опросу, опубликованному в статье [1], более 70% исследователей пытались и не смогли воспроизвести эксперименты другого ученого, и более половины не смогли воспроизвести свои собственные эксперименты. В 2005 John P. A. Ioannidis, внесший значительный вклад в доказательную медицину, эпидемиологию и клинические исследования, опубликовал эссе Why Most Published Research Findings Are False, в котором он писал:

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

Можно привести множество примеров, в которых исследования проводится небрежно, это известное дело The “Baltimore Affair”, скандал, в котором Anil Potti допустил несколько ошибок в электронных таблицах, что навредило пациентам в клинических испытаниях. Особенно чувствительны ошибки в медицине, где неверные выводы могут нанести большой вред, здесь необходимо проявлять особую осторожность, чтобы проводить научные исследования, которые хорошо документированы и воспроизводимы.

Воспроизводимость невозможна без открытого доступа. Это не только повышает доверие к исследованиям, но и является важным аспектом для того, чтобы можно было делиться своими результатами с другими исследователями. Статьи, которые находятся в свободном доступе в Интернете, цитируются значительно чаще, чем те, которые не находятся в свободном доступе. Репозиторий публикаций — это онлайновая база данных публикаций, в которую авторы могут загружать свои публикации/препринты с информацией о них. В настоящее время существует ряд тематических репозиториев, объединяющих публикации по определенной теме. Известными примерами такого рода являются arXiv (см. http://www.arxiv.org) или Zenodo. Такие хранилища также создаются в организациях, и все больше журналов дают такую возможность авторам. Идентификатор цифрового объекта DOI также облегчает поиск данных, это уникальный номер, который идентифицирует цифровой объект (а не его местоположение, как это делает URL). DOI можно рассматривать как эквивалент международного стандартного номера книги (ISBN) для цифровых документов.

Открытость результатов исследований может иметь различные последствия. В 2023 году профессор Гарварда Франческа Джино подала на авторов блога Data Colada в суд за клевету после того, как они уведомили Гарвард о доказательствах мошенничества в четырех исследованиях, соавтором которых она была. Авторы расследования обобщили доказательства в четырех сообщениях в своем блоге. Подозрения вызвали аномалии в экстремальных наблюдениях, расследование показало манипуляции, связанные с опубликованными Excel-файлами полевых исследований. Вполне возможно, что если бы данные исследования не были в открытом доступе, такого рода скандал бы не случился.

Воспроизводимость результатов в математике

В математике существует множество различных вопросов, связанных с воспроизводимостью результатов. В первую очередь, это длинные доказательства. Существует список длинных математических доказательств, в котором утверждается, что на 2011 год самым длинным математическим доказательством, измеренным по количеству опубликованных журнальных страниц, является классификация конечных простых групп, имеющая более 10 000 страниц.

Кроме того, есть множество математических теорем, которые были проверены с помощью длинных компьютерных вычислений, и если бы они были записаны как доказательства, многие из них были бы записаны как сотни тысяч страниц. Одна из последних решенных в 2024 году задач — контрпример к так называемой Bunkbed Conjecture, в процессе поиска которого авторы запускали код на Linux кластере с 174TB памяти. Несмотря на сказанное выше, утверждения, которые имеют длинные вычисления, в том числе компьютерные, все-таки можно проверить за конечное время.

Ограничена ли длина математических доказательств? Пример, который можно привести, — это теорема Гёделя-Басса об ускорении. В статье Басса (см. также статью Insanely Long Proofs) обсуждаются нижние границы длины доказательства, особенно измеряемые числом шагов (выводов). Теорема Гёделя 1936 года, которая была сформулирована в аннотации к статье «О длине доказательств» говорит, что хотя некоторые предложения арифметики истинны, но недоказуемы, есть другие предложения, которые доказуемы, но даже самое короткое доказательство длиннее любой границы, данной заранее как рекурсивная функция предложения. Басс доказал это утверждение Гёделя о длине доказательств и привел второе доказательство теоремы, которое избегает самореференции. Таким образом, мы можем (теоретически) сформулировать теорему, кратчайшее доказательство которой в арифметике Пеано содержит… скажем, \(10^{10^{10}}\) символов.

Как быть, если публикации содержат самоцитирования автора или ссылки на другие публикации, утверждения следуют из ранее доказанных, либо доказательства столь длинны, что сложно проверяемы? Пример такого рода — попытки доказательства abc-гипотезы, например, в препринте A proof of the abc conjecture after Mochizuki на более 400 страниц. К сожалению, есть случаи, когда подобные публикации отзывались по прошествии некоторого времени, в том числе и в математике.

С другой стороны, можно ли считать воспроизводимым набросок доказательства? Такой вопрос можно поставить начиная от великой теоремы Ферма (или последней теорема Ферма), на доказательство которой математическому сообществу потребовалось более 350 лет, до доказательства Перельманом гипотезы Пуанкаре, поскольку работы Григория Перельмана были опубликованы как препринты без полных деталей доказательства результатов и не получили статуса официальной научной публикации.

Как еще можно интерпретировать воспроизводимость в математике? Проект Lean — это инициатива, направленная на создание и развитие интерактивной системы для формальной верификации математических доказательств с использованием языка программирования и доказательств Lean. Lean представляет собой функциональный язык программирования и одновременно среду для проверки математических утверждений, которая позволяет математикам и программистам формально записывать и проверять теоремы с помощью компьютера. Один из такого рода проектов — Terence Tao и Kevin Buzzard в мае 2024 года запустили пятилетний проект по формализации доказательства Великой теоремы Ферма с помощью Lean, о чем Kevin Buzzard написал в анонсе The Fermat’s Last Theorem Project. Непосредственно за программой проекта (авторы Kevin Buzzard и Richard Taylor) можно следить на странице A Blueprint for Fermat’s Last Theorem. Lean не знает достаточно современных математических определений, чтобы хотя бы сформулировать результаты, не говоря уже о проверке таких сложных доказательств. Проект открыт для обсуждения сообщества на форуме, каждый может внести свой вклад, и его развитие может быть разовьет многие из основополагающих теорий современной теории чисел и сделает большой шаг в компьютерной формализации математических результатов.

Воспроизводимость в Data Science

Отдельно рассмотрим вопрос воспроизводимых вычислений в науке о данных (Data Science), которая разрабатывает методы анализа табличных данных, моделирования, визуализации данных и средств для коммуникации и представления результатов анализа. Самыми популярными языками программирования в настоящий момент в Data Science являются Python, R и Julia. Все чаще исследователи обращаются к этим языкам программирования при ведении исследований. Свежий пример — книга Reproducible Medical Research with R для всех в медицинской сфере, кто заинтересован в анализе доступных им данных для лучшего понимания здоровья и болезней, предназначенная для самостоятельного обучения. Такого рода материалов становится все больше и больше в самых различных предметных областях.

Мы должны понимать, что в Data Science воспроизводимыми должны быть данные, код и окружение, сохраняющее версии языков программирования и библиотек и их зависимостей, однако можно также поставить вопрос создания производственной среды, которая гарантирует однозначность и предсказуемость состояния системы и обновлений в любой точке, а также возможность возврата к любому предыдущему состоянию средствами ОС, давая одинаковый результат независимо от того, какие библиотеки или файлы конфигурации находятся в системе. Это охватывает все зависимости, которые необходимы вашему коду для запуска, и передает их вместе с вашим кодом в производственную среду.

Достижимость воспроизводимости в компьютерных вычислениях основана на open-source открытости и доступности, включая как сами публикации, код, так и открытое лицензирование кода (см. список лицензий). Например, Papers with Code — это популярный онлайн-ресурс, база научных статей и кода, который объединяет научные статьи в области машинного обучения и искусственного интеллекта с их реализациями в виде кода. Papers with Code предоставляет рейтинги моделей и алгоритмов на основе их производительности на стандартных наборах данных, что помогает быстро определить, какие методы являются state-of-the-art (SOTA) в конкретной области.

Данные

В первую очередь отметим, что для повторного воспроизводства результата мы должны иметь вычищенные данные, например, удовлетворяющие принципу tidy data (что, как правило, случается крайне редко), с перечислением полей и указанием типов, и уметь обеспечивать их валидацию. Все переменные должны быть задокументированы, в частности, если речь идет о больших объемах данных, то здесь может помочь каталог данных — центральное хранилище информации о структуре, свойствах и отношении между данными. Каталог позволяет различным пользователям легко находить, понимать и использовать данные для принятия решений и выполнения задач (например, платформы метаданных DataBook, DataHub или Amundsen). Также должна сохраняться культура хранения данных, например, такого рода доступ предоставляет Хаб открытых данных.

Контроль версий

Большую роль в воспроизводимости играет так называемая распределенная система версий, как правило под этим понятием на практике подразумевают Git. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, разрешать возникающие конфликты и многое другое. Наиболее популярными системами хостинга Git-репозиториев являются GitHub, GitLab и BitBucket. Кроме размещения и изменения кода, участники могут общаться, комментировать правки друг друга. Преимущества репозиториев в том, что они способны хранить проекты (например, научная статья + данные + код), которые легко клонировать одной командой на компьютер и затем воспроизвести; тем не менее, ниже будет предложен способ лучше для работы с такого рода проектами (Git + Quarto Manuscripts).

Воспроизводимость кода

Кратко отметим, как можно решить вопросы воспроизводимости кода в языках программирования. Начнем с языка Python. Здесь можно создавать виртуальное окружение используя следующую команду:

python3 -m venv myenv

После выполнения команды будет создана папка с именем myenv, где myenv — это имя вашего виртуального окружения. Виртуальное окружение изолировано и после его активации можно устанавливать библиотеки и зависимости. Это позволяет устанавливать различные версии библиотек с помощью менеджера проектов pip или, скажем, более современного uv, изолируя проект, и представляя собой своеобразную песочницу. Данный подход работает и с различными менеджерами библиотек, например conda. Также возможно “заморозить” все текущие pip библиотеки, записав в файл requirements.txt используя команду

pip freeze > requirements.txt

Восстановить при установке предыдущее окружение можно как

pip install -r requirements.txt

Аналогично в conda:

conda myenv export > environment.yml

В языке программирования R также существуют возможности для использования воспроизводимых вычислений. Во-первых, библиотека reprex позволяет создавать воспроизводимые примеры кода вместе с тем, что код воспроизводит. Краткое введение в reprex можно посмотреть в видео от Jenny Bryan. Кроме того, библиотека renv помогает создавать воспроизводимые среды для проектов R. Достаточно создать файл блокировки renv.lock, который записывает с помощью renv::snapshot() метаданные о каждой библиотеке, чтобы окружение можно было переустановить на новой машине командой renv::restore().

Воспроизводимость среды

Отметим, что хорошей практикой для обеспечения воспроизводимости служат написание на основе функций кода собственных библиотек, автоматизация рабочих процессов (скажем, в R с помощью targets), использование Continuous Integration и Continuous Deployment. Одним из источников для более серьезного изучения данного вопроса является книга Building reproducible analytical pipelines with R, которую написал Bruno Rodrigues. Отметим, что также неплохим источником на тему воспроизводимых рабочих процессов в является курс Reproducible and Trustworthy Workflows for Data Science.

Если рассматривать вопрос воспроизводимости глубже, то мы должны учитывать “правильную” версию языка программирования, версию операционной системы и т. д. Здесь могут помочь контейнеры — еще один способ создания изолированных воспроизводимых вычислительных сред. Они отличаются от виртуальных сред архитектурой, масштабируемостью, но в первую очередь — уровнем изоляции, изолируя не только зависимости, но и все окружение, включая операционную систему, системные библиотеки и файловую систему. Наиболее популярный вид контейнеров это Docker. Можно докеризировать целую среду разработки, делясь ими через Docker Hub, либо локально.

Docker + renv (или какой-либо другой способ работы с библиотеками) — это, вероятно, самый популярный способ обеспечить воспроизводимость Data Science проектов, но есть и другие инструменты для достижения этого. Один из таких мощных инструментов называется Nix package manager (пока доступный только для Linux и macOS). Nix — это больше, чем менеджер пакетов, это также язык программирования, который используется для настройки сред. Nix устанавливает необходимое программное обеспечение в отдельных (изолированных) средах и даже устанавливает требуемые системные зависимости. Среда определяется в простом текстовом файле, и любой, кто использует этот файл для создания среды, получит точно такую ​​же среду, как и вы, когда изначально запустили проект, независимо от используемой операционной системы. Помимо менеджера пакетов Nix существует и NixOS — дистрибутив Linux. Модель декларативной конфигурации NixOS позволяет легко воспроизвести конфигурацию системы на другом компьютере. Копирование файла конфигурации на целевой компьютер и выполнение команды обновления системы генерирует ту же конфигурацию системы.

Воспроизводимость отчетов исследовательских проектов

Важно не только уметь работать с данными в Data Science, но и иметь унифицированную среду, объединяющую код, результат его исполнения и повествовательный текст как (воспроизводимый) отчет. Авторы статьи [2] предлагают следующую структуру формата для публикации воспроизводимых исследований — это веб-страница, содержащая следующие элементы:

  1. название публикации;
  2. авторы;
  3. реферат;
  4. полная ссылка на статью с указанием текущего статуса публикации и портативный формат документа (PDF) (в зависимости от политики журнала это может быть PDF самой статьи или последняя версия препринта);
  5. весь код для воспроизведения результатов, изображения и таблицы (код должен быть хорошо документирован, и необходимо добавить файл readme, объясняющий, как его выполнить);
  6. все данные воспроизведения (изображения, измерения и т. д.) для воспроизведения результатов , изображений и таблиц (в дополнительном файле readme объясняется, что представляют собой эти данные);
  7. список конфигураций, на которых тестировался код (версия программного обеспечения, платформа);
  8. возможность оставлять комментарии и замечания (а также сообщать об ошибках).

В зависимости от области исследования может быть предоставлена следующая (необязательная) информация:

  1. изображения с подписями (чтобы люди знали, о чем рисунок X);
  2. ссылки (с аннотациями и ссылками на сайты, где можно скачать полные тексты статей).

Рассмотрим один из возможных инструментов для создания подобного рода веб-страниц для проектов/статей в Data Science — научно-издательскую систему Quarto. Синтаксис Quarto основан на модифицированной версии Markdown и конвертера Pandoc, преобразующий текст в HTML, PDF, MS Word, ePub и другие форматы. Quarto сочетает огромное количество возможностей для создания статей для научных журналов с помощью шаблонов, отчетов, интерактивных HTML-книг, презентаций, постеров для конференций, страниц курсов и многого другого с поддержкой \(\LaTeX\)-формул, Mermaid диаграмм и т. д.

Удобство работы с Quarto состоит в том, что мы работаем с текстом в редакторе при наборе текста (например, VS Code), а готовый документ (MS Word, PDF, EPUB и т. д.) получаем лишь на выходе, когда производим рендер, аналогично тому, как это делается в \(\LaTeX\). Отметим, что можно иметь сразу несколько выходных вторичных форматов документа одновременно (например, указывать в HTML-странице ссылку на PDF). Данный подход делает Quarto привлекательным для совместной работы и сохранения версий документа, поскольку это дает возможность подключить Git-системы для работы, что уже сложно сделать, скажем, с DOCX или PDF. Веб-сайт Quarto дает исчерпывающее руководство, обзор Quarto на русском языке можно прочесть в статье Научно-издательская система Quarto, также по введению в Quarto будет написана книга с рабочим названием Научно-издательская система Quarto. Практическое руководство.

Не так давно в Quarto появился новый интересный формат, который называется Quarto Manuscripts, идея которого хорошо подходит для онлайн публикаций. Обычно, когда создается готовый документ отчета, например, препринта для научной публикации, на выходе все промежуточные вычисления (как и данные) скрыты. Результатом в Quarto Manuscripts будет веб-сайт, который также предоставляет другие форматы (например, PDF), при этом будут также указаны ссылки на исходный ноутбук статьи — HTML-версии блокнота, что позволит просматривать код и его вывод со всеми вычислениями (которые возможно воспроизвести), при этом не покидая браузер. Кроме того, на главной странице проекта возможно сделать отдельную ссылку на Data Screening с исследованием структуры данных, сделать ссылку на загрузку исходного кода блокнота. Пример страницы, оформленной с помощью Quarto Manuscripts, можно посмотреть на сайте La Palma Earthquakes, а также на странице A personal history of the tidyverse. Таким образом, данный формат позволяет одновременно как формировать результат вычислений (например, как рисунки, таблицы, диаграммы), так и хранить гиперссылки с указанием на код, показывающий как те или иные результаты были получены.

Заключение

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

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

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

Список литературы

1.
Stoddart C. Is there a reproducibility crisis in science? // Nature. Springer Science; Business Media LLC, 2016.
2.
Vandewalle P., Kovacevic J., Vetterli M. Reproducible research in signal processing // IEEE Signal Processing Magazine. 2009.

Ссылка для цитирования

BibTeX
@online{матеров2025,
  author = {{Е.Н. Матеров}},
  title = {Воспроизводимые научные исследования},
  date = {2025-02-09},
  url = {https://www.referat-materov-rep-res.netlify.app},
  langid = {ru}
}
На публикацию можно сослаться как
Е.Н. Матеров. Воспроизводимые научные исследования [Electronic resource]. 2025. URL: https://www.referat-materov-rep-res.netlify.app.