OpenBugs vs. JAGS


41

Za chwilę wypróbuję środowisko w stylu BUGS do szacowania modeli bayesowskich. Czy są jakieś ważne zalety, które należy wziąć pod uwagę, wybierając pomiędzy OpenBugs lub JAGS? Czy jedna może zastąpić drugą w dającej się przewidzieć przyszłości?

Będę używać wybranego Gibbsa Samplera z R. Nie mam jeszcze konkretnej aplikacji, ale raczej decyduję, którą zainstalować i nauczyć się.


Odpowiedzi:


34

BŁĘDY / OpenBugs ma osobliwy system kompilacji, który utrudniał kompilację kodu w niektórych systemach - takich jak Linux (i IIRC OS X), gdzie ludzie musieli uciekać się do emulacji Windows itp.

Z drugiej strony Jags to zupełnie nowy projekt napisany przy użyciu standardowych narzędzi GNU, a zatem przenośny w prawie dowolnym miejscu - a zatem przydatny wszędzie.

Krótko mówiąc, jeśli twój system to Windows, masz wybór i potencjalny koszt utknięcia w Bugs, jeśli kiedykolwiek się przeprowadzisz. Jeśli nie korzystasz z systemu Windows, prawdopodobnie Jags będzie lepszym wyborem.


6
W systemie Linux emulacja okna nie jest konieczna, można bezpośrednio korzystać z biblioteki współużytkowanej. Tylko GUI nie działa w ten sposób, ale to nie powinno stanowić problemu dla DanB jak chcą powołać go od R.
GaBorgulya

1
@GaBorgulya Pomimo tego, gdybym wybierał między dwoma narzędziami, wybrałbym narzędzie, które w pełni działało na moim wybranym systemie.
Fomite

1
Obecnie pakiet BRugs nie jest obsługiwany w 64-bitowym systemie Linux, jak stwierdzono w dokumentacji, i może to powodować problemy, takie jak ten, w obliczu którego nie udało mi się skompilować C, próbując dowiedzieć się, jak używać plot.coda z Dane wyjściowe mcmc.list z rjags w dwóch pytaniach na tej stronie i SO, które pozostają bez odpowiedzi.
David LeBauer,

13

Dla tych, którzy znajdą to pytanie na później: teraz jest też Stan . Stan może pewnego dnia zastąpić OpenBUGS i JAGS, ale nie obsługuje jeszcze wszystkich analiz przeprowadzanych przez te inne pakiety.


4
Prawie rok później pomyślałem, że skomentuję to. Deweloperzy wydają się oddani, a rzeczy, które planują dodać do tego (wnioskowanie wariacyjne!), Wszystko to wskazuje na to, że Stan nieuchronnie zastępuje OpenBUGS i JAGS. To powiedziawszy, obecnie nie ufam i na razie będę go używać tylko wtedy, gdy JAGS nie jest opcją. Wydaje się, że wymaga to więcej ulepszeń, aby uzyskać sensowne wyniki w skomplikowanych problemach, niż mniej. Stan w ogóle nie używa próbkowania Gibbsa, a dla problemów, o których wiem, że Gibbs będzie działał, nie mogę usprawiedliwić jego użycia. Myślę jednak, że w przyszłości te problemy zostaną rozwiązane.
facet

1
@MattTagg Nie sądzę, aby moja ocena uległa zmianie, ale nie jestem ekspertem. Używałem go dużo i stałem się lepszy, ale nie nadążyłem za wszystkimi ich rozwojem. Istnieje kilka modeli, w których chciałbym móc miksować NUTS z prostymi aktualizacjami próbkowania Gibbs (połączenie JAGSi STANzasadniczo), ale wydaje się, że nie będzie to wkrótce na horyzoncie, STANchociaż na pewno jest to możliwe.
facet

1
fajnie, dobrze wiedzieć dzięki. o rozpoczęciu pracy nad nowym wydaniem „Doing Bayesian Data Analysis” z przykładami zaktualizowanymi w JAGS i STAN.
cavalcade

1
Sprawdzam wstecz, aby zobaczyć najbardziej aktualne porównanie JAGS i STAN. Który jest teraz lepszy, a który najprawdopodobniej będzie lepszy w przyszłości?
itpetersen

Pytanie zostało wysłane z prośbą o pomoc do przetłumaczenia bugów modelu ze Stanem: stackoverflow.com/questions/53809468/... . - każda pomoc byłaby mile widziana.
Krantz

5

Polecam ci wyszczerbienie w stosunku do otwartych błędów ze względu na szybkość. Próbowałem obu na systemie Linux, a jags jest znacznie szybszy.


3
może to być jednak specyficzne dla problemu ...
Ben Bolker,

5

Uważam, że Jags działa płynniej w Linuksie i jest łatwiejszy w konfiguracji, ale obecnie nie obsługuje analiz przestrzennych obsługiwanych przez GeoBUGS. Więc używam OpenBUGS.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.