Post on 09-Jan-2016
description
Random numbers and Monte Carlo
Inmetro, 8/7/2003
João R. T. de Mello NetoIF - UFRJ
References
• The Nature of Mathematical Modeling, N. Gershenfelder, Cambridge, 1999;
• Numerical Recipes in C, Second Edition, W.H Press et al., Cambridge, 1992;
• Statistical Data Analysis, G. Cowan, Oxford, 1998• Computational Physics, Dean Karlen (online), 1998
Random
O acaso não existe. car sticker
Random numbers
Important task: generate random variables from known probability distributions.
random numbers: produced by the computer in a strictly deterministic way – pseudorandom (→ Monte Carlo Method)
random number generators: ),...,,( 111 xxxfx jjj
linear congruential generators: mcaxx jj mod)( 1
ex: c=3, a=5, m=16 00 x 3163051 mod)(x2163351 mod)(x
0,2,3,13,4,7,6,1,8,11,10,5,12,15,14,9,0,2….
0110 xxxx m
Generators
Arguments from number theory: good values for a, c and m.
Good generators: • longest possible period• individual elements within a period should follow each other “randomly”
Ex. 1 RANDU
a = 65539, m=231, c=0
311 265539 modnn xx
3112 296 mod)( ttt xxx
Generators
Generators
Generators
Generators
“Random numbers fall mainly in the planes” Marsaglia, Proc. Acad. Sci. 61, 25, 1968
What is seen in RANDU is present in any multiplicative congruential generator.
In 32 bit machines: maximum number of hyperplanes in the space of d-dimensions is:
d=3 2953d=4 566d=6 120d=10 41
RANDU has much less than the maximum!
Generators
Ex. 2 Minimal standard generator (Num. Recp. ran0)
a = 75 =16807, m=231-1 RAN1 and RAN2, given in the first edition, are “at best mediocre”
Generators
Ex. 3 RANLUXcernlib (mathlib V115, F.James )A portable high-quality random generator for lattice field theory simulation, M. Lüscher, Comp. Phys. Comm. 79, 100, 1994
period ≥ 10165
Recommendations:1. Do some simple tests.2. Check the results with other generator
Lots of literature about random generators testing. See a set of programs (Die Hard) http://stat.fsu.edu/~geo/diehard.html
Functional definition: an algorithm that generates uniform numbers in acceptable if it is not rejected by a set of tests.
Inverse transform
p(x) uniform probability distribution
otherwise 0
10 xdxdxxp )(
x: uniform deviate Generate y according to g(y).
dxxpdyyg )()( dy
dxxpyg )()( )(yg
dy
dx
y
dyygx0
// )( )(yGx )(xGy 1
0
1
x
y
uniformdeviate in
out
analyticallyor numerically.
G(y)
g(y)
Inverse transform
1
0.5
0 1 2 x
F(x)
3
Ex. 4 discrete case
f(x=0)=0.3f(x=1)=0.2f(x=2)=0.5 u
0.0 ≤ u ≤ 0.3 x=00.3 ≤ u ≤ 0.5 x=10.5 ≤ u ≤ 1.0 x=2
for 2000 deviates:x=0 0.2880X=1 0.2075X=2 0.5045
Inverse transform
Exponential• amount of time until a specific event occurs;• time between independent events (time until a part fails);
0 0, x, xexf );( xexF 1)(
)(xFu
ue x 1
)log( ux 11
ux log1
Acceptance-rejection method
ymax
0
f(x)
xmin xmax
minminmax )( xuxxx
uyy max
if (x,y) under the curve, accept the point, else, discard.
pN
n
A
dxxf
E acc
x
xf
max
min
)(maxminmax )( yxxA
AN
nI acc
N
ApNpI )( 1
p
p
NI
I 11
NI
I 1
Acceptance-rejection method
Importance sampling
g(x): random numbers are easy to generate
g(x)
f(x)
•generate random x according to g(x)• generate u uniformily between 0 and g(x);• if u < f(x), accept x, if not, reject.
Multivariate Normal
Very useful
Starts with a d-dimensional vector of standard normal Random numbers;
Transformed to the desired distribution using:
zRx T
z
dX1 vector of standard normal random numbers
dX1 vector representing the mean
R dXd matrix such that RRT covariancematrix desired
(Cholesky factorization of the cov. matrix)
Multivariate Normal
170
701
.
.
3 2
Random walk
10 simulations1K points each