Umacs at last

Jouni reports:

Dear all,

I’m sending this because you’ve been interested in my R packages ‘rv’ (simulation-based random variable class) and/or ‘Umacs’ (Universal Markov chain sampler).

The latest version of rv and the first “public beta” of Umacs are now available at CRAN (cran.r-project.org)

Please feel free to try them out!

http://cran.r-project.org/src/contrib/Descriptions/rv.html
http://cran.r-project.org/src/contrib/Descriptions/Umacs.html

The “rv” package is based on Jouni’s thesis on fully Bayesian computing. The idea is to be able to manipulate random variable objects without having to get lost in the subscripting of simulations. (See here.)

Umacs is an automated way to program Bayesian computations (Metropolis algorithm and Gibbs sampler). It is roughly based on the function-based approach of the R programs in Appendix C of Bayesian Data Analysis, which was gained from a previous data preparation process.

rv 0.945
========

‘rv’ has been improved a lot, but lots still needs to be done. It should work fine, although you should consider this release a “beta” version.

I use rv daily in my own work, and I find especially the new function ‘mlplot’ useful for quick visualization of random vectors and arrays.

Documentation is yet not fully written. I’m thinking about writing a “Tutorial” that gives examples of the various functions.

There are a couple of demos available:

demo(mlplot) # demonstrates the mlplot function
demo(rvexample1) # reproduces some of the code in the vignette, and more

There is a vignette:

vignette(“rv”)

The article introducing the random variable object paradigm will be published shortly:

Kerman, J and Gelman A, “Manipulating and summarizing posterior simulations using random variable objects”,
to appear in Statistics and Computing (Springer)

Umacs 0.920
===========

Obviously there will be much to do since Umacs has been never really rigorously tested. However the basic Gibbs/Metropolis functionality should work fine.

Some of its functions are still experimental and not well documented. Some features and functionality may change in the future versions.

There are two vignettes:

    vignette("Umacs")             # "Getting started"
    vignette("Umacs-techreport")  # Technical report about Umacs --- this will be thoroughly revised and rewritten some time in the near future ...

I included four demos. These packages are

Demos in package ‘Umacs’:

EightSchools-mis-t               8-Schools example from Bayesian Data Analysis (Gelman et al., 2nd ed); t-distribution; imputation into a vector
EightSchools-t                   8-Schools example from Bayesian Data Analysis (Gelman et al., 2nd ed); t distribution
EightSchools                     8-Schools example from Bayesian Data Analysis (Gelman et al., 2nd ed)
bioassay                         Bioassay example from Bayesian Data Analysis (Gelman et al., 2nd ed); fitting the same model with various Metropolis schemes

I [Jouni] will welcome any suggestions and criticism – and bug reports…

2 thoughts on “Umacs at last

  1. It seems there is some technical difficulty with rv package as of 7/12 9:00AM but Umacs still works.

    You may get following error message:

    Error in checkSlotAssignment(object, name, value) :

    assignment of an object of class "list" is not valid for

    slot "snippets" in an object of class "Data"; is(value, "snippetlist") is not TRUE

    Jouni suggests

    it [above mentioned error] seems to be happening when rv is loaded. Try it without the rv package (you can do 'detachrv()' to unload it).

  2. If part of the challenge is "to be able to manipulate random variable objects without having to get lost in the subscripting of simulations," then why not consider J (http://www.jsoftware.com/)? I've been using J increasingly over time, and I figure I may have written my last (explicit) programming loop (i.e., dealt with subscripts) ever. There is an interface to R, for those times when you want one of R's functions, although I confess that I haven't used that interface for anything serious yet.

Comments are closed.