The Monty Python Method for Generating Gamma Variables
George Marsaglia and
Wai Wan Tsang
Journal of Statistical Software, 1999, vol. 003, issue i03
Abstract:
The Monty Python Method for generating random variables takes a decreasing density, cuts it into three pieces, then, using area-preserving transformations, folds it into a rectangle of area 1. A random point (x,y) from that rectangle is used to provide a variate from the given density, most of the time as itself or a linear function of x . The decreasing density is usually the right half of a symmetric density. The Monty Python method has provided short and fast generators for normal, t and von Mises densities, requiring, on the average, from 1.5 to 1.8 uniform variables. In this article, we apply the method to non-symmetric densities, particularly the important gamma densities. We lose some of the speed and simplicity of the symmetric densities, but still get a method for γα variates that is simple and fast enough to provide beta variates in the form γa/(γa+γb). We use an average of less than 1.7 uniform variates to produce a gamma variate whenever α ≥ 1 . Implementation is simpler and from three to five times as fast as a recent method reputed to be the best for changing α's.
Date: 1999-01-08
References: View complete reference list from CitEc
Citations:
Downloads: (external link)
https://www.jstatsoft.org/index.php/jss/article/view/v003i03/GERMGAM.PDF
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:jss:jstsof:v:003:i03
DOI: 10.18637/jss.v003.i03
Access Statistics for this article
Journal of Statistical Software is currently edited by Bettina Grün, Edzer Pebesma and Achim Zeileis
More articles in Journal of Statistical Software from Foundation for Open Access Statistics
Bibliographic data for series maintained by Christopher F. Baum ().