У 3 варіантах BUGS (openBUGS / winBUGS, джеги) прорізи здаються найбільш перспективними щодо майбутнього розвитку функції, а openBUGS / winBUGS, здається, є мертвими проектами. Однак, джегам все ще не вистачає делікатесів у openBUGS / winBUGS (також дивіться тут ). З іншого боку, джеги усунули деякі обмеження, наявні в WinBUGS, наприклад:
x ~ dnorm(0, tau)
tau ~ dgamma(1.0E-3, 1.0E-3) # in WinBUGS, you cannot do this, 1.0E-3 is too small
# for dgamma (use e.g. dgamma(0.01, 0.01))
Хороша новина полягає в тому, що з більшістю моделей ви можете запускати їх у всіх 3-х інструментах лише з мінімальними змінами, тож ви можете пізніше перейти на інший інструмент без особливих проблем (саме це я і роблю).
Однак, з якихось причин (наприклад, відсутність паралелізму та характеру інтерпретації) не вірно, що ці варіанти BUGS - це найшвидший спосіб зробити байєсівський аналіз! Насправді зовсім навпаки. BUGS-проекти добре перевірити та розробити складні моделі на невеликих наборах даних . Після того, як у вас розроблена модель і вам потрібно запускати її неодноразово на великих наборах даних, ефективніше використовувати різні інструменти.
Наприклад, CppBugs комбінація / rcpp на 5-10 разів швидша, ніж варіанти BUGS. Принцип полягає в тому, що ви в основному компілюєте свою модель в програму C ++, яка працює набагато швидше. Крім того , подивіться на блозі Дірка Eddelbuettel для випробування Rcpp - виглядає жорстоко швидко. Ви також можете грати з паралелізмом.
Ви також можете робити паралельні обчислення в WinBUGS, використовуючи bugsparallel .
R<(Matlab,Python)<C
з точки зору ефективності (див., Наприклад, посилання ).