Sensitivity analysis for risk-related decision-making

Similar documents
Uncertainty in risk engineering: concepts

February 2010 Office of the Deputy Assistant Secretary of the Army for Cost & Economics (ODASA-CE)

Milliman STAR Solutions - NAVI

XSG. Economic Scenario Generator. Risk-neutral and real-world Monte Carlo modelling solutions for insurers

Global Sensitivity Analysis. The Primer. Joint Research Centre uf the European Commission, Ispra,

Prioritization of Climate Change Adaptation Options. The Role of Cost-Benefit Analysis. Session 8: Conducting CBA Step 7

The ISO standard on risk management

SENSITIVITY ANALYSIS IN CAPITAL BUDGETING USING CRYSTAL BALL. Petter Gokstad 1

Oracle Financial Services Market Risk User Guide

Chapter-8 Risk Management

Monte Carlo Simulation (General Simulation Models)

RISK MANAGEMENT ON USACE CIVIL WORKS PROJECTS

Use of the Risk Driver Method in Monte Carlo Simulation of a Project Schedule

Better decision making under uncertain conditions using Monte Carlo Simulation

Financial Computing with Python

California Department of Transportation(Caltrans)

RISK BASED LIFE CYCLE COST ANALYSIS FOR PROJECT LEVEL PAVEMENT MANAGEMENT. Eric Perrone, Dick Clark, Quinn Ness, Xin Chen, Ph.D, Stuart Hudson, P.E.

SCAF Workshop Integrated Cost and Schedule Risk Analysis. Tuesday 15th November 2016 The BAWA Centre, Filton, Bristol

Project Theft Management,

How to Consider Risk Demystifying Monte Carlo Risk Analysis

for Finance Python Yves Hilpisch Koln Sebastopol Tokyo O'REILLY Farnham Cambridge Beijing

Acritical aspect of any capital budgeting decision. Using Excel to Perform Monte Carlo Simulations TECHNOLOGY

Using Monte Carlo Analysis in Ecological Risk Assessments

Introduction to RELCOST. Carolyn Roos, Ph.D. Northwest CHP Technical Assistance Partnerships Washington State University Energy Program

XLSTAT TIP SHEET FOR BUSINESS STATISTICS CENGAGE LEARNING

Cost Risk Assessment Building Success and Avoiding Surprises Ken L. Smith, PE, CVS

RISK MANAGEMENT LECTURE 5. Ahmed Elyamany

Modelling economic scenarios for IFRS 9 impairment calculations. Keith Church 4most (Europe) Ltd AUGUST 2017

Proper Risk Assessment and Management: The Key to Successful Banking O R A C L E W H I T E P A P E R N O V E M B E R

STATISTICAL FLOOD STANDARDS

International Project Management. prof.dr MILOŠ D. MILOVANČEVIĆ

STOCHASTIC COST ESTIMATION AND RISK ANALYSIS IN MANAGING SOFTWARE PROJECTS

5.- RISK ANALYSIS. Business Plan

Decision Support Models 2012/2013

Characterization of the Optimum

Monitoring - revisited

DATA SUMMARIZATION AND VISUALIZATION

TRΛNSPΛRΣNCY ΛNΛLYTICS

MFE Course Details. Financial Mathematics & Statistics

Risk treatment: introduction

The Kalman filter - and other methods

The Kalman filter - and other methods

Introducing LIST. Riccardo Bernini Head of Financial Engineering Enrico Melchioni Head of International Sales. March 2018

Overnight Index Rate: Model, calibration and simulation

Probabilistic Sensitivity Analysis Prof. Tony O Hagan

ESD.70J Engineering Economy

Integrated Cost-Schedule Risk Analysis Improves Cost Contingency Calculation ICEAA 2017 Workshop Portland OR June 6 9, 2017

bitarisk. BITA Vision a product from corfinancial. london boston new york BETTER INTELLIGENCE THROUGH ANALYSIS better intelligence through analysis

Value of Information in Spreadsheet Monte Carlo Simulation Models

UPDATED IAA EDUCATION SYLLABUS

Notes for CHEE 332 Report

Project Risk Management. Prof. Dr. Daning Hu Department of Informatics University of Zurich

ALGORITHMIC TRADING STRATEGIES IN PYTHON

EARNED VALUE MANAGEMENT AND RISK MANAGEMENT : A PRACTICAL SYNERGY INTRODUCTION

Subject CS1 Actuarial Statistics 1 Core Principles. Syllabus. for the 2019 exams. 1 June 2018

KERNEL PROBABILITY DENSITY ESTIMATION METHODS

WC-5 Just How Credible Is That Employer? Exploring GLMs and Multilevel Modeling for NCCI s Excess Loss Factor Methodology

TABLE OF CONTENTS C ORRELATION EXPLAINED INTRODUCTION...2 CORRELATION DEFINED...3 LENGTH OF DATA...5 CORRELATION IN MICROSOFT EXCEL...

Estimating ROI for Large Scale Six Sigma and Test Automation Projects C F Boncek Engineering Fellow July

R is a collaborative project with many contributors. Type contributors() for more information.

We are not saying it s easy, we are just trying to make it simpler than before. An Online Platform for backtesting quantitative trading strategies.

Jacob: What data do we use? Do we compile paid loss triangles for a line of business?

STOCHASTIC COST ESTIMATION AND RISK ANALYSIS IN MANAGING SOFTWARE PROJECTS

Simulation Lecture Notes and the Gentle Lentil Case

Cost Risk Assessments Planning for Project or Program Uncertainty with Confidence Brian Bombardier, PE

Getting Started with CGE Modeling

Chapter 14. Descriptive Methods in Regression and Correlation. Copyright 2016, 2012, 2008 Pearson Education, Inc. Chapter 14, Slide 1

- International Scientific Journal about Simulation Volume: Issue: 2 Pages: ISSN

Fundamentals of Project Risk Management

Economic decision analysis: Concepts and applications

RISK MITIGATION IN FAST TRACKING PROJECTS

L U N D S U N I V E R S I T E T. Projektledning och Projektmetodik

INTRODUCTION AND OVERVIEW

Debt Sustainability Risk Analysis with Analytica c

Modelling the Sharpe ratio for investment strategies

the display, exploration and transformation of the data are demonstrated and biases typically encountered are highlighted.

The Risky Business of. Risk Management

Predicting & Quantifying Risk in Airport Capacity Profile Selection for Air Traffic Management

Probabilistic Benefit Cost Ratio A Case Study

source experience distilled PUBLISHING BIRMINGHAM - MUMBAI

Cost Risk and Uncertainty Analysis

TIE2140 / IE2140e Engineering Economy Tutorial 6 (Lab 2) Engineering-Economic Decision Making Process using EXCEL

Decision Making Under Conditions of Uncertainty: A Wakeup Call for the Financial Planning Profession by Lynn Hopewell, CFP

Full Monte. Looking at your project through rose-colored glasses? Let s get real.

StatPro Revolution - Analysis Overview

Chapter 2 Uncertainty Analysis and Sampling Techniques

AP STATISTICS FALL SEMESTSER FINAL EXAM STUDY GUIDE

Simulating the Need of Working Capital for Decision Making in Investments

σ e, which will be large when prediction errors are Linear regression model

White Paper. Demystifying Analytics. Proven Analytical Techniques and Best Practices for Insurers

Management Services Reviewer by Ma. Elenita Balatbat-Cabrera

Development of Debt Management IT Systems in Peru

PRE CONFERENCE WORKSHOP 3

Key Features Asset allocation, cash flow analysis, object-oriented portfolio optimization, and risk analysis

Module 6 Portfolio risk and return

* The Unlimited Plan costs $100 per month for as many minutes as you care to use.

Preparing for the New ERM and Solvency Regulatory Requirements

Methodology for risk analysis in railway tunnels using Monte Carlo simulation

Optimizing the Incremental Delivery of Software Features under Uncertainty

Chapter 5, CVP Study Guide

Transcription:

Sensitivity analysis for risk-related decision-making Eric Marsden <eric.marsden@risk-engineering.org> What are the key drivers of my modelling results?

Sensitivity analysis: intuition X is a sensitive parameter Degree of sensitivity of X = ΔY/ΔX X is not a sensitive parameter 2 / 30

Sensitivity analysis: intuition 5 f (x, y) is sensitive in x and in y 0 2 2 1 x 0 1 2 2 0 y 3 / 30

Sensitivity analysis: intuition 4 2 f (x, y) is sensitive in x but not in y 0 2 1 x 0 1 2 2 0 y 2 4 / 30

Sensitivity analysis: intuition Consider a case where Y = f (x) and the function f is a black box We can sample Y for different values of X to reassemble the relationship Here: X is a sensitive parameter 5 / 30

Sensitivity analysis: intuition Y Here, X is not sensitive Can be seen visually X 6 / 30

Sensitivity analysis: intuition What can we say about the sensitivity of X? No graphical interpretation Consider also functions (or computer models, or spreadsheets) which have tens of inputs you can t draw graphs in dimension 23! We need a more sophisticated method than scatterplots 7 / 30

What is sensitivity analysis? The study of how the variation (uncertainty) in the output of a mathematical model can be apportioned, qualitatively or quantitatively, to different sources of variation in the model inputs Answers the question What makes a difference in this decision problem? Can be used to determine whether further research is needed to reduce input uncertainty before making a decision information is not free 8 / 30

Sensitivity and uncertainty analysis simulation model Start with a simulation model that you want better to understand (often a computer model). It may be a black box (you don t know how it works internally). Adapted from figure by A. Saltelli

Sensitivity and uncertainty analysis parameter 1 parameter 2 simulation model Start with a simulation model that you want better to understand (often a computer model). It may be a black box (you don t know how it works internally). Define which uncertain input parameters you want to analyze. Characterize their probability distributions. parameter 3 Adapted from figure by A. Saltelli

Sensitivity and uncertainty analysis parameter 1 parameter 2 simulation model outputs Propagate the input variability to the output variability by running the model a large number of times with inputs taken from the input probability distributions. (This is a Monte Carlo or stochastic simulation method.) parameter 3 Adapted from figure by A. Saltelli

Sensitivity and uncertainty analysis parameter 1 parameter 2 simulation model outputs uncertainty analysis Uncertainty analysis: how does variability in the inputs propagate through the model to variability in the outputs? parameter 3 Adapted from figure by A. Saltelli

Sensitivity and uncertainty analysis parameter 1 uncertainty analysis Uncertainty analysis: how does variability in the inputs propagate through the model to variability in the outputs? parameter 2 simulation model outputs sensitivity analysis Sensitivity analysis: what is the relative contribution of the variability in each of the inputs to the total output variability? parameter 3 Adapted from figure by A. Saltelli 9 / 30

Sensitivity and uncertainty analysis parameter 1 parameter 2 parameter 3 simulation model outputs uncertainty analysis sensitivity analysis Insights gained from the sensitivity analysis may help to prioritize effort on reducing input uncertainties improve the simulation model feedback on model inputs & model structure Adapted from figure by A. Saltelli 9 / 30

Applications of sensitivity analysis Risk communication how much of my output uncertainty is irreducible (caused by aleatory uncertainty in input parameters)? how much is epistemic (related to lack of knowledge, could be reduced with more research)? Optimize research investment to improve risk analysis which uncertain input parameters contribute the most to model output uncertainty? on which uncertain input parameters should I spend my research money to gain the biggest reduction in uncertainty? Model reduction identify ineffective parameters generate models with fewer parameters, but (almost) identical results (metamodels or response surfaces) 10 / 30

Application areas The European Commission recommends sensitivity analysis in the context of its impact assessment guidelines (2009): the assumptions underlying the baseline scenario might vary as a result of external factors, you need to do a sensitivity analysis to assess whether the impacts of the When policy options differ significantly for different values of the key variables. Source: EC guidance document at ec.europa.eu/smart-regulation/impact/ 11 / 30

Application areas Principles for Risk Analysis published by the US Office of Management and Budget: risk assessments should characterize uncertainty with a sensitivity analysis and, where feasible, through use of a numeric distribution. Influential [ ] Sensitivity analysis is particularly useful in pinpointing which assumptions are appropriate candidates for additional data collection to narrow the degree of uncertainty in the results. Sensitivity analysis is generally considered a minimum, necessary component of a quality risk assessment report. Source: Updated principles for risk analysis, US OMB, whitehouse.gov/sites/default/files/omb/assets/regulatory_matters_pdf/m07-24.pdf 12 / 30

Sensitivity analysis: the process 1 Specify the objective of your analysis Example: Which variables have the most impact on the level of risk? 2 Build a model which is suitable for automated numerical analysis Example: spreadsheet with inputs in certain cells and the output of interest in another cell Example: computer code that can be run in batch mode 3 Select a sensitivity analysis method most appropriate method will depend on your objectives, the time available for the analysis, the execution cost of the model 4 Run the analysis 5 Present results to decision-makers 13 / 30

Step 2: start with an influence diagram A useful starting point is to build an influence diagram of the relevant variables. Use this diagram to build your model (e.g. profit = revenue - expenses), or check that all relevant variables are integrated in your existing numerical model. Figure from Clemen, R. T., Making Hard Decisions: An Introduction to Decision Analysis, 1996 14 / 30

Step 3: sensitivity analysis methods 1 Basic approach: tornado diagram 2 Screening methods 3 oat one at a time methods increasing sophistication 4 Local sensitivity analysis 5 Global sensitivity analysis more information available 15 / 30

Basic SA: tornado diagram Market Size Our Share Selling Price Fixed Costs Variable Cost Tornado diagram: way of presenting basic sensitivity information mostly used for project risk management or net present value estimates sometimes called what-if analysis Determine lower bound, upper bound and best estimate of each uncertain input parameter = 10%, 90% and 50% quantiles of parameter s probability distribution For each uncertain parameter, calculate model output for lower and upper bounds, while taking best estimate for all other uncertain parameters Draw a horizontal bar for each uncertain parameter between value for lower bound and value for upper bound Vertical order of uncertain parameters given by width of the bar parameters which lead to large output spread (have more impact) at top Draw a vertical line at position of expected value (model using best estimate for all uncertain parameters) 0 100 200 300 400 500 600 16 / 30

Tornado diagram example: profit calculation Profit = (SellingPrice - VariableCost) MarketSize MarketShare - FixedCosts Parameter Lower Expected Upper Selling price 140 175 200 Market size 8 12 20 Our share 0.18 0.25 0.35 Variable cost 30 40 60 Fixed costs 150 180 300 Market Size Our Share Selling Price Fixed Costs Variable Cost 0 100 200 300 400 500 600 Interpretation: given these assumptions, the market size parameter has most influence on profitability. Plot generated with free Excel plugin by home.uchicago.edu/ rmyerson/addins.htm 17 / 30

Relevant commercial tools Example tools with Excel integration: Palisade TopRank Oracle Crystal Ball Typically quite expensive 18 / 30

Screening methods Screening is a preliminary phase that is useful when the model has a large number of parameters allows the identification, with a limited number of calculations, of those parameters that generate significant variability in the model s output Simple oat (one at a time) screening method: change one factor at a time and look at effect on output while keeping other factors at their nominal value Intuitive approach, can be undertaken by hand If model fails, you know which factor is responsible for the failure Approach does not fully explore input space, since simultaneous variations of input variables are not studied Cannot detect the presence of interactions between input variables 19 / 30

OAT screening method: example Rosenbrock function: f (x 1, x 2 ) = 100(x 2 x 2 1 ) 2 + (1 x 1 ) 2 over [-2, 2]² Real modelling situations have many more than two variables, so output cannot be plotted 2 x 2 1 0 1 2 2 1.5 1 0.5 0 0.5 1 1.5 2 x 1 101 1 100 > def rosenbrock(x1, x2): return 100*(x2-x1**2)**2 + (1-x1)**2 > rosenbrock(0, 0) 1 > rosenbrock(1, 0) 100 > rosenbrock(0, 1) 101 > rosenbrock(1, 1) 0 > rosenbrock(-1, -1) 404 Both x 1 and x 2 seem to be sensitive variables in this example 20 / 30

The Elementary Effects screening method The elementary effect for the i-th input variable at x [0, 1] k is the first difference approximation to the derivative of f ( ) at x: EE i (x) = f (x + e i) f (x) where e i is the unit vector in the direction of the i-th axis Intuition: it s the slope of the secant line parallel to the input axis Average EE i (x) for various points x in the input domain to obtain a measure of the relative influence of each factor μ i = 1 r r j=1 EE i (x j ) 21 / 30

Elementary effects method: example Consider y(x) = 1.0 + 1.5x 2 + 1.5x 3 + 0.6x 4 + 1.7x 2 4 + 0.7x 5 + 0.8x 6 + 0.5(x 5 x 6 ) where x = (x 1, x 2, x 3, x 4, x 5, x 6 ) 0 x 1, x 2, x 4, x 5, x 6 1 0 x 3 5 Note: y( ) is functionally independent of x 1 y( ) is linear in x 2 and x 3 and non-linear in x 4 μ_6 μ_5 μ_4 μ_3 μ_2 μ_1 Elementary effects y( ) contains an interaction in x 5 and x 6 Sensitivity results: μ 1 = 0 as expected influence of x 4 is highest influence of x 2 and x 3 is equal, as expected 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Relative sensitivity Download full details as a Python notebook at risk-engineering.org 22 / 30

Local sensitivity analysis methods Local sensitivity analysis: investigation of response stability over a small region of inputs Local sensitivity with respect to a factor is just the partial derivative wrt that factor, evaluated at that location Simple example: Rosenbrock function f (x 1, x 2 ) = 100(x 2 x 2 1 ) 2 + (1 x 1 ) 2, x 1, x 2 [ 2, 2] f = 400x 1 ( x1 2 + x 2 ) + 2x 1 2 x 1 f = 200x1 2 + 200x 2 x 2 23 / 30

Rosenbrock example f (x 1, x 2 ) = 100(x 2 x 2 1 ) 2 + (1 x 1 ) 2, x 1, x 2 [ 2, 2] (-1.5,2) f x 1 = -155 f x 2 = -50 2,000 0 2 1 1 0 0 1 x 2 1 x 1 2 2 2 Local sensitivity is low 24 / 30

Rosenbrock example f (x 1, x 2 ) = 100(x 2 x 2 1 ) 2 + (1 x 1 ) 2, x 1, x 2 [ 2, 2] f x 1 = -4806 (-2,-2) 2,000 0 2 1 1 0 0 1 x 2 1 x 1 2 2 2 f x 2 = -1200 Local sensitivity is high 24 / 30

Rosenbrock example f (x 1, x 2 ) = 100(x 2 x 2 1 ) 2 + (1 x 1 ) 2, x 1, x 2 [ 2, 2] f x 1 = 0 2,000 0 2 1 (1,1) 1 0 0 1 x 2 1 x 1 2 2 2 f x 2 = 0 Local sensitivity is zero 24 / 30

Local sensitivity analysis methods The calculation of partial derivatives can be automated for software packages using automatic differentiation methods the source code must be available autodiff.org This method does not allow you to detect interaction effects between the input variables Method cannot handle correlated inputs Widely used for optimization of scientific software 25 / 30

Global sensitivity analysis methods Examine effect of changes to all input variables simultaneously over the entire input space you are interested in (for example the uncertainty distribution of each variable) Methods based on analysis of variance (often using Monte Carlo methods) Typical methods that are implemented in software packages: Fourier Analysis Sensitivity Test (fast), based on a multi-dimensional Fourier transform the method of Sobol In general, this is the most relevant method for risk analysis purposes allows the analysis of interactions between input variables 26 / 30

Sensitivity indices The sensitivity index of a parameter quantifies its impact on output uncertainty measures the part of output variance which can be attributed to variability in the parameter Properties: S i [0,1] i S i = 1 First-order index: S j = Var(E[z x j]) measures main effect Var(z) Total effect index: T j = E[Var(z x j)] Var(z) measures residual variability due to interactions between x i and other parameters 27 / 30

Estimating sensitivity indices using SciPy and SALib import numpy from SALib.sample import saltelli from SALib.analyze import sobol def rosenbrock(x1, x2): return 100 * (x2 - x1**2)**2 + (1 - x1)**2 problem = { 'num_vars': 2, 'names': ['x1', 'x2'], 'bounds': [[-2, 2], [-2, 2]] } sample = saltelli.sample(problem, N, calc_second_order=true) Y = numpy.empty([sample.shape[0]]) for i in range(len(y)): x = sample[i] Y[i] = rosenbrock(x[0], x[1]) Si = sobol.analyze(problem, Y, calc_second_order=true) Download full details as a Python notebook at risk-engineering.org The SALib python library is free software available from github.com/jdherman/salib 28 / 30

Appendix on sensitivity analysis of the epa guidance on risk assessment, epa.gov/oswer/riskassessment/rags3adt/pdf/appendixa.pdf Further reading OpenTURNS software platform for uncertainty analysis (free software), openturns.org Dakota software platform for uncertainty analysis (free software), dakota.sandia.gov Case study: Using @RISK for a Drug Development Decision: a Classroom Example, from palisade.com/cases/isu_pharma.asp For more free course materials on risk engineering, visit risk-engineering.org 29 / 30

Feedback welcome! This presentation is distributed under the terms of the Creative Commons Attribution Share Alike licence @LearnRiskEng Was some of the content unclear? Which parts were most useful to you? Your comments to feedback@risk-engineering.org (email) or @LearnRiskEng (Twitter) will help us to improve these course materials. Thanks! fb.me/riskengineering google.com/+riskengineeringorgcourseware For more free course materials on risk engineering, visit risk-engineering.org 30 / 30