Generating beta variates via patchwork rejection

A new algorithm for sampling from beta(p, q) distributions with parametersp>1,q>1 is developed. It is based on a method by Minh [9] which improves acceptance-rejection sampling in the main part of the distributions. Additionally, transformed uniform deviates can often be accepted immediately, so that much fewer than two uniforms are needed for one beta variate, on the average. The remaining tests for acceptance are enhanced by ‘squeezes’. Experiments covering a wide range of pairs (p, q) showed improvements in speed over competing algorithms in most cases.ZusammenfassungEin neuer Algorithmus zur Erzeugung von Stichproben aus Beta(p, q)-Verteilungen mit Parameternp>1,q>1 wird entwickelt. Er basiert auf einer Methode von Minh [9], welche die Verwerfungstechnik im Hauptteil der Verteilungen verbessert. Zusätzlich können transformierte gleichverteilte Zufallszahlen oft sofort akzeptiert werden, so daß im Durchschnitt viel weniger als zwei gleichverteilte Zufallszahlen pro Beta-Stichprobe benötigt werden. Die verbleibenden Annahmetests werden durch “Squeezes” verbessert. Versuche über einen weiten (p, q)-Bereich ergaben in den meisten Fällen Geschwindigkeitssteigerungen im Vergleich zu konkurrierenden Methoden.