Error checking: Stressing parameter values | Vose Software

Error checking: Stressing parameter values

A very useful, simple and powerful way of checking your model is to look at the effect of changing the model parameters. We use two different methods:

1. Propagate an error

In order to check quickly what elements of your model are affected by a particular spreadsheet cell, you can replace the cell contents with the Excel formula =NA() or equivalently, #N/A

This will show the warning script '#N/A' (meaning data not available) in that cell and any other cell that relies on it (except where the ISNA() or ISERROR() functions are used). Imbedded Excel charts will simply leave the cell out.  ModelRisk functions depending on this cell, will return an error message as explained here.

2. Set parameter values to extremes

It is difficult to see whether your Monte Carlo simulation model is performing correctly for low probability outcomes because generating scenarios on-screen will obviously only rarely show those low probability scenarios. However, there are a couple of techniques for concentrating on these low probability events by temporarily altering the input distributions. We suggest that you first resave your model with another name (e.g. append 'test' to the file name) to avoid accidentally leaving the model with the altered distributions. You can generate model extremes as follows:

a. Set a discrete variable to an extreme instead of its distribution

The theoretical minimum and maximum of discrete bounded distributions are provided in the formulae pages for each distribution in this help file. Many distributions have a zero minimum, but only a few distributions have a maximum value (e.g. Binomial). In general, it is not a good idea to stress a continuous variable with its minimum or maximum, however, because such values have a zero probability of occurrence and so the scenario is meaningless.

b. Modify the distribution to generate values only from an extreme range

This is particularly useful for continuous distributions, and for discrete distribution where there is no defined minimum and/or maximum. ModelRisk offers a VoseXBounds(min,max) function that makes generating values from a restricted range of a distribution easy to achieve. For example, the VoseLognormal(10,5) distribution can be constrained to generate:

Only values above 30:  =VoseLognormal(10,5,,VoseXBounds(30,))

Only values below 5: =VoseLogNormal(10,5,,VoseXBounds(,5))

Values between 10 and 11: =VoseLogNormal(10,5,,VoseXBounds(10,11))

Note that occasionally a model will have an acute response to a variable that is within a small range. For example, a model of the amplitude of vibrations of a car may have a very acute (highly non-linear) response to an input variable modeling the frequency of an external vibrating force, like the bounce from driving over a slatted bridge, when that frequency approaches the natural frequency of the car.  In that case, the rare event that needs to be tested is not necessarily an extreme of the input variable, but is the scenario that produces the extreme response in the rest of the model.

c. Modify the probability of a risk occurring

Often in a risk analysis model we have one or more risk events. We can simulate them occurring (with some probability) or not in a variety of ways. We can stress the model to see the effect of an individual risk occurring, or a combination of risks, by increasing their probability during the test. For example, setting a risk to have 50% probability (where perhaps we actually believe it to have 10% probability) and generating on-screen scenarios allows us to comfortably watch how the model behaves with and without the risk occurring. Setting two risks each to a 70% probability will show both risks occurring at the same time in about 50% of the scenarios, etc.