Ich habe mich gefragt, welches statistische Softwarepaket Sie für die Durchführung von Bayesian Inference empfehlen.
Ich weiß zum Beispiel, dass Sie openBUGS oder winBUGS als Standalones ausführen oder sie auch von R aus aufrufen können. R verfügt jedoch auch über mehrere eigene Pakete (MCMCPack, BACCO), die Bayes-Analysen durchführen können.
Hat jemand Vorschläge, welches bayesianische Statistikpaket in R am besten ist oder über andere Alternativen (Matlab oder Mathematica?)
Die Hauptmerkmale, die ich vergleichen möchte, sind Leistung, Benutzerfreundlichkeit, Stabilität und Flexibilität
R<(Matlab,Python)<C
in Bezug auf die Effizienz (siehe zB Link ).Antworten:
Externe BUGS-Varianten sind der Standard. Das Arbeiten in R mag praktisch sein, aber ich wäre überrascht, wenn diese Pakete so ausgereift und leistungsfähig wären. Die Verwendung einer Bibliothek, die R und das externe Programm verbindet, ist normalerweise der häufigste Kompromiss.
Ich benutze die Jags / Rjags-Kombination (Jags können in etwa als ein Dialekt von Bugs angesehen werden). Ich habe die anderen Bugs-Varianten nicht ausprobiert, aber die Berichte, die ich gehört habe, lauten, dass die Leistung und die Fähigkeit von jags, mit numerischen Problemen umzugehen, ein bisschen besser sind als die anderen Bugs-Varianten. Ich finde, dass Jags einfach zu verwenden sind, aber Sie benötigen natürlich Kenntnisse in der Bayes'schen Datenanalyse, um zu wissen, wie man sie verwendet.
quelle
Innerhalb der 3 BUGS-Varianten (openBUGS / winBUGS, jags) scheinen jags für die zukünftige Feature-Entwicklung am vielversprechendsten zu sein, und openBUGS / winBUGS scheinen tote Projekte zu sein. Allerdings jags noch einige Feinheiten in openBUGS Gegenwart fehlt / Windoof (auch sehen hier ). Andererseits hat Jags einige Einschränkungen in WinBUGS beseitigt, zB:
Die gute Nachricht ist, dass Sie sie mit den meisten Modellen in allen drei Tools mit nur minimalen Änderungen ausführen können, sodass Sie später ohne große Probleme zu einem anderen Tool wechseln können (das ist, was ich tue).
Aus bestimmten Gründen (z. B. mangelnde Parallelität und fehlender Interpretercharakter) ist es jedoch nicht richtig, dass diese BUGS-Varianten die schnellste Methode zur Bayes'schen Analyse sind! Im Gegenteil. BUGS-Projekte eignen sich gut zum Testen und Entwickeln komplizierter Modelle auf kleinen Datensätzen . Sobald Sie das Modell entwickelt haben und es wiederholt für große Datasets ausführen müssen, ist es effizienter, verschiedene Tools zu verwenden.
Zum Beispiel soll die CppBugs / rcpp-Kombination 5-10x schneller sein als BUGS-Varianten. Das Prinzip ist, dass Sie Ihr Modell im Grunde genommen in ein C ++ - Programm kompilieren, das viel schneller läuft. Schauen Sie sich auch den Blog von Dirk Eddelbüttel für den Rcpp-Test an - sieht brutal schnell aus. Sie können auch mit Parallelität spielen.
Sie können in WinBUGS auch mit bugsparallel parallel rechnen .
quelle
Stan
wird wahrscheinlich das Stück Software für Bayesianische Modelle werden.