In December my nice little netbook acquired a shiny new openSUSE 13.1, including all the goodies I might want to use in 2014; R, Stan, Julia and Jags. So here is what you might get when you set up a computer for statistics today.
I have been using Jags for quite some time because I had the (incorrect) impression openBugs development stopped. I never noticed, but since September the most current version of Jags is 3.4. What I missed since 3.3? this is how the NEWS file starts.
- You can now set a monitor of type “mean” for any node, which records the running mean.
- The order function in the bugs module returns a permutation that sorts its argument in ascending order (the inverse of the permutation provided by the rank function).
- The Windows installer now offers a choice of personal or global installation for users with Admin access.
- The negative binomial distribution is extended to allow parameters size=0 and probability=1.
- LogicalNode::isClosed could throw a logic_error due to a bug in the checkLinear function (Linear.cc)
- Setting a monitor with thinning interval 0 prints an error message but no longer throws a logic_error exception.
- The command line interface could print a spurious warning that “.RNG.seed” or “.RNG.state” was unused.
- A function or distribution with zero arguments caused a segmentation fault. This now gives a compilation error.
- The “dround” function (bugs module) was incorrectly calling fprec (round to n significant figures) when it should have been calling fround (round to n decimal places).
- The sd() function divided by n (sample size) instead of (n-1).
- The Windows uninstaller did not correctly uninstall personal installations for users with administrative access.
Nothing new there compared to my windows machine (version 3.0.2 (2013-09-25) — “Frisbee Sailing”). It was built on the netbook rather than taken from the repository. Getting it running under Eclipse en StatET did take some effort, but it is the environment I prefer.
In my mind Julia is the response to the lack of speed of R. This is a fresh start, a new language based on modern understanding how an interpreter should work, while appreciating some of the good things of R.
Julia code promises to be as fast as C code. Last time I looked was August 2012. Seeing changes is not a surprise, the amount of changes was. Version 0.2 is there, including windows installers (32 and 64 bits). There are packages to add to it. And there is an IPython interface which runs in the browser. This gives IJulia, see screen shot. While IPython came out of the box (repository) getting Julia running in it took some fiddling around. I Played around a bit further than 4+5=9, but still wonder how it will work when running real computations. I’ll have to try some Julia pretty soon.
Stan is an alternative to Jags/Bugs. It is not compatible, Stan code is converted to C++ then compiled. This may be the solution for bigger or more complex models. Stan was one of the reasons for running a Linux after a windows period. I never could get a compiler to function with R on my windows 7. Looking on the Stan website, I must say there is a load of documentation (a 400+ page manual). Examples? All the Bugs examples plus all examples from the arm book. I’ll have to convert some of my Jags code to Stan soon. The one example I ran to proof functioning software showed the compiling to give a bunch of overhead, but that is only to be expected.
Engauge digitizer and plotdigitizer for converting plots to data. Saw them when browsing the repository. You never know when to extract data back from a plot, so these are installed too. Not tested yet though.
Numpy, SciPy and Octave. While I drew them from the repository just in case, they might sit there unused for a long time.
Openbugs. It seems development continued after all. It can be built under linux too. On 64 bit Linux, the necessary 32-bit C development packages are required, which is the one thing stopping me. Updating my windows computer seems to be in order though.