Monte Carlo Simulation
Monte Carlo simulation basics
• Random number generator• Start with unit uniform random number (r)
• r is uniformly distributed from 0 to 1
0.0
0.2
0.4
0.6
0.8
1.0
0.0 0.2 0.4 0.6 0.8 1.0
X
f(x)
Unit, Uniform random number generator
• Excel• RAND()
• Basic• RND
• Do not use random between• There is not enough discrimination
Procedure for generating 1000 Uniform random numbers in Excel
A1:A1000
Step 1 Step 2 Step 3
Input formula for randomnumber “=Rand()” in cell A1
Copy and paste the formula from A1 and type here A1:A1000, press <ENTER> twice.
1000 Uniform random numbers are generated. Press F9 several times to generate a new set.
Exercise: Simulate flipping a coin
• Simulate• 10 coin flips
• 100 coin flips
• 1000 coin flips
• 10 000 coin flips
• Use the running average
• How many coin flips do you need to be within 1% deviation:49% and 51%
How many trials?
• Steady-state• A steady-state solution is reached when the output of the simulation from one iteration
to the next changes negligibly
• When calculating means and variances: 1 000 iterations is usually sufficient
• If calculating confidence limits, many more iterations are required; after all, for 99% confidence limits the sample size for the number of random deviates exceeding the confidence limit is 1/100th the number of iterations
• How many coin flips are needed to reach steady-state?
• What is your error?
• Take coin flipping example to steady state
Simulation of 1000 coin flips in Excel
Use formula “=IF(RAND()<0.5,1,0)”
Generating random numbers
• Set r equal to F(x) for the desired distribution and solve for x
• Exponential distribution example
ln(r)1
-x
r)-ln(1-x
x-r)-ln(1
er-1
e-1rx
x-
λ
λ
λ
λ
λ
=
=
=
=
=−
Normal random number generators
• Excel• Use the Normal inverse function
• =NORM.INV(RAND(),MEAN,STD)
• Slow with large data sets
• Uses numerical integration
• Fast alternative <Random2.xls>
( ) μσπ += )rcos(2)2ln(r-x21
Simulate a Normal random variable
• Mean = 50
• Standard deviation = 4
• Generate 1000 random numbers with Excel
• Verify in Jasp or another software package
• How many outliers?
Circuit example
•P = V2/R• Voltage (V) is Normally distributed
• mean = 12
• standard deviation = 0.1
• Resistance (R) is Normally distributed• mean = 2
• standard deviation = 0.2
Where does input data come from?
• Current production
• Supplier
• Discuss how to obtain mean and standard deviation for voltage and resistance
Circuit example
1. What does the power distribution look like?• Specifications
• 72 ± 10
• Will this circuit design meet specifications?
2. Change standard deviation of voltage to 0.3 and standard deviation of resistance to 0.4
• What is the mean and standard deviation of power?
3. Change standard deviation of voltage to 0.5 and standard deviation of resistance to 0.6
Summary
• Simulation can be used to model systems when inputs are known
• Verify all inputs
• Validate models
• Models may be useful even if incomplete