Кирилл В (vakhnenko) wrote,
Кирилл В
vakhnenko

Мысли о кризисе воспроизводимости в науке

Если вы не в курсе, сейчас в научных кругах много говорят о так называемом "кризисе воспроизводимости". Вкратце, многие научные статьи, в том числе и в очень престижных журналов, не соответствуют критерию воспроизводимости; то есть попытки повторить те результаты оказываются неудачными. См. reproducibility crisis в гугле, да и в рунете наверняка что-то на тему есть. А ведь воспроизводимость есть основополагающий принцип научного метода, без неё всё сыплется.

Так вот. До того как я в начале этого года вернулся в теплые объятия ойтишной индустрии, я несколько лет проработал микробиологом, just for lulz. Особых лавров на этом поприще не сыскал, но одну публикацию, где я первый автор, таки приняли в неплохом журнале, Докладах Академии Наук США (Proceedings of the National Academy of Sciences). Если вкратце, я фотографировал одни и те же микобактерии в микродивайсе со сквозным течением питательного раствора и (часть времени) антибиотика в течении длительного пероида (~дни), и пытался определить чем те бактерии которых убивает антибиотик рифампицин отличаются от выживших. У меня там была программка для свода аннотаций этих бактерий в единую экспериментальную базу данных, даже графическую оболочку под этот процесс сделал. И была вторая программка для всяческого статистического анализа и моделирования на основе той базы данных. В общем в MATLABе получилось несколько тысяч строк (это не считая кода который сгенерил guide для графической оболочки). Причем делал в данном отношения все я один – сам себе программист, сам себе тестер.

И как думаете, проверили ли на этапе рецензирования манускрипта мой код, без которого этой работы вообще не состоялось бы? А вот хрен! Ревьюеры даже не попросили меня его прислать, чтобы хотя бы запустить его. Я мог с тем же успехом тупо нарисовать все мои красивые графики в фотошопе. И это при том что какая-то добрая душа даже внимательнейшим образом прочла приложение к моей основной статье, которое обычно нафиг никому не нужно, и нашла мелкие очепятки (видимо ревьюер попросил помочь какого-то старательного аспиранта).

А как думаете, попросил ли меня журнал – повторюсь, весьма уважаемый и приличный – прислать им код и сгенерированный оным кодом массив данных по клеткам, дабы дополнить им на своем сайте мою статью? А вот хрен! Так что если кто-то хочет попытаться повторить то, что я сделал – им придется прислать электронное письмо моей бывшей лаборатории, дабы моя бывшая начальница переслала им все это добро.

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

А ведь анализ данных и моделирование в современной биологии становится все более и более важным. Без шуток, если ты нынче работаешь в биологии и хорошо владеешь MATLABом, R, Питоном с NumPy или еще каким-то подобным высокоуровневым языком – можешь шлепать публикации как горячие пирожки, там поле непаханное. И вот многие биологи и пишут всякие программы и модели, зачастую без знания формальных основ программирования, в частности важности тестирования. А ведь тут кровь из носу нужны юнит/интег тесты; системные тесты (который для неопытного человека проще всего) для нового кода в данном случае не годятся, ибо результат заранее неизвестен, наука ведь. Я вот на тестирование своего кода потратил наверное больше времени чем на написание оного, ибо жутко боялся что после публикации у меня вскроется какая-то грубая ошибка (например с сортировкой таблицы в массиве данных), и статью придется отзывать. А многие люди тестированием почти не занимаются, думают что раз, грубо говоря, перестал код ломаться и в IDE больше нет сообщений об ошибках – значит все работает, ура! Они же дико спешат, им публиковаться надо. А потом программы эти не проверяются в ходе рецензирования. А потом они не публикуются даже топовыми научными изданиями. То есть другой ученый который может и хотел бы вникнуть в хитросплетения чужого кода, и понять нет ли там ошибки, даже не в состоянии этого сделать без непосредственного обращения к авторам исследования!

Такие дела. Я вот лично уверен, что вышеуказанное в немалой степени является одной из основных причин ныненешго кризиса воспроизводимости. Как вообще можно воспроизвести чей-то научный результат, не имея аналитического аппарата той научной группы? Даже если ты добросовестно воспроизведешь код другого ученого по информации в методологии, ты не можешь знать не допустил ли тот ученый банальную ошибку в коде, которая сделала результаты анализа просто случайным мусором. И в силу того, что многие ученые-биологи не знают толком как надо программировать правильно, и вдобавок их код не проверяют – вероятность таких ошибков неприемлимо высока.

ЗЫ Пишу конкретно за биологию, ибо знаю как там обстоят дела. Но подозреваю, что во многих других естественнонаучных дисциплинах (как минимум в Life Sciences) всё обстоит так же.
Tags: биология
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 32 comments