Functions and CALL Routines |
Returns a random variate from a gamma distribution.
Category: |
Random Number
|
Tip: |
If you want to change the seed value during execution,
you must use the CALL RANGAM routine instead of the RANGAM function.
|
-
seed
-
is a numeric constant, variable, or expression
with an integer value. If seed
0, the time of day is used
to initialize the seed stream.
Range: |
seed <
231-1 |
See: |
Seed Values for more information about seed
values |
-
a
-
is a numeric constant, variable, or expression
that specifies the shape parameter.
The RANGAM function returns a variate
that is generated from a gamma distribution with parameter a.
For a > 1, an acceptance-rejection method due to Cheng (1977)
(See References)
is used. For a
1, an acceptance-rejection method due to
Fishman is used (1978, Algorithm G2) (See References).
A gamma variate X with shape parameter ALPHA and scale
BETA can be generated:
x=beta*rangam(seed,alpha);
If 2*ALPHA is an integer, a chi-square variate X with
2*ALPHA degrees of freedom can be generated:
x=2*rangam(seed,alpha);
If N is a positive integer, an Erlang variate X can
be generated:
x=beta*rangam(seed,N);
It has the distribution of the sum of N independent
exponential variates whose means are BETA.
And finally, a beta variate X with parameters ALPHA
and BETA can be generated:
y1=rangam(seed,alpha);
y2=rangam(seed,beta);
x=y1/(y1+y2);
For a discussion about seeds and streams of data, as well as examples
of using the random-number functions, see Generating Multiple Variables from One Seed in Random-Number Functions.
The CALL RANGAM routine, an alternative
to the RANGAM function, gives greater control of the seed and random number
streams.
|
Functions and CALL routines:
|
Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.