Symbulate: Simulation in the Language of Probability. Issue 1 (2nd January 2019) - Ross, Kevin; Sun, Dennis L.
Abstract: Simulation is an effective tool for analyzing probability models as well as for facilitating understanding of concepts in probability and statistics. Unfortunately, implementing a simulation from scratch often requires users to think about programming issues that are not relevant to the simulation itself. We have developed a Python package called Symbulate (https://github.com/dlsun/symbulate ) which provides a user friendly framework for conducting simulations involving probability models. The syntax of Symbulate reflects the "language of probability" and makes it intuitive to specify, run, analyze, and visualize the results of a simulation. Moreover, Symbulate's consistency with the mathematics of probability reinforces understanding of probabilistic concepts. Symbulate can be used in introductory through graduate courses, with a wide variety of probability concepts and problems, including: probability spaces; events; discrete and continuous random variables; joint, conditional, and marginal distributions; stochastic processes; discrete- and continuous-time Markov chains; Poisson processes; and Gaussian processes, including Brownian motion. In this work, we demonstrate Symbulate, discuss its main pedagogical features, present examples of Symbulate graphics, and share some of our experiences using Symbulate in courses.