Иерархические модели Байеса обычно используются в маркетинге, политологии и эконометрике. Тем не менее, единственным пакетом, который я знаю, является bayesm
, который действительно является компаньоном для книги (Bayesian Statistics and Marketing, Rossi и др.). Я что-то упустил? Есть ли программный пакет для R или Python, выполняющий эту работу, и/или отработанный пример на связанном языке?
Иерархические байесов для R или Python
Ответ 1
Вот четыре книги по иерархическому моделированию и байесовскому анализу, написанные с использованием кода R на протяжении всех книг.
Иерархическое моделирование и анализ пространственных данных (монографии по статистике и прикладной вероятности) (в твердом переплете) http://www.amazon.com/gp/product/158488410X
Анализ данных с использованием регрессионных и многоуровневых/иерархических моделей (мягкая обложка) http://www.amazon.com/Analysis-Regression-Multilevel-Hierarchical-Models/dp/052168689X/ref=pd_sim_b_1
Байесовское вычисление с R (используйте R) (мягкая обложка) http://www.amazon.com/Bayesian-Computation-R-Use/dp/0387922970/ref=pd_bxgy_b_img_c
Иерархическое моделирование для наук об окружающей среде: статистические методы и приложения (Oxford Biology) (Мягкая обложка) (я предполагаю, что у этого есть R-код, поскольку оба автора широко используют R)
Я знаю, что некоторые книги по питону увлекаются многомерным анализом (Коллективный разум, например), но я не видел ни одной, которая действительно углублялась бы в байесовское или иерархическое моделирование.
Ответ 2
Есть пакеты поддержки OpenBUGS и R. Проверьте сайт Гельмана для своей книги, в которой есть большинство соответствующих ссылок:
На стороне Python я знаю только PyMC:
EDIT: добавлена ссылка на соответствующее приложение из книги Гельмана, доступное в Интернете, например, с использованием R и BUGS.
Ответ 3
Есть несколько иерархических моделей в MCMCpack для R, что, насколько мне известно, является самым быстрым сэмплером для многих распространенных типов моделей. (Я написал в нем [иерархический элемент ответа] [2].)
[RJAGS] [3] делает свое имя. Составьте код с жужжащей моделью .bug, введите данные в R и вызовите Jags из R.
Ответ 4
в python, попробуйте PyMC. Ниже приведен пример многоуровневого моделирования: http://groups.google.com/group/pymc/browse_thread/thread/c6ce37a80edf7f85/1bfd9138c8db891d
Ответ 5
Я применяю иерархические модели Байеса в R в сочетании с JAGS (Linux), а иногда WinBUGS (Windows или Wine). Обратите внимание на книгу Эндрю Гельмана, о которой говорилось выше.
Ответ 6
В пакете lme4, который оценивает иерархические модели с использованием методов частых, имеет функцию mcmcsamp, которая позволяет вам выбирать из заднего распределения модели с использованием MCMC. В настоящее время это работает только для линейных моделей, к сожалению.
Ответ 7
Этот ответ приходит с опозданием почти на десять лет, но, надеюсь, он поможет кому-то в будущем.
Пакет brms
в R является очень хорошим вариантом для байесовских иерархических/многоуровневых моделей, использующих синтаксис, очень похожий на пакет lme4
.
Пакет brms
использует вероятностный язык программирования Стэна сзади, чтобы сделать выводы. Стэн использует более продвинутые методы выборки, чем JAGS и BUGS, такие как гамильтониан Монте-Карло, который обеспечивает более эффективные и надежные выборки из апостериорного распределения.
Если вы хотите смоделировать более сложные явления, то вы можете использовать пакет rstan
для компиляции моделей Stan из R. Существует также Python альтернатива PyStan
. Однако, чтобы сделать это, вы должны научиться использовать Stan.