RAMAS Risk Calc
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What is Risk Calc used for?Risk Calc supports probability bounds analysis, standard fuzzy arithmetic, and classical interval analysis. Its applications are like those of Monte Carlo packages such as @Risk or Crystal Ball, but Risk Calc does not require you to specify precise details of statistical distributions and their dependency relationships when empirical data are lacking. Risk Calc makes new methods available for conducting distribution-free or nonparametric risk analyses. You decide what information or assumptions should be used, and the software calculates bounding estimates of risks. Often these bounds can be shown to be the best possible. Using Risk Calc, you can do quality assurance reviews for probabilistic risk and safety assessments. Without perfect knowledge, we can never be sure about the exact values of numbers used as input. Virtually all real-world calculations harbor some uncertainty. RAMAS Risk Calc 4.0 uses both traditional methods such as probability theory and interval analysis and the newest techniques such as probability bounds analysis and fuzzy arithmetic to represent uncertainty. It provides a convenient environment for computing with numbers in which all uncertainties are carried forward automatically. Risk Calc for Microsoft Windows brings sophisticated methods of uncertainty analysis into reach of anyone who can do arithmetic on a calculator. Risk Calc lets you do whatever calculations you need with a flexible Windows-based interface. You can enter numbers directly in the Listener window and have Risk Calc perform calculations immediately. If you include units with the numbers, they will be carried through computations and checked for dimensional conflict. The standard mathematical functions (including + , - , ×, ÷, exp, log, min, max, sqrt, power, ±, <, ≤, >, ≥, =, ¹, and, or, not, Î, Í, etc.), are supported. You can also define variables and, if you need to, you can employ loops, conditionals, and functions you define yourself, to evaluate arbitrarily complex expressions. The results are displayed graphically or numerically in automatic watch windows during the calculations. Software requirementsRAMAS Risk Calc 4.0 runs under Microsoft Windows. Risk Calc requires about 6 megabytes of disk space to install and at least 64 MB of RAM to run. The software is distributed with demonstration programs that run in DOS boxes. Licensing RAMAS Risk Calc 4.0A single-user license are available for RAMAS Risk Calc 4.0. Special pricing is available for U.S. Government employees and Universities or educators. Classroom or site licenses which allow 25 simultaneous users are twice the single-user license price. See the RAMAS price list and order form. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Frequently asked questions
Can you calculate with uncertain numbers? Sure, you just need the right methods. Risk Calc supports both traditional interval analysis and classical probabilistic arithmetic. It also provides comprehensive implementations of fuzzy arithmetic and probability bounds analysis. These methods are especially useful when empirical data are of mixed quality and when uncertainty encompasses both variability and incertitude. How is uncertainty defined? Risk Calc allows you to specify uncertainty in several ways. You can enter variables as scalars with no uncertainty, such as A = 5, or with ranges as interval uncertainty, such as B = [2,6]. Alternatively, you can represent uncertainty as a range along with a single best estimate, such as C = [2,3,6], or as a range along with a best estimate expressed as a range, such as D = [2,2.5,3,6], or something more complex. You can also specify a probability distribution like E = normal(5,1) or bounds on one when parameters are uncertain like F = pareto([60,80], [15,25]), or even distribution-free bounds like G = minmaxmean (0,1,0.3) which represents all possible distributions whose range is [0,1] and whose mean is 0.3. You can also specify units to accompany any of these numeric quantities, for example, density=[1,2,4] g per cm² or length=[8 ft, 6 m]. What can Risk Calc do? Risk Calc computes with scalars, intervals, fuzzy numbers, probability distributions, and interval bounds on probability distributions. It carries all the uncertainties through calculations automatically. You can enter numbers directly and perform calculations immediately, or you can create files with sequences of calculations, and run these files like programs. Risk Calc supports standard arithmetic operations (+ , - , ×, ÷), mathematical functions (exp, log, min, max, sqrt, etc.), comparison operations (<, ≤, >, ≥, =, ¹), basic logical connectives (or, and, not, xor), several deconvolution operators, and string manipulation. Risk Calc also has many functions to characterize the features of uncertain numbers. You can freely mix scalars, intervals, probability distributions, and probability bounds in calculations. Scalars, intervals and fuzzy numbers can also be be freely combined. (Fuzzy numbers and probabilistic numbers can be mixed together with special operations.) Risk Calc also accepts units that accompany numbers, checks that units entered balance dimensionally, and automatically handles unit conversions when necessary. In Risk Calc you can define variables, and you can automate complex expressions using loops, conditional statements, user-defined functions and procedures and other programming constructs. Risk Calc can also import and export data to disk files and Excel spreadsheets. What is probability bounds analysis? Probability bounds analysis is a marriage of probability theory and interval analysis that handles uncertainty and variability more comprehensively than either one can alone. Risk Calc supports over 30 named distributions (normal, lognormal, binomial, Poisson, Weibull, Pareto, etc.). But with Risk Calc you can also describe distributions using whatever information is available even if it’s insufficient to specify any standard distribution precisely. Risk Calc lets you do calculations with these probability bounds without making any assumption about the shape of the distribution. If your inputs are independent, Risk Calc will get you a result faster than Monte Carlo methods, and it’s guaranteed to be accurate since it doesn’t involve random sampling. If they’re not independent—or if you’re worried about assuming they are without empirical evidence—Risk Calc will compute bounds on the result (usually mathematically the best possible) that circumscribe all possibilities. With Risk Calc you can use whatever information and assumptions you trust to get the best answer possible, instead of being forced to make assumptions and specifications you don’t believe just to get any answer at all. What is probabilistic arithmetic? Probabilistic arithmetic lets you make calculations with probability distributions as conveniently as with ordinary numbers. For instance, if you know body weights are lognormally distributed and intake rates are uniformly distributed, what is the distribution of doses (intake/body weight)? Such problems are usually solved with Monte Carlo methods, but Risk Calc uses faster, semi-analytic algorithms to get the answers without random sampling. It can add, subtract, multiply, and divide distributions. If you tell it the distributions are independent of one another, it’ll use that information to get the best estimates possible. If you don’t want to make this assumption, it will get bounds that are guaranteed to enclose the true answer. The software can also do a variety of other operations like take powers, logarithms, etc. Risk Calc knows these distributions:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
What’s the difference between probability bounds analysis and Monte Carlo? The following table synoptically contrasts probability bounds analysis with Monte Carlo simulation for uncertainty propagation.
What is interval analysis? The simplest method for propagating uncertainty through arithmetic calculations is to use interval (range) analysis. For example, suppose we want to add two numbers whose values we’re unsure about. If we know that the first number, say A, has a value somewhere between 4 and 6, and the other number, B, is between 8 and 10, then the result of A+B is between 12 and 16, as shown at left. The difference between these numbers, B-A, is the interval [2,6]. Risk Calc makes it easy to compute with intervals and it supports popular conventions for specifying intervals. You can enter intervals as [12.5± 0.5], as [2,3], or you can let Risk Calc interpret significant digits to create intervals automatically from your input. For example, [5.0] will be interpreted by Risk Calc as [4.95,5.05], and [5.00] will be interpreted as [4.995, 5.005]. Fuzzy arithmetic is a generalization of interval analysis that treats uncertainty far more comprehensively. Instead of representing a number with a single interval, it uses a ‘fuzzy number’, a family of intervals stacked atop one another which together represent our estimate of the number for each of infinitely many levels of conservativism and optimism about uncertainty. Fuzzy arithmetic is a simple and potentially very useful way to propagate uncertainty through the cascade of calculations that forecasting and risk analysis typically involve because it yields both ‘worst case’ results and ‘best estimates’ at the same time. Fuzzy arithmetic is based on a theory with less stringent axioms than probability theory uses so it is applicable in a wider array of circumstances with different kinds of uncertainty. For instance, it is appropriate for handling non-statistical uncertainty including that due to inability to make accurate measurements. The methodology is logically consistent, computationally inexpensive and does not require extensive empirical sampling. Fuzzy numbers can be specified directly to reflect your subjective impression of uncertainty or may be estimated as the consensus of opinions of diverse observers. There are several advantages (but also disadvantages) to using fuzzy arithmetic rather than Monte Carlo simulation in risk assessments. The slides from a shortcourse on using fuzzy arithmetic in risk analysis can be found in the Power Point presentation http://www.ramas.com/fuzzygood.ppt. The complementary Power Point presentation http://www.ramas.com/fuzzybad.ppt. contains a counterexample that shows that fuzzy arithmetic risk analysis does not always yield conservative answers in the face of uncertainty about dependencies. RAMAS Risk Calc supports all the basic arithmetic operations and standard mathematical functions (including trigonometric) for fuzzy numbers as well as other functions needed for characterizing uncertainty, backcalculations, etc. What’s the difference between fuzzy arithmetic and fuzzy logic? There are several related ideas that have arisen from Zadeh’s theory of fuzzy sets. Fuzzy arithmetic is a formalism for making calculations with numerical quantities that are imprecisely known. These quantites are known as fuzzy numbers and are defined as fuzzy sets on the real numbers having a unimodal distribution that reaches unity for some value or values. They include ordinary scalar numbers and intervals as special cases. Fuzzy logic is the generalization of ordinary logic and allows truth values other than absolute truth and utter falsity. It’s fair to say that fuzzy logic is comparable to fuzzy arithmetic in the same way that logic is comparable to arithmetic. In other words, they don’t have much in common in terms of the kinds of problems they’re used to address. Fuzzy set theory is also used in other areas of science and engineering, including, for instance, fuzzy cluster analysis and fuzzy control theory. In particular, fuzzy arithmetic is a proper subset of possibility theory which handles general fuzzy sets of the real numbers (which could be multimodal or might not reach unity) called possibility distributions. When is fuzzy arithmetic better than analogous Monte Carlo methods? There are several reasons why one might be interested in using fuzzy methods. Consider the following list. Reasons to use fuzzy arithmetic
Reasons not to use fuzzy arithmetic Despite its several advantages in a risk analysis, fuzzy arithmetic may not be appropriate for routine applications. The following are serious concerns about using the method.
What about model uncertainty? In the past, when people disagreed about which model should be used, or differed widely about which assumptions should go into it, you’d probably end up repeating the analysis for every possible combination of model choices and wading through the mountain of results. Risk Calc is the first software environment to provide comprehensive tools for handling model uncertainty, including uncertainty about the input distributions and their interrelationships. It provides consensus, envelope and imposition functions to synthesize several opinions into a single estimate. Risk Calc lets you account for a diversity of opinions in a way that doesn’t average incompatible opinions together. Can I work with arrays of numbers in Risk Calc? Yes, but the structure is a compound variable rather than an array. A compound variable is just two variable names joined together with a period, or a variable and a constant joined together with a period. For instance, entering a.2 = 4 prints the answer 4. Compound variables do much of the work arrays do, such as in this code fragment. for i = 1 to 4 do stem.i = i * 3 The following 6 lines are the output from this little program: stem.0 where the first and last illustrate that the default value of a variable is its own name. In principle, the second part of a compound variable could evaluate to a real number or even a string rather than an integer, so compound variables are actually even more flexible than arrays. Two- or higher-dimensional compounding is possible by using multiple periods (e.g., stem.i.j). Formal parameter references can also be compounded so, for instance, you can refer to $1.i inside a function or procedure. Why are logical and set operators different? Logical and set-theoretic operations are not always compatible in the realm of uncertain numbers the way they are for real numbers. For example, set-theoretical union and logical disjunction are two formally distinct operations. It is only in special cases that they can be identified with each other. These special cases become rarer when we go from real numbers to uncertain numbers. In Risk Calc, the operators not ! denote logical operators. These logical operators act on truth values, not sets or arbitrary numerical values. For instance, the expression x | y asks Risk Calc to evaluate the truth value of a disjunction. The arguments of this disjunction are presumed to be truth values themselves. Under ordinary logic, the arguments could only have values of zero (false) or one (true). In traditional fuzzy logic and probability theory, they could have values anywhere on the unit interval (between zero and one) representing graded degrees of falsity and truth, or frequency. In Risk Calc, truth values may be any kind of certain or uncertain number, so long as it is dimensionless and lies entirely within the unit interval [0,1]. Classical Boolean logic defines the truth value of a disjunction to be the greater of the truth values of the two arguments, so if at least one of the arguments is true, the disjunction is too. Traditional fuzzy logic defines the truth value of a disjunction to be the maximum of the truth values of the two terms so that fuzzy logic subsumes classical logic as a special case when the arguments are Boolean (i.e., either zero or one). In Risk Calc, we generalize traditional fuzzy logic to be compatible with probabilistic logic defined by the Fréchet inequalities. Risk Calc also provides the set-theoretic functions to compute unions and intersections of intervals. For instance, when you enter the expression union( [0.4, 2], [1, 3]) you’ll get the answer [0.4, 3]. There are also set-theoretic functions provided for computing widths of intervals, whether intervals overlap each other, membership and containment. Complementation, however, is not defined. Risk Calc knows about 600 units in 60 dimensions used in science and engineering. It knows how to convert among them automatically to get answers without your bothering to look up conversion parameters or worrying about handling them correctly. For instance, if you enter the expression normal(5 kg, 2 g) * [8 ft, 3 m] / [2.3 seconds] ^ 2 + 2 newtons Risk Calc will give you the right answer (which is 4 to 5 newtons). And it gives this answer immediately without any extra work on your part. What may be even more useful is that it traps unit and dimensional errors for you. For example, if you’d entered normal(5 kg, 2 cm) * [3 m, 8 ft] / [2.3 seconds] + 2 newtons Risk Calc will tell you that such an expression is meaningless. It recognizes all three errors (1) the standard deviation of the normal distribution cannot be in centimeters if the mean is in kilograms; (2) 8 feet is shorter than 3 meters, so the interval is inverted; and (3) the divisor must be in squared time units if the first term is to be added to something in newtons. If you’d left out the units, or used other software to make the calculations, you’d get a completely different answer and might have never noticed it was gibberish. Features of RAMAS Risk Calc 4.0
Future developmentsIf there’s something in particular it lacks that would be useful for your work, feel free to let us know by email at riskcalc@ramas.com. Methodological research is needed on several topics, including
Our research in this area is on-going and we are currently seeking support. We would be interested to chat with anyone about these and related research topics. Related softwareRAMAS ConstructorThis software will let you specify probability boxes interactively. Software is now available that will accept the empirical information you may have about a parameter, including constraints, moments, order statistics, percentiles, shape or distribution family, modality, symmetry, etc., and synthesize bounds on the probability distribution. You can specify whatever empirical information is known, and can even draw constraints on the parameter graphically with a mouse. The software solves the implied cascade of inequalities to construct bounds on the parameter. In many cases, the resulting bounds will be best-possible expressions of the state of knowledge. For more information and, for a limited time, free downloadable copies of the Constructor program and manual, see http://www.ramas.com/constructor.htm. Probability Bounds Demonstration (PBDemo)PBDemo is old DOS demonstration software that illustrates elementary probability bounds analysis. Risk Calc is vastly superior to PBDemo, but PBDemo may be useful in some situations. In PBDemo, two probability distributions appear in cumulative form on graphs at the right of the screen. The top one is A and second one is B. In each graph, a red line is used to mark the upper bound on the distribution and a green line indicates the lower bound on the distribution. When PBDemo first starts, these are the same and the lines overlap. By selecting an operation from the list on the left and pressing the enter key you will make PBDemo perform the operation on these two inputs. The operation is done without an assumption of independence between the two variables A and B. The result is displayed on a third graph below the other two. In this graph, the red and green lines are generally not coincident. Notice that not all operations are possible. For instance, trying to superimpose precise but non-identical probability distributions will produce no answer. In this demonstration software, the deconvolution operations aren’t supported. Press the function key F1 to bring up a list of unary operations including negative image, reciprocal, integer part, exponential, and logarithm. Although listed, the square, square root, absolute value operations are not supported in this software demonstration and may yield strange results. The function key F2 restores the list of binary operations. You can change the inputs A or B by pressing function key F3 or F4. Doing so brings up a list of canonical probability distributions and probability bounds to choose from. Not all the listed distributions are supported by this demonstration software. For instance, selecting beta or chi square distributions will be ignored. Use the up or down arrow keys or mouse to traverse the list. Move the highlighting bar to the distribution you wish to use as an input and press the enter key to select it. After selecting a distribution, you’ll then need to enter its parameters. Type in the required parameters as specified in the table below.
Generally, all distributions require bounds on the variable’s range as the first two parameters. Type in the lowest possible value the variable can have and the highest possible value the variable can have. Make sure they’re in increasing order! This demonstration software does not verify your inputs are sensible. For many of the distributions you’ll have to specify more parameters according to the kind of probability distribution you’ve chosen. For instance, the distribution in variable A when PBDemo first started was specified by selecting "normal" from the list of distributions and entering the sequence of numbers "1, 10, 5, 1" on the line . This says the distribution is to range between one and ten like the normal distribution having a mean of five and a standard deviation of one. Variable B’s assignment was "uniform" and "1, 3". To specify a scalar, choose Dirac’s delta and enter a single value on the line. To specify an interval, choose "{min, max}" and enter a pair of numbers on the line. When you’re though editing the line, press the enter key to have PBDemo interpret what you’ve typed. It should display the input in the graph on the right. (If the red line is below the green line at any point, something is wrong.) You may then need to press F2 to bring back up the list of arithmetical operations. Use the F5 function key to bring up options to swap the inputs or to swap a result with one of the inputs. Press the F10 key to exit the program. For more information or for licensing details about PBDemo, contact Scott Ferson at scott@ramas.com or Applied Biomathematics, 100 North Country Road, Setauket, New York 11733, 1-631-751-4350; fax -3435. Fuzzy Arithmetic Demonstration (FADemo)FADemo is old DOS demonstration software that illustrates basic fuzzy arithmetic. Risk Calc is vastly superior to PBDemo, but FADemo may be useful in some situations. Two fuzzy numbers appear in graphs on the right. The top one is A and second one is B. By selecting an operation from the list on the left and pressing the enter key you will make FADEMO perform the operation on these two inputs. The result is displayed on a third graph below the other two. Note that not all operations are meaningful within a strict definition of fuzzy arithmetic. For instance, the superimposition of fuzzy numbers that don't overlap will produce no answer. Likewise, not all deconvolutions exist. Press the function key F1 to bring up a list of unary operations including negative image, reciprocal, square, square root, absolute value, integer part, exponential, and logarithm. The function key F2 restores the list of binary operations, which includes addition, subtraction, multiplication, division, minimum, maximum, power, envelope, superimposition, and various deconvolutions. Similarly, the function keys F7 and F8 bring up lists of various triangular norms and triangular conorms that can operate on the two inputs. You can change the fuzzy numbers used as inputs A or B by pressing the function key F3 or F4. To specify a triangular fuzzy number, type three numeric values, separated by commas and enclosed in square brackets. Make sure the numbers are in increasing order! The demonstration version does not check your inputs. To specify a trapezoidal fuzzy number, enter four values within the brackets. Entering only two numbers on the line assigns the corresponding interval to the parameter. Entering a single number assigns that scalar value to the parameter. When you're though editing the line, press the enter key to have FADemo interpret what you've typed. It should display the input in the graph on the right. You may then need to press F2 to bring back up the list of arithmetical operations. Use the F5 function key to bring up options to exchange the fuzzy numbers or to swap the result for one of them. Pressing the F9 function key brings all three graphs to the same scale. Press the F10 key to exit. For more information or for licensing details about FADemo, contact Scott Ferson at scott@ramas.com or
Applied Biomathematics,
100 North Country Road,
Setauket, New York 11733,
1-631-751-4350; fax -3435.
ReferencesThe capabilities of the software have been described in the following (the first of which is the Risk Calc user manual):
There are also several references for papers describing applications of the methods used in Risk Calc and the theoretical underpinnings of the methods. There is a truly vast literature on uncertainty propagation, probability theory, interval analysis and fuzzy sets. The following sources provide the theoretical foundations for the methods employed in Risk Calc.
Moment propagation Fuzzy arithmetic and possibility theory Dimensions and units There’ve been many applications of interval, fuzzy and probabilistic methods to engineering, human and ecological risk analysis. Here are some examples.
Links
Technical supportIt may be most convenient to first consult the
list of the most frequently asked questions or access the
free updates of the Risk Calc libraries. If you need help
installing or running Risk Calc, or if you can’t figure out how to make it do
what you need, or, heaven forbid, the software misbehaves in some way, feel
free to contact us. Write down the problem you’re having and try to provide as
complete a description as possible of what you did and what happened. Include
the serial number from the Risk Calc distribution disk, and be sure to mention
your telephone and fax numbers, email and regular mail addresses. Send the
description and your coordinates to Email queries generally enjoy the quickest
response. We cannot guarantee that we’ll always know the answer to your
questions, but most things are pretty simple to resolve. Let us hear from you.
We’re interested in your suggestions and would like to hear your ideas about
Risk Calc and about wrangling uncertainty in general. We would especially
appreciate receiving (p)reprints of analyses or papers developed using Risk
Calc. AcknowledgmentsThe methods in Risk Calc were developed with support under a Small Business Innovation Research grant (1R43ES06857-02) from the National Institute of Environmental Health Sciences, a component of the National Institutes of Health. Implementation was also supported by the Electric Power Research Institute in collaboration with Southern California Edison, a division of Edison International. The first version of Risk Calc was implemented by Rüdiger Kuhn whose participation was supported in part by Deutscher Akademischer Austaschdienst (German Academic Exchange Service). The software has been improved by thoughtful comments by Sunil Donald, Jeffrey Millstein and J. Arlin Cooper. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Software · Prices · Training · What’s New · Forum | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Research · Support · Index · Contact Us · Home | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ©1999-2009 by
Applied Biomathematics |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||