Мне было интересно, какой пакет статистических программ вы, ребята, порекомендуете для выполнения байесовского вывода.
Например, я знаю, что вы можете запускать openBUGS или winBUGS как автономные или вы также можете вызывать их из R. Но R также имеет несколько своих собственных пакетов (MCMCPack, BACCO), которые могут выполнять байесовский анализ.
У кого-нибудь есть какие-либо предложения относительно того, какой пакет байесовской статистики в R является лучшим или о других альтернативах (Matlab или Mathematica?)
Основные характеристики, которые я хочу сравнить, - это производительность, простота использования, стабильность и гибкость.
R<(Matlab,Python)<C
с точки зрения эффективности (см., Например, ссылку ).Ответы:
Варианты внешних БАГОВ являются стандартными. Работа в R может быть удобной, но я бы удивился, если бы эти пакеты были такими же зрелыми и работали. Использование библиотеки, которая соединяет R и внешнюю программу, обычно является наиболее распространенным компромиссом.
Я использую комбо jags / rjags (jags можно грубо считать диалектом ошибок). Я не пробовал другие варианты ошибок, но отчеты, которые я слышал, о том, что производительность и способность jags справляться с числовыми проблемами немного лучше, чем у других вариантов ошибок. Я считаю, что зазоры просты в использовании, но, конечно, вам нужны знания по анализу байесовских данных, чтобы знать, как их использовать.
источник
Из трех вариантов BUGS (openBUGS / winBUGS, jags), как представляется, наиболее перспективными для разработки будущих функций являются зазубрины, а openBUGS / winBUGS кажутся мертвыми проектами. Тем не менее, в jag по-прежнему отсутствуют некоторые тонкости, присутствующие в openBUGS / winBUGS (см. Также здесь ). С другой стороны, jags снял некоторые ограничения, присутствующие в WinBUGS, например:
Хорошая новость заключается в том, что с большинством моделей вы можете запускать их во всех трех инструментах с минимальными изменениями, поэтому вы можете переключиться на другой инструмент позже без особых проблем (это то, что я делаю).
Однако по некоторым причинам (например, из-за отсутствия параллелизма и природы интерпретатора) неверно, что эти варианты BUGS являются самым быстрым способом выполнения байесовского анализа! На самом деле совсем наоборот. Проекты BUGS хороши для тестирования и разработки сложных моделей на небольших наборах данных. . После того, как вы разработали модель и вам нужно многократно запускать ее для больших наборов данных, более эффективно использовать различные инструменты.
Например, комбо CppBugs / rcpp называется в 5-10 раз быстрее, чем варианты BUGS. Принцип заключается в том, что вы в основном компилируете свою модель в программу на C ++, которая работает намного быстрее. Также посмотрите блог Дирка Эддельбюттеля для теста Rcpp - выглядит быстро. Вы также можете играть с параллелизмом.
Вы также можете выполнять параллельные вычисления в WinBUGS, используя bugsparallel .
источник
Stan
скорее всего, станет частью программного обеспечения для моделей Байесовских.