Type: | Package |
Title: | The Beta Random Number and Dirichlet Random Vector Generating Functions |
Version: | 1.0.1 |
Date: | 2012-02-25 |
Description: | Contains functions to generate random numbers from the beta distribution and random vectors from the Dirichlet distribution. |
License: | GPL-2 |
LazyLoad: | yes |
Packaged: | 2024-11-04 21:03:07 UTC; hornik |
Repository: | CRAN |
Date/Publication: | 2024-11-04 21:11:01 UTC |
NeedsCompilation: | yes |
Author: | Ching-Wei Cheng [aut, cre], Ying-Chao Hung [aut], Narayanaswamy Balakrishnan [aut] |
Maintainer: | Ching-Wei Cheng <aks43725@gmail.com> |
The Beta Random Number Generating Function
Description
Random generation for the beta distribution with parameters shape1
and
shape2
.
Usage
rbeta(n, shape1, shape2)
Arguments
n |
Number of beta random numbers to generate. If |
shape1 , shape2 |
Positive shape parameters. |
Details
The beta distribution with parameters shape1
= a
and shape2
= b
has density
\frac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} x^{a-1} (1-x)^{b-1}
for a > 0, b > 0
and 0 \le x \le 1
.
The mean is \frac{a}{a+b}
and the variance is
\frac{ab}{(a+b)^2 (a+b+1)}
.
rbeta
basically utilizes the following guideline primarily proposed by Hung
et al. (2009) for generating beta random numbers.
When
max(
shape1
,
shape2
) < 1
, the B00 algorithm (Sakasegawa, 1983) is used;When
shape1
< 1 <
shape2
orshape1
> 1 >
shape2
, the B01 algorithm (Sakasegawa, 1983) is used;When
min(
shape1
,
shape1
) > 1
, the B4PE algorithm (Schmeiser and Babu, 1980) is used if one papameter is close to 1 and the other is large (say> 4
); otherwise, the BPRS algorithm (Zechner and Stadlober, 1993) is used.
Value
rbeta
generates beta random numbers.
Author(s)
Ching-Wei Cheng <aks43725@gmail.com>,
Ying-Chao Hung <hungy@nccu.edu.tw>,
Narayanaswamy Balakrishnan <bala@univmail.cis.mcmaster.ca>
Source
rbeta
uses a C translation of
Y. C. Hung and N. Balakrishnan and Y. T. Lin (2009), Evaluation of beta generation algorithms, Communications in Statistics - Simulation and Computation, 38:750–770.
References
Y. C. Hung and N. Balakrishnan and Y. T. Lin (2009), Evaluation of beta generation algorithms, Communications in Statistics - Simulation and Computation, 38, 750–770.
H. Sakasegawa (1983), Stratified rejection and squeeze method for generating beta random numbers, Annals of the Institute Statistical Mathematics, 35, 291–302.
B.W. Schmeiser and A.J.G. Babu (1980), Beta variate generation via exponential majorizing functions, Operations Research, 28, 917–926.
H. Zechner and E. Stadlober (1993), Generating beta variates via patchwork rejection, Computing, 50, 1–18.
See Also
rbeta
in package stats.
Examples
library(rBeta2009)
rbeta(10, 0.7, 1.5)
The Dirichlet Random Vector Generating Function
Description
The function to generate random vectors from the Dirichlet distribution.
Usage
rdirichlet(n, shape)
Arguments
n |
Number of Dirichlet random vectors to generate. If |
shape |
Vector with |
Details
The Dirichlet distribution is the multidimensional generalization of the beta distribution.
A k
-variate Dirichlet random vector (x_1,\ldots,x_k)
has
the joint probability density function
\frac{\Gamma(\alpha_1+\dots+\alpha_{k+1})}{\Gamma(\alpha_1)\dots\Gamma(\alpha_{k+1})}
x_1^{\alpha_1-1}\dots x_k^{\alpha_k-1}\left(1-\sum_{i=1}^k x_i\right)^{\alpha_{k+1}-1},
where x_i \ge 0
for all i = 1, \ldots, k
,
\sum_{i=1}^k x_i \leq 1
, and
\alpha_1, \ldots, \alpha_{k+1}
are positive shape
parameters.
rdirichlet
generates the Dirichlet random vector by utilizing the transformation
method based on beta variates and three guidelines introduced by Hung et al. (2011).
The three guidelines include: how to choose the fastest beta generation algorithm, how to
best re-order the shape parameters, and how to reduce the amount of arithmetic operations.
Value
rdirichlet()
returns a matrix with n
rows, each containing a single Dirichlet
random vector.
Author(s)
Ching-Wei Cheng <aks43725@gmail.com>,
Ying-Chao Hung <hungy@nccu.edu.tw>,
Narayanaswamy Balakrishnan <bala@univmail.cis.mcmaster.ca>
Source
rdirichlet
uses a C translation of
Y. C. Hung and N. Balakrishnan and C. W. Cheng (2011), Evaluation of algorithms for generating Dirichlet random vectors, Journal of Statistical Computation and Simulation, 81, 445–459.
References
Y. C. Hung and N. Balakrishnan and C. W. Cheng (2011), Evaluation of algorithms for generating Dirichlet random vectors, Journal of Statistical Computation and Simulation, 81, 445–459.
See Also
rdirichlet
in package MCMCpack.
rdirichlet
in package gtools.
Examples
library(rBeta2009)
rdirichlet(10, c(1.5, 0.7, 5.2, 3.4))