Midterm review session for ASU IEE 475 for Fall 2022.
Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/ljc61rarhns41u2/2022-Fall-Midterm_Review_Notes.pdf?dl=0
Archived lectures from undergraduate course on stochastic simulation given at Arizona State University by Ted Pavlic
Midterm review session for ASU IEE 475 for Fall 2022.
Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/ljc61rarhns41u2/2022-Fall-Midterm_Review_Notes.pdf?dl=0
In this lecture, we review pseudo-random number generation and then introduce random-variate generation by way of inverse-transform sampling. In particular, we start with a review of the two most important properties of a pseudo-random number generator (PRNG), uniformity and independence, and discuss statistically rigorous methods for testing for these two properties. For uniformity, we focus on a Chi-square/Chi-squared test for larger numbers of samples and a Kolmogorov–Smirnov (KS) test for smaller numbers of samples. For independence, we discuss autocorrelation tests and runs test, and then we demonstrate a runs above-and-below-the-mean test. We then shift to discussing inverse-transform sampling for continuous random variates and discrete random variates and how the resulting random-variate generators might be implemented in a tool like Rockwell Automation's Arena.
In this lecture, we first cover some discrete distributions (and the Poisson process) that we ran out of time for during the previous lecture. We then launch into a discussion of how to generate pseudo-random numbers distributed uniformly between 0 and 1 (which are necessary for us to easily generate random variates of any distribution). We talk about the two most important properties of a pseudo-random number generator (PRNG), uniformity and independence. We then talk about desirable properties. Some examples are given of some early PRNG's, and then we introduce the linear congruential generator (LCG) and its variants (like the Combined Linear Congruential Generator, CLCG), which represent a much more modern PRNG that has a number of good properties. We close with a discussion of tests of uniformity. We will continue this discussion and add on tests for independence during next lecture (which will primarily cover random-VARIATE generation).
In this lecture, we review basic probability fundamentals (measure spaces, probability measures, random variables, probability density functions, probability mass functions, cumulative distribution functions, moments, mean/expected value/center of mass, standard deviation, variance), and then we start to build a vocabulary of different probabilistic models that are used in different modeling contexts. These include uniform, triangular, normal, exponential, Erlang-k, Weibull, and Poisson variables. We will finish the discussing next time with the Bernoulli-based discrete variables and Poisson processes.
In this lecture, we introduce the measure-theoretic concept of a random variable (which is neither random nor a variable) and related terms, such as outcomes, events, probability measures, moments, means, etc. Throughout the lecture, we use the metaphor of probability as mass (and thus probability density as mass density, and a mean as a center of mass). This allows us to discuss the "statistical leverage" of outliers in a distribution (i.e., although they happen infrequently, they still have the ability to shift the mean significantly, as in physical leverage). This sets us up to talk about random processes and particular random variables in the next lecture.
In this lecture, we briefly introduce System Dynamics Modeling (SDM) and Agent-Based/Individual-Based Modeling (ABM/IBM) as the two ends of the simulation modeling spectrum (from low resolution to high resolution). The introduction of ABM describes applications in life sciences, social sciences, and engineering (Multi-Agent Systems, MAS)/operations research. NetLogo is introduced, and it is used to present examples of running ABM's as well as the code behind them. At the end of the ABM/NetLogo introduction, comments about the previous lab on Monte Carlo simulation are given. These comments focus on interval estimation (which is right 95% of the time, as opposed to point estimation that is right 0% of the time) and the role of non-trivial distributions of random variables (as opposed to just their means).
In this lecture, we discuss different approaches to implementing Discrete Event System (DES) simulations (DESS) with simple spreadsheets (e.g., Microsoft Excel, Google Sheets, Apple Numbers, etc.). We cover inventory management problems (such as the newsvendor model) as well as Monte Carlo sampling and stochastic activity networks (SAN's). Although we show that spreadsheets can be very powerful for this kind of work, we highlight that this approach is cumbersome for systems with increasing complexity. So this motivates why we would use more sophisticated tools specifically built for simulation (but perhaps not so great for data analysis by themselves), like Arena, FlexSim, Simio, and NetLogo.
In this lecture, we close out our review of DES fundamentals and hand simulation. After going through a hand-simulation example one last time, we show how to implement a Discrete Event System (DES) simulation using a spreadsheet tool like Microsoft Excel without any "macros" (VBA, etc.). This involves defining relationships ACROSS TIME that allow the spreadsheet to (in a declarative fashion) reconstruct the trajectory that is the output of the simulation. We then pivot to discussing the previous "Lab 2 (Muffin Oven Simulation)", which lets us discuss common random numbers (CRNs), statistical blocking, requirements of 2-sample and paired t-tests, and more sophisticated statistical methods that better characterize PRACTICAL significance (and take into account the multiple comparisons problem). Thus, the post-lab2 reflections are largely a preview of future topics in the course.
In this lecture, we review fundamentals of Discrete Event System (DES) simulation (e.g., entities, resources, activities, processes, delays, attributes) and we run through a number of DES modeling examples. These examples show how different research/operations questions can lead to different choices of entities/resources/etc. We close with a hand-simulation example of a single-channel, single-server queue with provided interarrival times and service times.