1 Sensitivity Analysis II PAD824 Presented by Ignacio J. Martinez and Peter Otto 2 Today‘s Presentation • Clarification • Traditional Process for Conducting Sensitivity Analysis • Parameters in Vensim • Doing in Class Exercises 3 Clarification • Models often include exogenous parameters or relations among variables about which our knowledge is inadequate, thus we make guesses • SA is the process of determining which of these guesses really matter, that is, we try to determine whether a slight different guess would make a significant difference in the behavior of the model 4 Types • Numerical Sensitivity.- Changes the numbers of the output of the simulation but not the behavioral pattern. • Behavioral Sensitivity.- Changes the numbers and the behavioral pattern of the output of the simulation. • Structural Sensitivity.- Changes the output when changing the structure. 5 Process for Conducting a Sensitivity Analysis • List the exogenous parameters and relations about which we are making guesses • Determine the possible range for each parameter • Pick the parameter that seems most likely to be important, while holding everything else constant, run the model under a full range of different values for that parameter 6 Outcome • If model behavior changes significantly, the model is sensitive to the selected parameter, and we must reformulate the model to eliminate the parameter, learn what the real value for the parameter is, or lose confidence in the model. 7 Setting up a Sensitivity Analysis in Vensim® 8 9 Settings • Default: Multivariate, causes all selected constants to be changed together • Univariate, if selected, causes the first constant to be changed and then the next, with the first constant set back to its normal simulation value (useful option for doing a series of Vector searches across parameters) Note: If you enter only one parameter, Univariate and Multivariate searches are the same 10 Settings • Latin Hypercube (change together exhausting axes ranges), if selected will cause a Latin Hypercube search to occur. A Latin Hypercube search is simply a mechanism to ensure that the full range of each parameter being varied is explored in the number of simulations specified. This is desirable for big models where each simulation takes a long time. 11 Distributions • Default: Random Uniform (min, max), draws from a uniform random distribution • Random Normal (min, max, mean, standard dev), draws a number from a normal distribution with the specified mean and standard deviation • Vector (min, max, increment), generates a sequence of numbers from min to max by increment. This sequence is not random, but uniformly increasing 12 13 14 Running Sensitivity in Vensim® 15 Changing Settings and Results 16 <BLM> <BLFM> Business labor force multiplier Business land multiplier BCN Business construction Business structures Business demolition <AJM> BDN Area <HLM> Land fraction occupied Labor to job ratio Jobs Housing land multiplier LPBS LPH Attractiveness from jobs multiplier Labor force JPBS LPF Population Housing Outmigration Housing demolition Housing construction HCN OMN HDN BN Attractvieness from housing multiplier HS <HAM> IMN Net births Households to housing ratio DN Housing availability multiplier Inmigration <AHM> 17 Multivariate with Random Uniform Distribution sensi1 urban1 50% 75% 95% Multivariate with Random Normal Distribution sensi2 50% 100% 75% Population 600,000 Population 400,000 450,000 300,000 300,000 200,000 150,000 100,000 0 0 25 50 Time (year) 75 Sensitivity Run: BCN = 0.01 – 0.2 (value in the model 0.07) 100 0 0 95% 25 100% 50 Time (year) 75 100 Sensitivity Run: BCN = 0.01 – 0.2, Mean = 0.1, Standard Deviation = 0.01 18 Latin Hypercube with Random Uniform Distribution sensi3 50% 75% 95% Latin Hypercube with Random Normal Distribution sensi4 50% 100% 75% Population 600,000 Population 400,000 450,000 300,000 300,000 200,000 150,000 100,000 0 0 0 25 50 Time (year) 75 Sensitivity Run: BCN = 0.01 – 0.2 (value in the model 0.07) 100 0 95% 25 100% 50 Time (year) 75 100 Sensitivity Run: BCN = 0.01 – 0.2, Mean = 0.1, Standard Deviation = 0.01 19 Univariate with Vector Distribution sensi5 50% 75% 95% Multivariate with Random Normal Distribution sensi2 50% 100% 75% Population 600,000 Population 400,000 450,000 300,000 300,000 200,000 150,000 100,000 0 0 0 25 50 Time (year) 75 Sensitivity Run: BCN = 0.01 – 0.2, Increment = 0.01 (value in the model 0.07) 100 0 95% 25 100% 50 Time (year) 75 100 Sensitivity Run: BCN = 0.01 – 0.2, Mean = 0.1, Standard Deviation = 0.01 20 Sensitivity to a Table Function (A kind of Structural Sensitivity) 21 Weight on A <BLFM A> <BLFM> <BLFM B> Business labor force multiplier Business construction Business structures Business demolition Jobs BDN Labor to job ratio Attractiveness from jobs multiplier Business labor force = ("<BLFM A>"(Labor to job ratio)*Weight on A) +("<BLFM B>"(Labor to job ratio)*(1-Weight on A)) multiplier 22 sensi1 50% 75% 95% 100% Business structures 6,000 4,500 3,000 1,500 0 0 25 Graph for Business structures 50 Time (year) 75 100 6,000 4,500 3,000 1,500 0 0 10 20 Business structures : sensi2 Business structures : sensi1 Business structures : urban1 30 40 50 60 Time (year) 70 80 90 100 structure structure structure 23 sensi1 50% 75% 95% 100% Housing 100,000 75,000 50,000 25,000 0 sensi1 50% 75% 95% 0 25 50 Time (year) 75 100 100% Population 400,000 300,000 200,000 100,000 0 0 25 50 Time (year) 75 100 24