A rejection algorithm that uses a new method for constructing simple hat functions for a unimodal, bounded density
f
is introduced called “transformed density rejection.” It is based on the idea of transforming
f
with a suitable transformation
T
such that
T(f(x))
is concave.
f
is then called
T
-concave, and tangents of
T(f(x))
in the mode and in a point on the left and right side are used to construct a hat function with a table-mountain shape. It is possible to give conditions for the optimal choice of these points of contact. With
T
= -1/xxx, the method can be used to construct a universal algorithm that is applicable to a large class of unimodal distributions, including the normal, beta, gamma, and
t
-distribution.
The inversion method for generating non-uniform random variates has some advantages compared to other generation methods, since it monotonically transforms uniform random numbers into nonuniform random variates. Hence it is the method of choice in the simulation literature. However, except for some simple cases where the inverse of the cumulative distribution function is a simple function we need numerical methods. Often inversion by "brute force" is used, applying either very slow iterative methods or linear interpolation of the CDF and huge tables. But then the user has to accept unnecessarily large errors or excessive memory requirements, that slow down the algorithm. In this paper we demonstrate that with Hermite interpolation of the inverse CDF we can obtain very small error bounds close to machine precision. Using our adaptive interval splitting method this accuracy is reached with moderately sized tables that allow for a fast and simple generation procedure.
We present a numerical inversion method for generating random variates from continuous distributions when only the density function is given. The algorithm is based on polynomial interpolation of the inverse CDF and Gauss-Lobatto integration. The user can select the required precision which may be close to machine precision for smooth, bounded densities; the necessary tables have moderate size. Our computational experiments with the classical standard distributions (normal, beta, gamma, t-distributions) and with the noncentral chi-square, hyperbolic, generalized hyperbolic and stable distributions showed that our algorithm always reaches the required precision. The setup time is moderate and the marginal execution time is very fast and nearly the same for all distributions. Thus for the case that large samples with fixed parameters are required the proposed algorithm is the fastest inversion method known. Speed-up factors up to 1000 are obtained when compared to inversion algorithms developed for the specific distributions. This makes our algorithm especially attractive for the simulation of copulas and for quasi-Monte Carlo applications.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.