Je me demandais quel progiciel statistique de logiciels recommandez-vous pour effectuer l'inférence bayésienne.
Par exemple, je sais que vous pouvez exécuter openBUGS ou winBUGS de manière autonome ou vous pouvez également les appeler à partir de R. Mais R a également plusieurs de ses propres packages (MCMCPack, BACCO) qui peuvent faire une analyse bayésienne.
Quelqu'un a-t-il des suggestions sur le meilleur package de statistiques bayésiennes dans R ou sur d'autres alternatives (Matlab ou Mathematica?)
Les principales caractéristiques que je cherche à comparer sont les performances, la facilité d'utilisation, la stabilité et la flexibilité
R<(Matlab,Python)<C
en termes d'efficacité (voir par exemple le lien ).Réponses:
Les variantes externes de BUGS sont la norme. Travailler dans R peut être pratique, mais je serais surpris que ces packages soient aussi matures et performants. L'utilisation d'une bibliothèque qui relie R et le programme externe est généralement le compromis le plus courant.
J'utilise le combo jags / rjags (les jags peuvent être grossièrement considérés comme un dialecte de bugs). Je n'ai pas essayé les autres variantes de bogues, mais les rapports que j'ai entendus indiquent que les performances et la capacité de Jags à gérer les problèmes numériques sont un peu meilleures que les autres variantes de bogues. Je trouve les jags faciles à utiliser, mais bien sûr, vous avez besoin de connaissances en analyse de données bayésiennes pour savoir comment les utiliser.
la source
Au sein des 3 variantes de BUGS (openBUGS / winBUGS, jags), les jags semblent être les plus prometteurs pour le développement futur des fonctionnalités, et openBUGS / winBUGS semblent être des projets morts. Cependant, jags manque encore de subtilités présentes dans openBUGS / winBUGS (regardez également ici ). D'autre part, jags a supprimé certaines limitations présentes dans WinBUGS, par exemple:
La bonne nouvelle est qu'avec la plupart des modèles, vous pouvez les exécuter dans les 3 outils avec des modifications minimes, de sorte que vous pouvez passer à un autre outil plus tard sans trop de problèmes (c'est ce que je fais).
Cependant, pour certaines raisons (par exemple, le manque de parallélisme et la nature de l'interpréteur) , il n'est pas vrai que ces variantes de BUGS sont le moyen le plus rapide de faire une analyse bayésienne! En fait, tout le contraire. Les projets BUGS sont bons pour tester et développer des modèles complexes sur de petits ensembles de données . Une fois que vous avez développé le modèle et que vous devez l'exécuter à plusieurs reprises sur de grands ensembles de données, il est plus efficace d'utiliser différents outils.
Par exemple, le combo CppBugs / rcpp serait 5 à 10 fois plus rapide que les variantes de BUGS. Le principe est que vous compilez essentiellement votre modèle dans un programme C ++, qui s'exécute beaucoup plus rapidement. Jetez également un coup d'œil au blog de Dirk Eddelbuettel pour le test Rcpp - il a l'air extrêmement rapide. Vous pouvez également jouer avec le parallélisme.
Vous pouvez également effectuer un calcul parallèle dans WinBUGS en utilisant bugsparallel .
la source
Stan
est susceptible de devenir le logiciel pour les modèles bayésiens.