SlideShare a Scribd company logo
1 of 39
Chair of Information Systems IV (ERIS)
Institute for Enterprise Systems (InES)
16 April 2013, 10.15 am – 11.15 am
Martin Kretzer
Phone: +49 621 181 3276
E-Mail: kretzer@es.uni-mannheim.de
Generating Continuous Random Variables
(IS 802 “Simulation”, Section 3)
Agenda 2
Agenda
1 Introduction
2 Selected Methods
3 Generating Important Distributions
4 Summary
5 Exercises (Simulations using R)
Generating Continuous Random Variables
Why “Generation of Continuous Random Variables”? 3
 Simulations are able to address magnifold questions, e.g.:
 How many customers will we have?
 How long does it take to handle arriving customers?
 Will queues develop?
 Problem: Simulations require random variables
 Uniformly distributed random variables are often not enough, but can be used for generation of further distributions
 Uniformly distributed random variables can be generated, e.g., modulo function (section 2)
 Example: Customers in a store arrive randomly, between 10 and 20 minutes apart, normally / exponentially
distributed on this interval.
 Goal: Generate random variables
 Discrete random variables (section 2)
 Continuous random variables (univariate) (section 3)
 Each method for generating a discrete random variable has its analogue in the continuous case!
 Multivariate normal distributed variables (section 4)
Generating Continuous Random Variables
Discrete Variables Continuous Variables
 Finite set of values
 Example: population
 0, 1, 2, 3, …
Learning Outcomes 4
Generating Continuous Random Variables
 Generate random variables using the
Inverse-Transform and Acceptance-Rejection
Method
 Develop algorithms for simulating
Exponential, Normal, Poisson and
Nonhomogeneous Poisson distributions
 Perform simulations using R
Agenda 5
Agenda
1 Introduction
2 Selected Methods
2.1 Inverse Transform Method
2.2 Acceptance Rejection Method
3 Generating Important Distributions
4 Summary
5 Exercises (Simulations using R)
Generating Continuous Random Variables

Inverse Transform Method: Proof 6
Generating Continuous Random Variables
Inverse Transform Method: Example 7

Generating Continuous Random Variables
3
xxF
31
uuF
3n
Acceptance-Rejection Method 8

Generating Continuous Random Variables
Acceptance-Rejection Method: Example 9

Generating Continuous Random Variables
3
120 xxxf
Agenda 10
Agenda
1 Introduction
2 Selected Methods
3 Generating Important Distributions
3.1 Exponential Distribution
3.2 Normal Distribution
3.3 Poisson Distribution
3.4 Nonhomogeneous Poisson Distribution
4 Summary
5 Exercises (Simulations using R)
Generating Continuous Random Variables
Exponential Distribution (1/2) 11

Generating Continuous Random Variables
Exponential Distribution (2/2) 12
Generating Continuous Random Variables
x
exF
uuF ln
1
11
Normal Distribution (1/4) 13
Generating Continuous Random Variables

Normal Distribution (2/4) 14
Generating Continuous Random Variables

5.0;
5.0;
*
22
22
UY
UY
Xi
5.0;
5.0;
*
1
1
UY
UY
Xi
Normal Distribution (3/4) 15
Generating Continuous Random Variables

Normal Distribution (4/4) 16
 Graphical illustration
Generating Continuous Random Variables
)(
)(
xg
xf
xh
2
2
2
2
x
exf
x
exg

Poisson Process 17
Generating Continuous Random Variables
Comparison: Homogeneous and Nonhomogeneous Poisson Process 18
Generating Continuous Random Variables
Nonhomogeneous Poisson Process(Homogeneous) Poisson Process
Previously: Now:
Nonhomogeneous Poisson Process (1/2) 19

Generating Continuous Random Variables
simulation of a
Poisson process
randomly
counting events
Nonhomogeneous Poisson Process (2/2) 20

Generating Continuous Random Variables
Agenda 21
Agenda
1 Introduction
2 Selected Methods
3 Generating Important Distributions
4 Summary
5 Exercises (Simulations using R)
Generating Continuous Random Variables

Summary 22
Generating Continuous Random Variables
Distribution
Inverse Transform
Method
Acceptance-Rejection
Method
Exponential X
Normal X
(Homogeneous)
Poisson
X
Nonhomogeneous
Poisson
X
Agenda 23
Agenda
1 Introduction
2 Selected Methods
3 Generating Important Distributions
4 Summary
5 Exercises (Simulations using R)
5.1 Exercise 1 – Inverse Transform Method (Exponential Distr.)
5.2 Exercise 2 – Acceptance Rejection Method (Normal Distr.)
Generating Continuous Random Variables
Exercise 1 – Task 24

Generating Continuous Random Variables
Exercise 1 – Live Demonstration 25
 R
 Version: 3.0.0 (Windows 32-bit)
 http://cran.rstudio.com/
 RStudio
 Version: 0.97.336
 http://www.rstudio.com/ide/download/
Generating Continuous Random Variables
Exercise 1 – Code 26
####################################
### Author: Martin Kretzer
### Date: 11 April 2012
### Descr: Simulation of an exponential distribution + inverse transform method
####################################
### 0. Functions:
### Performs simulations and returns a list of all resulting values
getSimulationsVector<- function( numberOfSimulations, numberOfCustomers, mean,
probability )
{
lambda<- 1/mean
simulationsVector<- c()
for( i in 1:numberOfSimulations )
{
claimsPerSimulationVector<- c()
#uniformVars<- runif( numberOfCustomers )
for( j in 1:numberOfCustomers )
{
uniformVarProbability <- runif(1)
if( uniformVarProbability <= probability )
{
uniformVarAlgorithm <- runif(1)
claim<- -(1/lambda)*log( uniformVarAlgorithm )
claimsPerSimulationVector<- c( claimsPerSimulationVector, claim )
}
}
simulationsVector<- c(simulationsVector, sum(claimsPerSimulationVector) )
}
return(simulationsVector)
};
Generating Continuous Random Variables
### Probability that all values are above the variable limit
getProbability<- function( simulationsVector, limit )
{
eventcount<- 0
for( i in 1:length( simulationsVector ) )
{
if( simulationsVector[[i]] >= limit )
{
eventcount<- eventcount + 1
}
}
probability<- eventcount / length( simulationsVector )
return(probability)
};
####################################
### 1. Set constant variables:
numberOfSimulations<- 100000;
numberOfCustomers<- 1000
mean<- 800;
limit<- 50000;
probability<- 0.05;
### 2. Execute and output variables:
simulationsVector <- getSimulationsVector( numberOfSimulations,
numberOfCustomers, mean, probability );
simulationsVector; #R maximum outputs 10000 values
### 3. Execute and output variables:
hist(simulationsVector, 250, xlab="Sum of all
claims",ylab="Simulations",main="Exercise: Transform Method and Exp.
Distribution");
### 4. Calculate and output probability:
probability<- getProbability( simulationsVector, limit );
probability;
Exercise 1 – Solution 27

Generating Continuous Random Variables
5.0;
5.0;
*
1
1
UY
UY
Xi
Exercise 2 – Task 28

Generating Continuous Random Variables
Exercise 2 – Live Demonstration 29
 R
 Version: 3.0.0 (Windows 32-bit)
 http://cran.rstudio.com/
 RStudio
 Version: 0.97.336
 http://www.rstudio.com/ide/download/
Generating Continuous Random Variables
Exercise 2 – Code 30
####################################
### Author: Martin Kretzer
### Date: 12 April 2012
### Descr: Simulation of a half-normal distribution + accept/reject
####################################
### 0. Function:
### Performs simulations and returns a vector of all simulated values
getSimulationsVector<- function( numberOfSimulations, mean, stdDev )
{
# Define variables
simulations.vector<- rep(0, numberOfSimulations)
# Generate the exponential variable y1
y1<- runif(1)
y1<- -log(y1)
for( i in 1:numberOfSimulations )
{
# Generate the independent exp. variable y2
y2<- runif(1)
y2<- -log(y2)
# Acceptance-Rejection procedure
while( y2 < (y1-1)^2/2 )
{
# if rejected, generate two new independent exp. variables y1 and
# y2 and repeat procedure
y1<- runif(1)
y1<- -log(y1)
y2<- runif(1)
y2<- -log(y2)
}
Generating Continuous Random Variables
y3<- y2-(y1-1)^2/2
# Generate a random number U and store the simulated variable y1
# in simulations.vector
u<- runif(1)
if( u <= 0.5 )
{
simulations.vector[i]<- mean + (y1*stdDev)
}
else
{
simulations.vector[i]<- mean + (-y1*stdDev)
}
y1<- y3
}
return(simulations.vector)
};
####################################
### Function End
####################################
simulations.vector<- getSimulationsVector( 100000, 10, 3 )
summary( simulations.vector )
sd( simulations.vector )
hist(simulations.vector, 250,
xlab="",ylab="Simulations",main="Exercise: Acceptance-Rejection Method
and Normal Distribution");
Exercise 2 – Solution 31
 Executed simulations: 100,000
 Estimated mean: 10.010
 Estimated standard deviation: 2.993299
Generating Continuous Random Variables
 Thank you for your attention.
32
Generating Continuous Random Variables
Appendix 33
Appendix
1 Backup Slides
2 Bibliography
Generating Continuous Random Variables
Poisson Process Introduction (1/2) 34

Generating Continuous Random Variables
Poisson Process Introduction (2/2) 35

Generating Continuous Random Variables
Nonhomogeneous Poisson Process: Option 1 Improvement 36

Generating Continuous Random Variables
Nonhomogeneous Poisson Process: Option 2 37

Generating Continuous Random Variables
Appendix 38
Appendix
1 Backup Slides
2 Bibliography
Generating Continuous Random Variables
Bibliography 39
 ETH Zürich. 2013. The Uniform Distribution, ETH Zürich, Zürich, CH (available online at
http://stat.ethz.ch/R-manual/R-devel/library/stats/html/Uniform.html ).
 Haugh, M. 2010. “Generating Random Variables and Stochastic Processes,” Columbia
University, US (available online at http://www.columbia.edu/~mh2078/MCS_ Generate_
RVars .pdf ).
 The R Core Team 2013. “R: A Language and Environment for Statistical Computing.
Reference Index. Version 3.0.0 (2013-04-03),” (part of the R download).
 R-Project 2013. “Probability Distributions,” (available online at http://cran.r-
project.org/web/views/Distributions.html ).
 Ross, S. M. 2013. Simulation, 5th ed., San Diego, CA: Academic Press.
 Sigman, K. 2009. “Inverse Transform Method,” Columbia University, US (available online at
http://www.columbia.edu/~ks20/4404-13-Spring/4404-Notes-ITM.pdf ).
 Valdez, E. A. 2008. “Generating Continuous Random Variables,” University of Connecticut,
US (available at http://www.math.uconn.edu/~valdez/math276s08/Math276-Week45.pdf ).
 Venables, W. N., Smith, D. M., and the R Core Team. 2013. “An Introduction to R. Notes on
R: A Programming Environment for Data Analysis and Graphics Version 3.0.0 (2013-04-
03),” (part of the R download).
Generating Continuous Random Variables

More Related Content

What's hot

Bayes rule (Bayes Law)
Bayes rule (Bayes Law)Bayes rule (Bayes Law)
Bayes rule (Bayes Law)Tish997
 
SOME PROPERTIES OF ESTIMATORS - 552.ppt
SOME PROPERTIES OF ESTIMATORS - 552.pptSOME PROPERTIES OF ESTIMATORS - 552.ppt
SOME PROPERTIES OF ESTIMATORS - 552.pptdayashka1
 
Generate and test random numbers
Generate and test random numbersGenerate and test random numbers
Generate and test random numbersMshari Alabdulkarim
 
Marcov chains and simple queue ch 1
Marcov chains and simple queue ch 1Marcov chains and simple queue ch 1
Marcov chains and simple queue ch 1Guru Nathan
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonkanikkk
 
Introduction to Probability and Bayes' Theorom
Introduction to Probability and Bayes' TheoromIntroduction to Probability and Bayes' Theorom
Introduction to Probability and Bayes' TheoromYugal Gupta
 
Fundamentals Probability 08072009
Fundamentals Probability 08072009Fundamentals Probability 08072009
Fundamentals Probability 08072009Sri Harsha gadiraju
 
Introduction to Programming in LISP
Introduction to Programming in LISPIntroduction to Programming in LISP
Introduction to Programming in LISPKnoldus Inc.
 
Random number generation
Random number generationRandom number generation
Random number generationvinay126me
 

What's hot (20)

Bayes rule (Bayes Law)
Bayes rule (Bayes Law)Bayes rule (Bayes Law)
Bayes rule (Bayes Law)
 
SOME PROPERTIES OF ESTIMATORS - 552.ppt
SOME PROPERTIES OF ESTIMATORS - 552.pptSOME PROPERTIES OF ESTIMATORS - 552.ppt
SOME PROPERTIES OF ESTIMATORS - 552.ppt
 
Probability Theory
Probability Theory Probability Theory
Probability Theory
 
AR model
AR modelAR model
AR model
 
Generate and test random numbers
Generate and test random numbersGenerate and test random numbers
Generate and test random numbers
 
CST 504 Venn Diagrams
CST 504 Venn DiagramsCST 504 Venn Diagrams
CST 504 Venn Diagrams
 
Probability
ProbabilityProbability
Probability
 
Random variate generation
Random variate generationRandom variate generation
Random variate generation
 
Marcov chains and simple queue ch 1
Marcov chains and simple queue ch 1Marcov chains and simple queue ch 1
Marcov chains and simple queue ch 1
 
Unit.4.integer programming
Unit.4.integer programmingUnit.4.integer programming
Unit.4.integer programming
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilon
 
Introduction to Probability and Bayes' Theorom
Introduction to Probability and Bayes' TheoromIntroduction to Probability and Bayes' Theorom
Introduction to Probability and Bayes' Theorom
 
Pigeon hole principle
Pigeon hole principlePigeon hole principle
Pigeon hole principle
 
Probability
ProbabilityProbability
Probability
 
Fundamentals Probability 08072009
Fundamentals Probability 08072009Fundamentals Probability 08072009
Fundamentals Probability 08072009
 
Introduction to Programming in LISP
Introduction to Programming in LISPIntroduction to Programming in LISP
Introduction to Programming in LISP
 
Econometrics ch12
Econometrics ch12Econometrics ch12
Econometrics ch12
 
Discrete Math Lecture 03: Methods of Proof
Discrete Math Lecture 03: Methods of ProofDiscrete Math Lecture 03: Methods of Proof
Discrete Math Lecture 03: Methods of Proof
 
Bayes' theorem
Bayes' theoremBayes' theorem
Bayes' theorem
 
Random number generation
Random number generationRandom number generation
Random number generation
 

Viewers also liked

Unit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationUnit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationraksharao
 
Computer simulation
Computer simulationComputer simulation
Computer simulationGudia Khan
 
Pseudorandom number generators powerpoint
Pseudorandom number generators powerpointPseudorandom number generators powerpoint
Pseudorandom number generators powerpointDavid Roodman
 
Random Number Generation
Random Number GenerationRandom Number Generation
Random Number GenerationRaj Bhatt
 
Project Managment Thinking
Project Managment ThinkingProject Managment Thinking
Project Managment ThinkingEmily Clasper
 
Queuing theory
Queuing theoryQueuing theory
Queuing theoryAmit Sinha
 
Idea Generation Techniques
Idea Generation TechniquesIdea Generation Techniques
Idea Generation TechniquesHershey Desai
 

Viewers also liked (9)

Unit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generationUnit 3 random number generation, random-variate generation
Unit 3 random number generation, random-variate generation
 
Probability And Random Variable Lecture(Lec9)
Probability And Random Variable Lecture(Lec9)Probability And Random Variable Lecture(Lec9)
Probability And Random Variable Lecture(Lec9)
 
Computer simulation
Computer simulationComputer simulation
Computer simulation
 
Pseudorandom number generators powerpoint
Pseudorandom number generators powerpointPseudorandom number generators powerpoint
Pseudorandom number generators powerpoint
 
Random Number Generation
Random Number GenerationRandom Number Generation
Random Number Generation
 
Random number generation
Random number generationRandom number generation
Random number generation
 
Project Managment Thinking
Project Managment ThinkingProject Managment Thinking
Project Managment Thinking
 
Queuing theory
Queuing theoryQueuing theory
Queuing theory
 
Idea Generation Techniques
Idea Generation TechniquesIdea Generation Techniques
Idea Generation Techniques
 

Similar to Simulation - Generating Continuous Random Variables

Lecture#6 functions in c++
Lecture#6 functions in c++Lecture#6 functions in c++
Lecture#6 functions in c++NUST Stuff
 
Monte Carlo Simulation for project estimates v1.0
Monte Carlo Simulation for project estimates v1.0Monte Carlo Simulation for project estimates v1.0
Monte Carlo Simulation for project estimates v1.0PMILebanonChapter
 
Functional Operations - Susan Potter
Functional Operations - Susan PotterFunctional Operations - Susan Potter
Functional Operations - Susan Potterdistributed matters
 
Iterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingNeeru Mittal
 
Unit 2-data types,Variables,Operators,Conitionals,loops and arrays
Unit 2-data types,Variables,Operators,Conitionals,loops and arraysUnit 2-data types,Variables,Operators,Conitionals,loops and arrays
Unit 2-data types,Variables,Operators,Conitionals,loops and arraysDevaKumari Vijay
 
09_Control_Structures_and_Flowcharts.pdf
09_Control_Structures_and_Flowcharts.pdf09_Control_Structures_and_Flowcharts.pdf
09_Control_Structures_and_Flowcharts.pdfziwei13579
 
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثالثة
شرح مقرر البرمجة 2   لغة جافا - الوحدة الثالثةشرح مقرر البرمجة 2   لغة جافا - الوحدة الثالثة
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثالثةجامعة القدس المفتوحة
 
CIS 115 Exceptional Education - snaptutorial.com
CIS 115   Exceptional Education - snaptutorial.comCIS 115   Exceptional Education - snaptutorial.com
CIS 115 Exceptional Education - snaptutorial.comDavisMurphyB33
 
Cis 115 Enhance teaching / snaptutorial.com
Cis 115  Enhance teaching / snaptutorial.comCis 115  Enhance teaching / snaptutorial.com
Cis 115 Enhance teaching / snaptutorial.comHarrisGeorg51
 
Cis 115 Education Organization / snaptutorial.com
Cis 115 Education Organization / snaptutorial.comCis 115 Education Organization / snaptutorial.com
Cis 115 Education Organization / snaptutorial.comBaileya126
 
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executions
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executionsRedisDay London 2018 - CRDTs and Redis From sequential to concurrent executions
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executionsRedis Labs
 
how to reuse code
how to reuse codehow to reuse code
how to reuse codejleed1
 
Csci101 lect02 selection_andlooping
Csci101 lect02 selection_andloopingCsci101 lect02 selection_andlooping
Csci101 lect02 selection_andloopingElsayed Hemayed
 
Cis 115 Education Organization -- snaptutorial.com
Cis 115   Education Organization -- snaptutorial.comCis 115   Education Organization -- snaptutorial.com
Cis 115 Education Organization -- snaptutorial.comDavisMurphyB99
 
Cis 115 Effective Communication / snaptutorial.com
Cis 115  Effective Communication / snaptutorial.comCis 115  Effective Communication / snaptutorial.com
Cis 115 Effective Communication / snaptutorial.comBaileyao
 
Cis 115 Extraordinary Success/newtonhelp.com
Cis 115 Extraordinary Success/newtonhelp.com  Cis 115 Extraordinary Success/newtonhelp.com
Cis 115 Extraordinary Success/newtonhelp.com amaranthbeg143
 

Similar to Simulation - Generating Continuous Random Variables (20)

Lecture#6 functions in c++
Lecture#6 functions in c++Lecture#6 functions in c++
Lecture#6 functions in c++
 
Monte Carlo Simulation for project estimates v1.0
Monte Carlo Simulation for project estimates v1.0Monte Carlo Simulation for project estimates v1.0
Monte Carlo Simulation for project estimates v1.0
 
Functional Operations - Susan Potter
Functional Operations - Susan PotterFunctional Operations - Susan Potter
Functional Operations - Susan Potter
 
Week08.pdf
Week08.pdfWeek08.pdf
Week08.pdf
 
Iterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop working
 
Iteration
IterationIteration
Iteration
 
Unit 2-data types,Variables,Operators,Conitionals,loops and arrays
Unit 2-data types,Variables,Operators,Conitionals,loops and arraysUnit 2-data types,Variables,Operators,Conitionals,loops and arrays
Unit 2-data types,Variables,Operators,Conitionals,loops and arrays
 
09_Control_Structures_and_Flowcharts.pdf
09_Control_Structures_and_Flowcharts.pdf09_Control_Structures_and_Flowcharts.pdf
09_Control_Structures_and_Flowcharts.pdf
 
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثالثة
شرح مقرر البرمجة 2   لغة جافا - الوحدة الثالثةشرح مقرر البرمجة 2   لغة جافا - الوحدة الثالثة
شرح مقرر البرمجة 2 لغة جافا - الوحدة الثالثة
 
CIS 115 Exceptional Education - snaptutorial.com
CIS 115   Exceptional Education - snaptutorial.comCIS 115   Exceptional Education - snaptutorial.com
CIS 115 Exceptional Education - snaptutorial.com
 
Cis 115 Enhance teaching / snaptutorial.com
Cis 115  Enhance teaching / snaptutorial.comCis 115  Enhance teaching / snaptutorial.com
Cis 115 Enhance teaching / snaptutorial.com
 
Control Structures: Part 2
Control Structures: Part 2Control Structures: Part 2
Control Structures: Part 2
 
06.Loops
06.Loops06.Loops
06.Loops
 
Cis 115 Education Organization / snaptutorial.com
Cis 115 Education Organization / snaptutorial.comCis 115 Education Organization / snaptutorial.com
Cis 115 Education Organization / snaptutorial.com
 
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executions
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executionsRedisDay London 2018 - CRDTs and Redis From sequential to concurrent executions
RedisDay London 2018 - CRDTs and Redis From sequential to concurrent executions
 
how to reuse code
how to reuse codehow to reuse code
how to reuse code
 
Csci101 lect02 selection_andlooping
Csci101 lect02 selection_andloopingCsci101 lect02 selection_andlooping
Csci101 lect02 selection_andlooping
 
Cis 115 Education Organization -- snaptutorial.com
Cis 115   Education Organization -- snaptutorial.comCis 115   Education Organization -- snaptutorial.com
Cis 115 Education Organization -- snaptutorial.com
 
Cis 115 Effective Communication / snaptutorial.com
Cis 115  Effective Communication / snaptutorial.comCis 115  Effective Communication / snaptutorial.com
Cis 115 Effective Communication / snaptutorial.com
 
Cis 115 Extraordinary Success/newtonhelp.com
Cis 115 Extraordinary Success/newtonhelp.com  Cis 115 Extraordinary Success/newtonhelp.com
Cis 115 Extraordinary Success/newtonhelp.com
 

Recently uploaded

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Simulation - Generating Continuous Random Variables

  • 1. Chair of Information Systems IV (ERIS) Institute for Enterprise Systems (InES) 16 April 2013, 10.15 am – 11.15 am Martin Kretzer Phone: +49 621 181 3276 E-Mail: kretzer@es.uni-mannheim.de Generating Continuous Random Variables (IS 802 “Simulation”, Section 3)
  • 2. Agenda 2 Agenda 1 Introduction 2 Selected Methods 3 Generating Important Distributions 4 Summary 5 Exercises (Simulations using R) Generating Continuous Random Variables
  • 3. Why “Generation of Continuous Random Variables”? 3  Simulations are able to address magnifold questions, e.g.:  How many customers will we have?  How long does it take to handle arriving customers?  Will queues develop?  Problem: Simulations require random variables  Uniformly distributed random variables are often not enough, but can be used for generation of further distributions  Uniformly distributed random variables can be generated, e.g., modulo function (section 2)  Example: Customers in a store arrive randomly, between 10 and 20 minutes apart, normally / exponentially distributed on this interval.  Goal: Generate random variables  Discrete random variables (section 2)  Continuous random variables (univariate) (section 3)  Each method for generating a discrete random variable has its analogue in the continuous case!  Multivariate normal distributed variables (section 4) Generating Continuous Random Variables Discrete Variables Continuous Variables  Finite set of values  Example: population  0, 1, 2, 3, …
  • 4. Learning Outcomes 4 Generating Continuous Random Variables  Generate random variables using the Inverse-Transform and Acceptance-Rejection Method  Develop algorithms for simulating Exponential, Normal, Poisson and Nonhomogeneous Poisson distributions  Perform simulations using R
  • 5. Agenda 5 Agenda 1 Introduction 2 Selected Methods 2.1 Inverse Transform Method 2.2 Acceptance Rejection Method 3 Generating Important Distributions 4 Summary 5 Exercises (Simulations using R) Generating Continuous Random Variables
  • 6.  Inverse Transform Method: Proof 6 Generating Continuous Random Variables
  • 7. Inverse Transform Method: Example 7  Generating Continuous Random Variables 3 xxF 31 uuF 3n
  • 8. Acceptance-Rejection Method 8  Generating Continuous Random Variables
  • 9. Acceptance-Rejection Method: Example 9  Generating Continuous Random Variables 3 120 xxxf
  • 10. Agenda 10 Agenda 1 Introduction 2 Selected Methods 3 Generating Important Distributions 3.1 Exponential Distribution 3.2 Normal Distribution 3.3 Poisson Distribution 3.4 Nonhomogeneous Poisson Distribution 4 Summary 5 Exercises (Simulations using R) Generating Continuous Random Variables
  • 11. Exponential Distribution (1/2) 11  Generating Continuous Random Variables
  • 12. Exponential Distribution (2/2) 12 Generating Continuous Random Variables x exF uuF ln 1 11
  • 13. Normal Distribution (1/4) 13 Generating Continuous Random Variables 
  • 14. Normal Distribution (2/4) 14 Generating Continuous Random Variables  5.0; 5.0; * 22 22 UY UY Xi
  • 15. 5.0; 5.0; * 1 1 UY UY Xi Normal Distribution (3/4) 15 Generating Continuous Random Variables 
  • 16. Normal Distribution (4/4) 16  Graphical illustration Generating Continuous Random Variables )( )( xg xf xh 2 2 2 2 x exf x exg
  • 17.  Poisson Process 17 Generating Continuous Random Variables
  • 18. Comparison: Homogeneous and Nonhomogeneous Poisson Process 18 Generating Continuous Random Variables Nonhomogeneous Poisson Process(Homogeneous) Poisson Process Previously: Now:
  • 19. Nonhomogeneous Poisson Process (1/2) 19  Generating Continuous Random Variables simulation of a Poisson process randomly counting events
  • 20. Nonhomogeneous Poisson Process (2/2) 20  Generating Continuous Random Variables
  • 21. Agenda 21 Agenda 1 Introduction 2 Selected Methods 3 Generating Important Distributions 4 Summary 5 Exercises (Simulations using R) Generating Continuous Random Variables
  • 22.  Summary 22 Generating Continuous Random Variables Distribution Inverse Transform Method Acceptance-Rejection Method Exponential X Normal X (Homogeneous) Poisson X Nonhomogeneous Poisson X
  • 23. Agenda 23 Agenda 1 Introduction 2 Selected Methods 3 Generating Important Distributions 4 Summary 5 Exercises (Simulations using R) 5.1 Exercise 1 – Inverse Transform Method (Exponential Distr.) 5.2 Exercise 2 – Acceptance Rejection Method (Normal Distr.) Generating Continuous Random Variables
  • 24. Exercise 1 – Task 24  Generating Continuous Random Variables
  • 25. Exercise 1 – Live Demonstration 25  R  Version: 3.0.0 (Windows 32-bit)  http://cran.rstudio.com/  RStudio  Version: 0.97.336  http://www.rstudio.com/ide/download/ Generating Continuous Random Variables
  • 26. Exercise 1 – Code 26 #################################### ### Author: Martin Kretzer ### Date: 11 April 2012 ### Descr: Simulation of an exponential distribution + inverse transform method #################################### ### 0. Functions: ### Performs simulations and returns a list of all resulting values getSimulationsVector<- function( numberOfSimulations, numberOfCustomers, mean, probability ) { lambda<- 1/mean simulationsVector<- c() for( i in 1:numberOfSimulations ) { claimsPerSimulationVector<- c() #uniformVars<- runif( numberOfCustomers ) for( j in 1:numberOfCustomers ) { uniformVarProbability <- runif(1) if( uniformVarProbability <= probability ) { uniformVarAlgorithm <- runif(1) claim<- -(1/lambda)*log( uniformVarAlgorithm ) claimsPerSimulationVector<- c( claimsPerSimulationVector, claim ) } } simulationsVector<- c(simulationsVector, sum(claimsPerSimulationVector) ) } return(simulationsVector) }; Generating Continuous Random Variables ### Probability that all values are above the variable limit getProbability<- function( simulationsVector, limit ) { eventcount<- 0 for( i in 1:length( simulationsVector ) ) { if( simulationsVector[[i]] >= limit ) { eventcount<- eventcount + 1 } } probability<- eventcount / length( simulationsVector ) return(probability) }; #################################### ### 1. Set constant variables: numberOfSimulations<- 100000; numberOfCustomers<- 1000 mean<- 800; limit<- 50000; probability<- 0.05; ### 2. Execute and output variables: simulationsVector <- getSimulationsVector( numberOfSimulations, numberOfCustomers, mean, probability ); simulationsVector; #R maximum outputs 10000 values ### 3. Execute and output variables: hist(simulationsVector, 250, xlab="Sum of all claims",ylab="Simulations",main="Exercise: Transform Method and Exp. Distribution"); ### 4. Calculate and output probability: probability<- getProbability( simulationsVector, limit ); probability;
  • 27. Exercise 1 – Solution 27  Generating Continuous Random Variables
  • 28. 5.0; 5.0; * 1 1 UY UY Xi Exercise 2 – Task 28  Generating Continuous Random Variables
  • 29. Exercise 2 – Live Demonstration 29  R  Version: 3.0.0 (Windows 32-bit)  http://cran.rstudio.com/  RStudio  Version: 0.97.336  http://www.rstudio.com/ide/download/ Generating Continuous Random Variables
  • 30. Exercise 2 – Code 30 #################################### ### Author: Martin Kretzer ### Date: 12 April 2012 ### Descr: Simulation of a half-normal distribution + accept/reject #################################### ### 0. Function: ### Performs simulations and returns a vector of all simulated values getSimulationsVector<- function( numberOfSimulations, mean, stdDev ) { # Define variables simulations.vector<- rep(0, numberOfSimulations) # Generate the exponential variable y1 y1<- runif(1) y1<- -log(y1) for( i in 1:numberOfSimulations ) { # Generate the independent exp. variable y2 y2<- runif(1) y2<- -log(y2) # Acceptance-Rejection procedure while( y2 < (y1-1)^2/2 ) { # if rejected, generate two new independent exp. variables y1 and # y2 and repeat procedure y1<- runif(1) y1<- -log(y1) y2<- runif(1) y2<- -log(y2) } Generating Continuous Random Variables y3<- y2-(y1-1)^2/2 # Generate a random number U and store the simulated variable y1 # in simulations.vector u<- runif(1) if( u <= 0.5 ) { simulations.vector[i]<- mean + (y1*stdDev) } else { simulations.vector[i]<- mean + (-y1*stdDev) } y1<- y3 } return(simulations.vector) }; #################################### ### Function End #################################### simulations.vector<- getSimulationsVector( 100000, 10, 3 ) summary( simulations.vector ) sd( simulations.vector ) hist(simulations.vector, 250, xlab="",ylab="Simulations",main="Exercise: Acceptance-Rejection Method and Normal Distribution");
  • 31. Exercise 2 – Solution 31  Executed simulations: 100,000  Estimated mean: 10.010  Estimated standard deviation: 2.993299 Generating Continuous Random Variables
  • 32.  Thank you for your attention. 32 Generating Continuous Random Variables
  • 33. Appendix 33 Appendix 1 Backup Slides 2 Bibliography Generating Continuous Random Variables
  • 34. Poisson Process Introduction (1/2) 34  Generating Continuous Random Variables
  • 35. Poisson Process Introduction (2/2) 35  Generating Continuous Random Variables
  • 36. Nonhomogeneous Poisson Process: Option 1 Improvement 36  Generating Continuous Random Variables
  • 37. Nonhomogeneous Poisson Process: Option 2 37  Generating Continuous Random Variables
  • 38. Appendix 38 Appendix 1 Backup Slides 2 Bibliography Generating Continuous Random Variables
  • 39. Bibliography 39  ETH Zürich. 2013. The Uniform Distribution, ETH Zürich, Zürich, CH (available online at http://stat.ethz.ch/R-manual/R-devel/library/stats/html/Uniform.html ).  Haugh, M. 2010. “Generating Random Variables and Stochastic Processes,” Columbia University, US (available online at http://www.columbia.edu/~mh2078/MCS_ Generate_ RVars .pdf ).  The R Core Team 2013. “R: A Language and Environment for Statistical Computing. Reference Index. Version 3.0.0 (2013-04-03),” (part of the R download).  R-Project 2013. “Probability Distributions,” (available online at http://cran.r- project.org/web/views/Distributions.html ).  Ross, S. M. 2013. Simulation, 5th ed., San Diego, CA: Academic Press.  Sigman, K. 2009. “Inverse Transform Method,” Columbia University, US (available online at http://www.columbia.edu/~ks20/4404-13-Spring/4404-Notes-ITM.pdf ).  Valdez, E. A. 2008. “Generating Continuous Random Variables,” University of Connecticut, US (available at http://www.math.uconn.edu/~valdez/math276s08/Math276-Week45.pdf ).  Venables, W. N., Smith, D. M., and the R Core Team. 2013. “An Introduction to R. Notes on R: A Programming Environment for Data Analysis and Graphics Version 3.0.0 (2013-04- 03),” (part of the R download). Generating Continuous Random Variables

Editor's Notes

  1. Why do we need the exponential distribution?Exponential distribution is useful for generation of a Poisson random variableThe exponential distribution describes the time between events in a Poisson process, i.e., a process in which events occur continuously and independently at a constant average rate (= lambda).Times between events are independent exponentials with rate L (section 2.9 in the book)