Поиск публикаций  |  Научные конференции и семинары  |  Новости науки  |  Научная сеть
Новости науки - Комментарии ученых и экспертов, мнения, научные блоги
Реклама на проекте

В чем преимущества байесовой статистики и MCMC алгоритмов для популяционной экологии?

Monday, 09 December, 07:12, d-kishkinev.livejournal.com
На неделе коллега-постдок делал доклад. Рассказывал о пластичности у ласточек. Поясню: есть около 40 лет данных по ласточкам, гнездящимся на северном берегу озера Эри. За это время есть данные по истории индивидуальных сроков гнездования, размеру кладки, количеству вылетевших из гнезда птенцов. Плюс есть данные по весенним температурам, грубая оценка биомассы еды (насекомых).

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

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

Представив исходные данные, коллега перешел к методам расчета, которые основаны на сложнейшей и очень затратном по вычислению методе - Monte Carlo Markov Chain (MCMC) algorithms, для чего применялся какой-то из известных пакетов R (coda кажется). Количество итераций было более 5 000 000 (!). Для каждого расчета, коллега ждал, когда кластер из 6 вполне современных Маков просчитает это всё 3+ дня (!). Естественно, не каждый раз это приводило к желанному результату, и в итоге недели времени были потрачены впустую с точки зрения расчетов (естественно коллега занимался другими вещами во время калькуляций). На вопрос, почему MCMC, зачем столько итераций, почему не старые добрые general linear models (GLM), коллега ответил что-то типа "мой руководитель" (т.е. наш общий руководитель) в этом моделировании особо не понимает, отослал меня к другому профу на факультете, а тот, помятуя, что MCMC сейчас модно в экологической литературе, сказал, что делать нужно так. А почему именно так, а не иначе, и в чем преимущества и недостатки данных алгоритмов, он не знает. Уверен, что будет написана еще одна статья, где еще один человек будет делать то, в чем ни фига не разбирается, но что cool & trendy. Классический пример того, что если в России очень многие экологи о таких методах даже не слышали, то на западе новые математические методы возникают раньше, чем освоены старые, все всё жадно схватывают, но очень мало кто из профессоров (не говоря о постдоках и аспирантах) глубого это понимает, а значит может по простому рассказать, что это такое, как это правильно применять, зная преимущества и недостатки. Я понимаю, что, используя дешевеющие компьютерные мощности, можно "гонять модельки" всё быстрее и быстрее, но вот стоит ли их гонять, не понимая, в чем их суть?

Я человек далекий от моделирования и мне хочется спросить: кто-нибудь может в виде тезисов объяснить:

(1) В чем смысл MCMC алгоритмов в популяционной экологии, в частности, в вышеприведенным примере (ну или другой пример экологической задачи)? Еще меня интригуют пресловутые MCMC convergence. Что это такое?

(2) Преимущества/недостатки MCMC? В каких случая эти методы особенно продуктивны, а в каких случаях их лучше не применять, просто потому что задачи можно решить другими, менее затратными методами?

Особенно мнение vlad_kosarev интересно :)  Желательно, чтобы это не только ссылка на очередные статьи и учебники. Я к литературе обращусь и знаю примерно, с чего начать, но хотелось бы сначала общее понимание получить.

UPD1 У меня всё же есть очень приблизительное представление о Monte Carlo algorithms. Мне понятно, что они основаны на многократных повторениях взятия выборок для того, чтобы вычислить искомые параметры методом аппроксимации. К примеру, если бы мы хотели не геометрически вычислить параметр Пи, а аппроксимировать его за счет MC, то мы бы поступили так: нарисовали бы круг, вписанный в квадрат. Зная, что отношение площади круга к площади того, что лежит вне круга в данном квадрате это пи/4, задача сводиться к нахождению отношений этих двух площадей. Далее, нам нужны выборки данных. Мы берем бусинки и разбрасываем их по данной фигуре, стараясь это делать равномерно по всей фигуре и считая, сколько бусинок лежит в круге, а сколько вне его, и вычисляем пи, имею в виду вышеуказанное соотношение. Далее, повторяем эту процедуру с разным количеством бусинок: 3, 30, 300, 3000, 30000. С 30 000 бусинок, распределенных равномерно, наша аппроксимация пи будет довольно близка к истине (википедия пишет, что 0.07% от реального значения в 20% случаях). Я так понимаю, что в данном примере, каждый бросок бусинок по фигуре формирует prior probability, которую мы сопоставляем с posterior, которая генерируется следующей выборкой. Если размер выборки у нас небольшой, то prior to posterior у нас будут плясать широко, а вот после очередного N бусинок, уже различия между аппроксимациями, вычисленными после каждого броска, будут небольшие. Это и называется convergence? Правильно я понимаю?

Теперь к нашему примеру. Правильно ли я рассуждаю? Скорее всего несу чушь, но может быть и не совсем.

Мы, к примеру, предполагаем линейную связь между майской температурой и сроком откладки первого яйца (а линейная ли она?), но не знаем коэффициента регрессии, который и есть наша искомая plasticity. Следуя логики "расчет через аппроксимация", мы начинаем с любого коэффициента, от балды. К примеру, предполагаем, что он в среднем равен 0.5 и распределен нормально. Это и есть наша prior. Далее мы делаем выборку из наших данных, беря каждую десятую птицу и сравниваем полученное распределение с нашем отбалдовым. Мы, вернее компьютер, это повторяем многократно. Далее увеличиваем выборку, беря каждую пятую птицу (20% от наших данных, опять же чтобы равномерный был sampling). Ну и так далее, доходя до использования всех наших данных полностью. Далее мы понимаем, что на промежутке от каждой пятой до каждой птицы значение коэффициента уже сильно не изменяется между выборками. Ну мы и довольно данной аппроксимацией, говоря, что начиная с выборки из 20% от наших данных, у нас вычисляется коэффициент с приемлимой точностью. Если это так, то что нам мешает сразу пойти в лоб, взять все имеющиеся данные и просто сделать линейную регрессию между температурой и сроками откладки первого яйца? Зачем столько мучений с MCMC? Наверное я чего-то недопонимаю. Наверное это имеет смысл, если уже собраны некоторые данные, сформирован prior probability. Далее мы начинаем собирать данные еще, но не хотим заниматься этим всю жизнь или же тратить кучу денег на множество повторений изъятия выборок, ну и мы начинаем собирать и сравнивать, собирать и сравнивать. После некоторого количества повторений мы понимаем, что всё, аппроксимация не улучшается и прекращаем это дело с удовлетворительным результатом аппроксимации. А от Монте Карло здесь то, что есть алгоритм изъятия выборок, которые должны быть равномерны, и отсюда все эти random walk и прочие варианты. 
Читать полную новость с источника 

Комментарии (0)