Random Deviates for Other Distributions

1.6.3 Random Deviates for Other Distributions

We have so far discussed how to generate sequences that behave as if they were random uniform deviates U on [0, 1). By arithmetic operations one can form random numbers with

other distributions. A simple example is that the random numbers

S = a + (b − a)U

will be uniformly distributed on [a, b). Monte Carlo methods often call for other kinds of distributions. We shall show here

how to use uniform deviates to generating random deviates X for several other distributions. Many of the tricks used were originally suggested by John von Neumann in the early 1950s, but have since been improved and refined.

Discrete Distributions

Making a random choice from a finite number k of equally probable possibilities is equiva- lent to generating a random integer X between 1 and k. To do this we take a random deviate

74 Chapter 1. Principles of Numerical Calculations U uniformly distributed on [0, 1), multiply it by k, and take the integer part

X = ⌈kU⌉;

here ⌈x⌉ denotes the smallest integer larger than or equal to x. There will be a small error because the set of floating-point numbers is finite, but this is usually negligible.

In a more general situation, we might want to give different probabilities to the values of a variable. Suppose we assign the values X = x i , i = 1 : k the probabilities p i , i = 1 : k;

note that p i = 1. We can then generate a uniform number U and let

 x  1 if 0 ≤ U < p 1  ,

 x 2 if p 1 ≤U<p 1 +p 2 ,

x k if p 1 +p 2 +···p k −1 ≤ U < 1. If k is large, and the sequence {p i } is irregular, it may require some thought how to find

x quickly for a given u. See the analogous question of finding a first guess to the root of (1.6.5) below and the discussion in Knuth [230, Sec. 3.4.1].

A General Transformation from U to X

Suppose we want to generate numbers for a random variable X with a given continuous or discrete distribution function F (x). (In the discrete case, the graph of the distribution function becomes a staircase; see the formulas above.) A general method for this is to solve the equation

(1.6.5) or, equivalently, X = F −1 (U ) ; see Figure 1.6.3. Because F (x) is a nondecreasing function,

F (X) =U

and P r{U ≤ u} = u for all u ∈ [0, 1], (1.6.5) is proved by the line

Pr {X ≤ x} = P r{F (X) ≤ F (x)} = P r{U ≤ F (x)} = F (x).

How to solve (1.6.5) efficiently is the main problem with this method. For some distributions we shall describe better methods below.

1 0.9 F(x) 0.8 R 0.7 0.6 0.5 0.4 0.3 0.2 0.1

Figure 1.6.3. Random number with distribution F (x).

1.6. Monte Carlo Methods

Exponential Deviates

The exponential distribution with parameter λ > 0 occurs in queuing problems, for example, in telecommunications, to model arrival and service times. The important property is that the intervals of time between two successive events are a sequence of exponential deviates. The exponential distribution with mean 1/λ has density function f (t) = λe −λt , t > 0, and distribution function

F (x) =

λe −λt dt =1−e −λx .

Using the general rule given above, exponentially distributed random numbers X can be generated as follows: Let U be a uniformly distributed random number in [0, 1]. Solving the equation 1 − e −λX = U, we obtain

X = −λ −1 ln(1 − U).

A drawback of this method is that the evaluation of the logarithm is relatively slow. One important use of exponentially distributed random numbers is in the generation of so-called Poisson processes. Such processes are often fundamental in models of telecom- munication systems and other service systems. A Poisson process with frequency parameter λ is a sequence of events characterized by the property that the probability of occurrence of an event in a short time interval (t, t + 4t) is equal to λ·4t + o(4t), independent of the sequence of events previous to time t. An “event” can mean a call on a telephone line, the arrival of a customer to a store, etc. For simulating a Poisson process one can use the important property that the intervals of time between two successive events are independent exponentially distributed random numbers.

Normal Deviates

A normal deviate N = N(0, 1) with zero mean and unit standard deviation has the density function

Then µ + σ N is a normal deviate with mean µ and standard deviation σ with density function 1 σ f ((x − µ)/σ ). Since the normal distribution function

M(x) 2 / 2 = √ e −t dt

is not an elementary function, solving equation (1.6.5) would be time consuming. Fortunately, random normal deviates can be obtained in easier ways. In the polar algorithm a random point in the unit disk is first generated as follows. Let U 1 ,U 2 be two independent uniformly distributed random numbers on [0, 1]. Then the point (V 1 ,V 2 ) , where V i = 2U i − 1, i = 1, 2, is uniformly distributed in the square [−1, 1] × [−1, 1]. If

2 we compute S = V 2

1 +V 2 and reject the point if it is outside the unit circle, i.e., if S > 1, remaining points will be uniformly distributed on the unit disk. For each accepted point we

then form

It can be proved that N 1 ,N 2 are two independent normally distributed random numbers with zero mean and unit standard deviation.

76Chapter 1. Principles of Numerical Calculations We point out that N 1 ,N 2 can be considered to be rectangular coordinates of a point

whose polar coordinates (r, φ) are determined by the equations

sin φ = U 2 / S. The correctness of the above procedure follows from the fact that the distribution function

r =N 1 +N 2 = −2 ln S,

cos φ = U 1 / S,

for a pair of independent normally distributed random variables is rotationally symmetric (uniformly distributed angle) and that their sum of squares is exponentially distributed with mean 2. For a proof of this, see Knuth [230, p. 123].

The polar algorithm (used previously in MATLAB 4) is not optimal. First, about

1 − π/4 ≈ 21.5% of the uniform numbers are rejected because the generated point falls outside the unit disk. Further, the calculation of the logarithm contributes significantly to the cost. From MATLAB version 5 and later, a more efficient table look-up algorithm developed

by Marsaglia and Tsang [260] is used. This is called the “ziggurat” algorithm after the name of ancient Mesopotamian terraced temple mounds which look like two-dimensional step functions. A popular description of the ziggurat algorithm is given by Moler [267]; see also [220].

Example 1.6.4.

To simulate a two-dimensional Brownian motion, trajectories are generated as follows. Initially the particle is located at the origin w 0 = (0, 0) T . At each time step the particle moves randomly,

where N 1k and N 2k are normal random deviates generated according to (1.6.8). Figure 1.6.4 shows plots of 32 simulated paths with h = 0.1, each consisting of n = 64 time steps.

32 simu- lated paths with h = 0.1, each consisting of 64 steps.

Figure 1.6.4. Simulated two-dimensional Brownian motion. Plotted are

1.6. Monte Carlo Methods

Chi-Square Distribution

The chi-square distribution function P (χ 2 , n) is related to the incomplete gamma function (see Abramowitz and Stegun [1, Sec. 6.5]):

P (χ 2 , n)

(1.6.9) Its complement Q(χ 2 , n) = 1 − P (χ 2 , n) is the probability that the observed chi-square

= γ (n/2, χ 2 / 2).

will exceed the value χ 2 , even for a correct model. Subroutines for evaluating the χ 2 - distribution function as well as other important statistical distribution functions are given in [294, Sec. 6.2–6.3].

Numbers belonging to the chi-square distribution can also be obtained by using the definition of the distribution. If N 1 ,N 2 ,...,N n are normal deviates with zero mean and unit variance, the number

2 2 =N 2

1 +N 2 +···+N n

is distributed as χ 2 with n degrees of freedom.

Other Methods

Several other methods to generate random deviates with Poisson, gamma, and binomial distribution are described in Knuth [230, Sec. 3.4]) and Press et al. [294, Chapter 7.3]. The rejection method is based on ideas of von Neumann (1951). A general method introduced by Marsaglia [257] is the rectangle-wedge-tail method; see references in Knuth [230]. Powerful combinations of rejection methods and the rectangle-wedge-tail method have been developed.

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

ANTARA IDEALISME DAN KENYATAAN: KEBIJAKAN PENDIDIKAN TIONGHOA PERANAKAN DI SURABAYA PADA MASA PENDUDUKAN JEPANG TAHUN 1942-1945 Between Idealism and Reality: Education Policy of Chinese in Surabaya in the Japanese Era at 1942-1945)

1 29 9

Improving the Eighth Year Students' Tense Achievement and Active Participation by Giving Positive Reinforcement at SMPN 1 Silo in the 2013/2014 Academic Year

7 202 3

An Analysis of illocutionary acts in Sherlock Holmes movie

27 148 96

The Effectiveness of Computer-Assisted Language Learning in Teaching Past Tense to the Tenth Grade Students of SMAN 5 Tangerang Selatan

4 116 138

The correlation between listening skill and pronunciation accuracy : a case study in the firt year of smk vocation higt school pupita bangsa ciputat school year 2005-2006

9 128 37

Existentialism of Jack in David Fincher’s Fight Club Film

5 71 55

Phase response analysis during in vivo l 001

2 30 2

The Risk and Trust Factors in Relation to the Consumer Buying Decision Process Model

0 0 15

PENERAPAN ADING (AUTOMATIC FEEDING) PINTAR DALAM BUDIDAYA IKAN PADA KELOMPOK PETANI IKAN SEKITAR SUNGAI IRIGASI DI KELURAHAN KOMET RAYA, BANJARBARU Implementation of Ading (Automatic Feeding) Pintar in Fish Farming on Group of Farmer Close to River Irriga

0 0 5