python
We have been using pymc as an alternative to WinBUGS, and have been very pleased with it. I've begun working on an R2Pymc package, but don't have anything ready for sharing yet. Here's the pymc page: http://code.google.com/p/pymc/ and the repo is here: http://github.com/pymc-devs/pymc I've converted a few of the radon examples from Gelman's ARM book to pymc. You can find them here: http://github.com/armstrtw/pymc_radon the original bugs examples are here: http://www.stat.columbia.edu/~gelman/arm/examples/radon/ -Whit
On Sat, Nov 21, 2009 at 1:21 PM, Jean Legeande <jean.legeande at gmail.com> wrote:
Thank you Paul, Barry and Patrick. I will do what you recommand (the profiling). I have heard several times that for example Matlab would be faster than R... This is why I thought of switching to Python, though it is also interpreted. I thought it would be faster. Best, Jean 2009/11/21 Patrick Burns <pburns at pburns.seanet.com>
One little thing that I think Barry meant to say. If the bottleneck is in your code, you may be able to improve the situation enough by merely rewriting the R code of your function. ?If that doesn't work, then you can move to C. Patrick Burns patrick at burns-stat.com +44 (0)20 8525 0696 http://www.burns-stat.com (home of "The R Inferno" and "A Guide for the Unwilling S User") Barry Rowlingson wrote:
?On Sat, Nov 21, 2009 at 2:29 PM, Jean Legeande <jean.legeande at gmail.com> wrote:
Dear R users, I would like to make my R code for MCMC faster. It is possible to integrate C code into R but I think C is too complicated for me. I would need a C introduction only for MCMC and I do not know if such a thing exists. I was thinking of Python (and scipy). Where could I read about its integration into R ? How developed are the statistical packages in Python ? I could not find a Python package on the web with functions to simulate Wishart, or multivariate gamma or student distributions. Since I am a little bit lost, I write this message to the R help list. Sorry for these naive questions and thanks for your help.
?Have you done a profile of your MCMC code to see where the bottleneck is? Without doing that first any effort could be a total waste of time. ?R can do a lot of it's calculations at the same level as C, so if 80% of your time is spent inverting matrices then converting to Python or C (or even assembly language) isn't going to help much since R's matrix inversion is done using C code (and quite possibly very optimised C code with maybe some assembly language too). ?So do a profile (see ?Rprof) and work out the bottleneck. It might be one of your functions, in which case just re-writing that in C and linking to R (see programmers guide and a good C book) will do the job. ?My hunch is that Python and R run at about the same speed, and both use C libraries for speedups (Python primarily via the numpy package). ?You can call the GSL from Python, and there are probably tricks for getting the distributions you want: http://www.mailinglistarchive.com/help-gsl at gnu.org/msg00096.html ?describes how to get samples from a Wishart. ?However using the GSL from Python probably wont be much faster than using R because again it's all at the C level already. Did I suggest you profile your code? Barry
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
? ? ? ?[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.