An Introduction to Sensitivity Analysis
Prepared for the MIT System Dynamics in Education Project Under the Supervision of Dr. Jay W. Forrester
by Lucia Breierova Mark Choudhari September 6, 1996 Vensim Examples added October 2001
Copyright © 2001 by the Massachusetts Institute of Technology Permission granted to distribute for non-commercial educational purposes
Table of Contents
1. ABSTRACT 46
3. EXPLORATORY EXERCISES 3.1 EXPLORATION 1: LEMONADE STAND 3.1.1 EXERCISE 3.1.2 DEBRIEF 3.2 EXPLORATION 2: EPIDEMICS 3.2.1 EXERCISE 3.2.2 DEBRIEF
48 48 51 55 55 57 62
4. INDEPENDENT EXPLORATION: COFFEEHOUSE 4.1 CHOOSING PARAMETERS FOR SENSITIVITY ANALYSIS 4.2 PERFORMING SENSITIVITY TESTS
62 65 65
6. SUGGESTED SOLUTIONS TO SECTION 4 6.1 SOLUTION TO SECTION 4.1 6.2 SOLUTION TO SECTION 4.2 6.3 DEBRIEF
67 67 67 74
7. APPENDIX: MODEL DOCUMENTATION 7.1 LEMONADE STAND MODEL 7.2 EPIDEMICS MODEL 7.3 COFFEEHOUSE MODEL
75 75 76 77
7. VENSIM EXAMPLES
Abstract This paper is an introduction to a series of papers on sensitivity analysis. It contains three exploratory exercises demonstrating the effects of various parameter and initial value changes on system behavior. The paper assumes that the reader is able to build and understand a multiple-level model, and has experience with the sensitivity feature in the STELLA software.1 We encourage the reader to build all the models and to run the simulations described.
For a review of the sensitivity feature in STELLA, please refer to your STELLA user manual or to Road Maps 3: A Guide to Learning System Dynamics (D-4503-3), System Dynamics in Education Project, System Dynamics Group, Sloan School of Management, Massachusetts Institute of Technology, p. 12-13. STELLA is a registered trademark of High Performance Systems, Inc.
Introduction Sensitivity analysis is used to determine how “sensitive” a model is to changes in the value of the parameters of the model and to changes in the structure of the model. In this paper, we focus on parameter sensitivity. Parameter sensitivity is usually performed as a series of tests in which the modeler sets different parameter values to see how a change in the parameter causes a change in the dynamic behavior of the stocks. By showing how the model behavior responds to changes in parameter values, sensitivity analysis is a useful tool in model building as well as in model evaluation. Sensitivity analysis helps to build confidence in the model by studying the uncertainties that are often associated with parameters in models. Many parameters in system dynamics models represent quantities that are very difficult, or even impossible to measure to a great deal of accuracy in the real world. Also, some parameter values change in the real world. Therefore, when building a system dynamics model, the modeler is usually at least somewhat uncertain about the parameter values he chooses and must use estimates. Sensitivity analysis allows him to determine what level of accuracy is necessary for a parameter to make the model sufficiently useful and valid. If the tests reveal that the model is insensitive, then it may be possible to use an estimate rather than a value with greater precision. Sensitivity analysis can also indicate which parameter values are reasonable to use in the model. If the model behaves as expected from real world observations, it gives some indication that the parameter values reflect, at least in part, the “real world.” Sensitivity tests help the modeler to understand dynamics of a system. Experimenting with a wide range of values can offer insights into behavior of a system in extreme situations. Discovering that the system behavior greatly changes for a change in a parameter value can identify a leverage point in the model— a...