Difference between revisions of "Monte Carlo simulation"

From Testiwiki
Jump to: navigation, search
m
(text from wikipedia removed)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Monte Carlo simulation''' is a method for sampling values from a probability distribution and running a model thousands of times. As a result, a distribution is created for the variable of interest. There are several software tools available for this purpose.
+
[[en:Monte Carlo Method|Monte Carlo method]]
 
 
 
[[Category:Intarese general method]]
 
[[Category:Intarese general method]]
 
[[Category:WP1.4]]
 
[[Category:WP1.4]]
 +
{{method|moderator=Jouni|stub=Yes}}
 +
'''Monte Carlo simulation''' is a method for sampling values from a probability distribution and running a model thousands of times. As a result, a distribution is created for the variable of interest. There are several software tools available for this purpose.
  
 
==Software==
 
==Software==
Line 24: Line 25:
  
 
{{Discussion
 
{{Discussion
|Dispute = What should be the program of choice for Monte Carlo modelling?
+
|Statements = What should be the program of choice for Monte Carlo modelling?
 
*A) [http://www.lumina.com Analytica]
 
*A) [http://www.lumina.com Analytica]
 
*B) [http://www.palisade-europe.com/ @Risk] or [http://www.decisioneering.com/ Crystal Ball], Monte Carlo simulation programs working as Excel add-ins.
 
*B) [http://www.palisade-europe.com/ @Risk] or [http://www.decisioneering.com/ Crystal Ball], Monte Carlo simulation programs working as Excel add-ins.
 
*C) [http://www.r-project.org/ R], [http://www.insightful.com/ S-Plus], [http://www.mathworks.com/ Matlab], or other statistical program allowing for simulation
 
*C) [http://www.r-project.org/ R], [http://www.insightful.com/ S-Plus], [http://www.mathworks.com/ Matlab], or other statistical program allowing for simulation
 
*D) [http://www.goldsim.com/Form_DownloadPlayer.asp GoldSim]
 
*D) [http://www.goldsim.com/Form_DownloadPlayer.asp GoldSim]
|Outcome = Analytica is the program to start with, but other programs may be used also.
+
|Resolution = Analytica is the program to start with, but other programs may be used also.
 
|Argumentation =  
 
|Argumentation =  
{{Defend|11:|A) is a good choice.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
+
{{Defend|11|A) is a good choice.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
:{{defend|12: |We have a lot experience in Analytica, and it has several very nice features, including influence diagrams, multidimensional variables, and hierachical modelling.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
+
:{{defend|12 |We have a lot experience in Analytica, and it has several very nice features, including influence diagrams, multidimensional variables, and hierachical modelling.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
{{Defend_invalid|6: |B) is a good choice.| }}
+
{{Defend_invalid|6 |B) is a good choice.| }}
:{{attack|4: |Problems with multidimensional variables|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
+
:{{attack|4 |Problems with multidimensional variables|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
:{{attack|5: |These are not object-oriented programs.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
+
:{{attack|5 |These are not object-oriented programs.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
{{Defend|7:|C) is a good choice.|--[[User:Jouni|Jouni]] 20:37, 8 March 2007 (EET)}}
+
{{Defend|7|C) is a good choice.|--[[User:Jouni|Jouni]] 20:37, 8 March 2007 (EET)}}
:{{defend|2: |Some of these have properties that are not in Analytica and could be used as an alternative.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
+
:{{defend|2 |Some of these have properties that are not in Analytica and could be used as an alternative.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
:{{defend|3: |R is an open-source program and free of charge.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
+
:{{defend|3 |R is an open-source program and free of charge.|--[[User:Jouni|Jouni]] 10:32, 16 January 2007 (EET)}}
{{Defend_invalid|8:|D) is a good choice.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
+
{{Defend_invalid|8|D) is a good choice.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
:{{defend|9: |According to the website, GoldSim has many of the same good properties as Analytica.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
+
:{{defend|9 |According to the website, GoldSim has many of the same good properties as Analytica.|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
:{{attack|10: |There is no experience about this program within Inaterese (at least to my knowledge).|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
+
:{{attack|10 |There is no experience about this program within Inaterese (at least to my knowledge).|--[[User:Jouni|Jouni]] 22:11, 11 March 2007 (EET)}}
 
}}
 
}}
 
=This section is directly copied from English Wikipedia: Monte Carlo method (27.3.2007)=
 
 
[[:en:Monte Carlo Method|Monte Carlo method]]
 
 
'''Monte Carlo methods''' are a widely used class of [[computation]]al [[algorithm]]s for [[simulation|simulating]] the behavior of various [[physics|physical]] and [[mathematics|mathematical]] systems, and for other computations. They are distinguished from other simulation methods (such as [[molecular dynamics]]) by being [[stochastic]], that is [[nondeterministic]] in some manner – usually by using [[random number]]s (or, more often, [[pseudo-random number]]s) – as opposed to [[deterministic algorithm]]s. Because of the repetition of algorithms and the large number of calculations involved, Monte Carlo is a method suited to calculation using a [[computer]], utilizing many techniques of [[computer simulation]].
 
 
A '''Monte Carlo algorithm''' is often a numerical Monte Carlo method used to find solutions to mathematical problems (which may have many variables) that cannot easily be solved, for example,  by [[integral calculus]], or other numerical methods.  For many types of problems, its efficiency relative to other numerical methods increases as the [[dimension]] of the problem increases. Or it may be a method for solving other mathematical problems that relies on (pseudo-)random numbers
 
 
==Applications==
 
Monte Carlo simulation methods are especially useful in studying systems with a large number of coupled degrees of freedom, such as liquids, disordered materials, strongly coupled solids, and cellular structures (see [[cellular Potts model]]). More broadly, Monte Carlo methods are useful for modeling phenomena with significant [[uncertainty]] in inputs, such as the calculation of [[risk]] in business. A classic use is for the evaluation of [[definite integral]]s, particularly multidimensional integrals with complicated boundary conditions.
 
 
Monte Carlo methods are very important in [[computational physics]], [[physical chemistry]], and related applied fields, and have diverse applications from complicated [[quantum chromodynamics]] calculations to designing [[heat shield]]s and [[aerodynamics|aerodynamic]] forms.
 
 
Monte Carlo methods have also proven efficient in solving coupled integral differential equations of radiation fields and energy transport, and thus these methods have been used in [[global illumination]] computations which produce photorealistic images of virtual 3D models, with applications in [[video games]], [[architecture]], [[design]], computer generated [[film]]s, special effects in cinema, business, economics and other fields.
 
 
Monte Carlo methods are useful in many areas of computational mathematics, where a ''lucky choice'' can find the correct result. A classic example is [[Miller-Rabin primality test|Rabin's algorithm]] for primality testing: for any <math>n</math> which is not prime, a random <math>x</math> has at least a 75% chance of proving that <math>n</math> is not prime. Hence, if <math>n</math> is not prime, but <math>x</math> says that it might be, we have observed at most a 1-in-4 event. If 10 different random <math>x</math> say that ''<math>n</math> is probably prime'' when it is not, we have observed a one-in-a-million event. In general a Monte Carlo algorithm of this kind produces one correct answer with a guarantee '''<math>n</math> is composite, and <math>x</math> proves it so''', but another one without, but with a guarantee of not getting this answer when it is wrong '''too often''' - in this case at most 25% of the time.  See also [[Las Vegas algorithm]] for a related, but different, idea.
 
 
===Application areas===
 
Areas of application include:
 
 
* Graphics, particularly for [[ray tracing]]; a version of the [[Metropolis-Hastings algorithm]] is also used for ray tracing where it is known as [[Metropolis light transport]]
 
* Modelling light transport in multi-layered tissues (MCML)
 
* [[Monte Carlo methods in finance]]
 
* [[Reliability Engineering]]
 
* In simulated annealing for protein structure prediction
 
* In semiconductor device research, to model the transport of current carriers
 
* Environmental science, dealing with contaminant behaviour
 
* [[Monte Carlo method in statistical physics|Monte Carlo method]] in  [[statistical physics]]; in particular, [[Monte Carlo molecular modeling]] as an alternative for computational [[molecular dynamics]].
 
* Search And Rescue and Counter-Pollution. Models used to predict the drift of a liferaft or movement of an oil slick at sea.
 
* In [[Physical chemistry]], particularly for simulations involving atomic clusters
 
*In computer science
 
** [[Las Vegas algorithm]]
 
** [[LURCH]]
 
** [[Computer Go]]
 
* Modelling the movement of impurity atoms (or ions) in plasmas in existing and tokamaks (e.g.: DIVIMP).
 
* In experimental [[particle physics]], for designing [[particle detector|detectors]], understanding their behaviour and comparing experimental data to theory
 
* Nuclear and particle physics codes using the Monte Carlo method:
 
** [[GEANT (program)|GEANT]] - [[CERN]]'s Monte Carlo for high-energy particles physics
 
** [[Monte Carlo N-Particle Transport Code|MCNP(X)]] - LANL's radiation transport codes
 
** [[EGS (program)|EGS]] - [[SLAC|Stanford]]'s simulation code for coupled transport of electrons and photons
 
** [[PEREGRINE]] - LLNL's Monte Carlo tool for radiation therapy dose calculations
 
** [[BEAMnrc]] - Monte Carlo code system for modeling radiotherapy sources ([[Linac]]'s)
 
** [[MONK]] - Serco Assurance's code for the calculation of [[Neutron multiplication factor|k-effective]] of nuclear systems
 
** Modelling of [[foam]] and cellular structures
 
** Modeling of [[biological tissue|tissue]] [[morphogenesis]]
 
 
=== Other methods employing Monte Carlo===
 
* Assorted random models, e.g. [[self-organised criticality]]
 
* [[Direct simulation Monte Carlo]]
 
* [[Dynamic Monte Carlo method]]
 
* [[Kinetic Monte Carlo]]
 
* [[Quantum Monte Carlo]]
 
* [[Quasi-Monte Carlo method]] using [[low-discrepancy sequence]]s and self avoiding walks
 
* Semiconductor charge transport and the like
 
* [[Electron microscopy]] beam-sample interactions
 
* Stochastic Optimization
 
* [[Cellular Potts model]]
 
* [[Markov chain Monte Carlo]]
 
 
==Use in mathematics==
 
In general, Monte Carlo methods are used in mathematics to solve various problems by generating suitable random numbers and observing that fraction of the numbers obeying some property or properties. The method is useful for obtaining numerical solutions to problems which are too complicated to solve analytically.  The most common application of the Monte Carlo method is Monte Carlo integration.
 
 
=== Integration ===
 
{{main|Monte Carlo integration}}
 
Deterministic methods of [[numerical integration]] operate by taking a number of evenly spaced samples from a function. In general, this works very well for functions of one variable. However, for functions of [[vector space|vector]]s, deterministic quadrature methods can be very inefficient. To numerically integrate a function of a two-dimensional vector, equally spaced grid points over a two-dimensional surface are required.  For instance a 10x10 grid requires 100 points. If the vector has 100 dimensions, the same spacing on the grid would require [[googol|10<sup>100</sup>]] points—that's far too many to be computed. 100 [[dimension]]s is by no means unreasonable, since in many physical problems, a "dimension" is equivalent to a [[degrees of freedom (physics and chemistry)|degree of freedom]].
 
 
Monte Carlo methods provide a way out of this exponential time-increase. As long as the function in question is reasonably [[well-behaved]], it can be estimated by randomly selecting points in 100-dimensional space, and taking some kind of average of the function values at these points. By the [[law of large numbers]], this method will display <math>1/\sqrt{N}</math> convergence—i.e. quadrupling the number of sampled points will halve the error, regardless of the number of dimensions.
 
 
A refinement of this method is to somehow make the points random, but more likely to come from regions of high contribution to the integral than from regions of low contribution. In other words, the points should be drawn from a distribution similar in form to the integrand. Understandably, doing this precisely is just as difficult as solving the integral in the first place, but there are approximate methods available: from simply making up an integrable function thought to be similar, to one of the adaptive routines discussed in the topics listed below.
 
 
A similar approach involves using [[low-discrepancy sequence]]s instead—the [[quasi-Monte Carlo method]]. Quasi-Monte Carlo methods can often be more efficient at numerical integration because the sequence "fills" the area better in a sense and samples more of the most important points that can make the simulation converge to the desired solution more quickly.
 
 
==== Integration methods ====
 
 
* Direct sampling methods
 
** [[Importance sampling]]
 
** [[Stratified sampling]]
 
** [[Recursive stratified sampling]]
 
** [[VEGAS algorithm]]
 
* [[Random walk Monte Carlo]] including [[Markov chain]]s
 
** [[Metropolis-Hastings algorithm]]
 
* [[Gibbs sampling]]
 
 
=== Optimization ===
 
Another powerful and very popular application for random numbers in numerical simulation is in [[optimization (mathematics)|numerical optimization]]. These problems use functions of some often large-dimensional vector that are to be minimized (or maximized). Many problems can be phrased in this way: for example a [[computer chess]] program could be seen as trying to find the optimal set of, say, 10 moves which produces the best evaluation function at the end. The [[traveling salesman problem]] is another optimization problem.  There are also applications to engineering design, such as [[multidisciplinary design optimization]].
 
 
Most Monte Carlo optimization methods are based on [[random walk]]s. Essentially, the program will move around a marker in multi-dimensional space, tending to move in directions which lead to a lower function, but sometimes moving against the [[gradient]].
 
 
==== Optimization methods ====
 
* [[Evolution strategy]]
 
* [[Genetic algorithm]]s
 
* [[Parallel tempering]]
 
* [[Simulated annealing]]
 
* [[Stochastic tunneling]]
 
 
=== Inverse problems===
 
 
Probabilistic formulation of [[inverse problem]]s leads to the definition of a [[probability distribution]] in the model space. This probability distribution combines [[A priori (math modeling)|a priori]] information with new information obtained by measuring some observable parameters (data). As, in the general case, the theory linking data with model parameters is nonlinear, the a posteriori probability in the model space may not be easy to describe (it may be multimodal, some moments may not be defined, etc.).
 
 
When analyzing an inverse problem, obtaining a maximum likelihood model is usually not sufficient, as we normally also wish to have information on the resolution power of the data. In the general case we may have a large number of model parameters, and an inspection of the marginal probability densities of interest may be impractical, or even useless. But it is possible to pseudorandomly generate a large collection of models according to the posterior probability distribution and to analyze and display the models in such a way that information on the relative likelihoods of model properties is conveyed to the spectator. This can be accomplished by means of an efficient Monte Carlo method, even in cases where no explicit formula for the a priori distribution is available.
 
 
The best-known importance sampling method, the Metropolis algorithm, can be generalized, and this gives a method that allows analysis of (possibly highly nonlinear) inverse problems with complex a priori information and data with an arbitrary noise distribution. For details, see Mosegaard and Tarantola (1995) [http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/Papers_PDF/MonteCarlo_latex.pdf] , or Tarantola (2005) [http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/SIAM/index.html] .
 
 
== Monte Carlo and random numbers==
 
Interestingly, Monte Carlo simulation methods do not generally require truly [[random number]]s to be useful - for other applications, such as [[primality testing]], unpredictability is vital (see Davenport (1995) [http://doi.acm.org/10.1145/143242.143290]). Many of the most useful techniques use deterministic, [[pseudo-random]] sequences, making it easy to test and re-run simulations. The only quality usually necessary to make good [[simulation]]s is for the pseudo-random sequence to appear "random enough" in a certain sense.
 
 
What this means depends on the application, but typically they should pass a series of statistical tests. Testing that the numbers are [[uniform distribution|uniformly distributed]] or follow another desired distribution when a large enough number of elements of the sequence are considered is one of the simplest, and most common ones.
 
 
== History ==
 
Monte Carlo methods were originally practiced under more generic names such as "statistical sampling". The "[[Monte Carlo]]" designation, popularized by early pioneers in the field (including [[Stanislaw Marcin Ulam]], [[Enrico Fermi]], [[John von Neumann]] and [[Nicholas Metropolis]]), is a reference to the famous [[casino]] in [[Monaco]]. Its use of [[randomness]] and the repetitive nature of the process are analogous to the activities conducted at a casino. [[Stanislaw Marcin Ulam]] tells in his autobiography ''Adventures of a Mathematician'' that the method was named in honor of his uncle, who was a gambler, at the suggestion of Metropolis.
 
 
"Random" methods of computation and experimentation (generally considered forms of [[stochastic simulation]]) can be arguably traced back to the earliest pioneers of probability theory (see, e.g., [[Buffon's needle]], and the work on small samples by [[William Gosset]]), but are more specifically traced to the pre-electronic computing era. The general difference usually described about a Monte Carlo form of simulation is that it systematically "inverts" the typical mode of simulation, treating deterministic problems by ''first'' finding a probabilistic analog. Previous methods of simulation and statistical sampling generally did the opposite: using simulation to test a previously understood deterministic problem. Though examples of an "inverted" approach do exist historically, they were not considered a general method until the popularity of the Monte Carlo method spread.
 
 
Perhaps the most famous early use was by [[Enrico Fermi]] in 1930, when he used a random method to calculate the properties of the newly-discovered [[neutron]]. Monte Carlo methods were central to the [[simulation]]s required for the [[Manhattan Project]], though were strongly limited by the computational tools at the time. However, it was only after electronic computers were first built (from 1945 on) that Monte Carlo methods began to be studied in depth. In the 1950s they were used at [[Los Alamos National Laboratory|Los Alamos]] for early work relating to the development of the [[hydrogen bomb]], and became popularized in the fields of [[physics]], [[physical chemistry]], and [[operations research]]. The [[Rand Corporation]] and the [[U.S. Air Force]] were two of the major organizations responsible for funding and disseminating information on Monte Carlo methods during this time, and they began to find a wide application in many different fields.
 
 
Uses of Monte Carlo methods require large amounts of [[random numbers]], and it was their use that spurred the development of [[pseudorandom number generator]]s, which were far quicker to use than the tables of random numbers which had been previously used for statistical sampling.
 
 
== See also ==
 
* [[Markov chain]]
 
* [[Monte Carlo integration]]
 
* [[Quasi-Monte Carlo method]]
 
* [[Randomness]]
 
* [[Las Vegas algorithm]]
 
* [[Random number generator]]
 
 
==References==
 
* Bernd A. Berg, ''Markov Chain Monte Carlo Simulations and Their Statistical Analysis (With Web-Based Fortran Code)'', World Scientific [[2004]], ISBN 981-238-935-0.
 
* Arnaud Doucet, Nando de Freitas and Neil Gordon, ''Sequential Monte Carlo methods in practice'', [[2001]], ISBN 0-387-95146-6.
 
* P. Kevin MacKeown, ''Stochastic Simulation in Physics'', [[1997]], ISBN 981-3083-26-3
 
* Harvey Gould & Jan Tobochnik, ''An Introduction to Computer Simulation Methods, Part 2, Applications to Physical Systems'', [[1988]], ISBN 0-201-16504-X
 
* C.P. Robert and G. Casella. "Monte Carlo Statistical Methods" (second edition). New York: Springer-Verlag, [[2004]], ISBN 0-387-21239-6
 
* Mosegaard, Klaus., and Tarantola, Albert, 1995. Monte Carlo sampling of solutions to inverse problems. J. Geophys. Res., 100, B7, 12431-12447.
 
* Tarantola, Albert, ''Inverse Problem Theory'' ([http://www.ipgp.jussieu.fr/~tarantola/Files/Professional/SIAM/index.html free PDF version]), Society for Industrial and Applied Mathematics, 2005. ISBN 0-89871-572-5
 
* Nicholas Metropolis, Arianna W. Rosenbluth, Marshall N. Rosenbluth, Augusta H. Teller and Edward Teller, "Equation of State Calculations by Fast Computing Machines", Journal of Chemical Physics, volume 21, p. 1087 (1953) (DOI: 10.1063/1.1699114)
 
* N. Metropolis and S. Ulam, "The Monte Carlo Method", Journal of the American Statistical Association, volume 44, p. 335 (1949)
 
* Fishman, G.S.,  (1995) ''Monte Carlo: Concepts, Algorithms, and Applications'', Springer Verlag, New York.
 
 
==External links==
 
*[http://mathworld.wolfram.com/MonteCarloMethod.html Overview and reference list], Mathworld
 
*[http://www.ipp.mpg.de/de/for/bereiche/stellarator/Comp_sci/CompScience/csep/csep1.phy.ornl.gov/mc/mc.html Introduction to Monte Carlo Methods], Computational Science Education Project
 
*[http://www.sitmo.com/eqcat/15 Overview of formula's used Monte Carlo simulation], the Quant Equation Archive, at sitmo.com
 
*[http://www.riskglossary.com/link/monte_carlo_method.htm Monte Carlo Method], riskglossary.com
 
*[http://www.chem.unl.edu/zeng/joy/mclab/mcintro.html The Basics of Monte Carlo Simulations], [[University of Nebraska-Lincoln]]
 
*[http://office.microsoft.com/en-us/assistance/HA011118931033.aspx Introduction to Monte Carlo simulation] (for [[Microsoft Excel|Excel]]), Wayne L. Winston
 
*[http://www.bus.lsu.edu/academics/finance/faculty/dchance/Instructional/TN96-03.pdf Monte Carlo Simulation], Prof. Don M. Chance
 
*[http://www.brighton-webs.co.uk/montecarlo/concept.asp Monte Carlo Methods - Overview and Concept], brighton-webs.co.uk
 
*[http://www.cooper.edu/engineering/chemechem/monte.html Molecular Monte Carlo Intro], [[Cooper Union]]
 
*[http://homepages.nyu.edu/~sl1544/articles.html Monte Carlo techniques applied to finance], Simon Leger
 
*[http://www.global-derivatives.com/maths/k-o.php MonteCarlo Simulation in Finance], global-derivatives.com
 
*[http://twt.mpei.ac.ru/MAS/Worksheets/approxpi.mcd Approximation of π with the Monte Carlo Method]
 
*[http://papers.ssrn.com/sol3/papers.cfm?abstract_id=265905 Risk Analysis in Investment Appraisal], The Application of Monte Carlo Methodology in Project Appraisal, Savvakis C. Savvides
 
*[http://doi.acm.org/10.1145/143242.143290 Primality Testing Revisited]Proc. ISSAC 1992, James H. Davenport
 
*[http://www.datastructures.info/the-monte-carlo-algorithmmethod/ Example of Calculating Pi using the Monte Carlo method, C++]
 
*[http://en.wikiversity.org/wiki/Probabilistic_Assessment_of_Structures Probabilistic Assessment of Structures using the Monte Carlo method], Wikiuniversity paper for students of Structural Engineering
 
 
===Software===
 
* [http://www.biocyb.cs.ucla.edu/biocybmodeling.html w3mcsim] - Online Monte Carlo Simulation
 
* [http://www.mrc-bsu.cam.ac.uk/bugs/ The BUGS project] (including WinBUGS and OpenBUGS)
 
* [http://www.riskease.com/ Monte Carlo Simulation Software for Excel] by Master Solutions
 
* [http://www.decisioneering.com/Monte Monte Carlo Simulation Tool for Excel] by Decisioneering
 
* [http://www.palisade.com Monte Carlo Simulation Tool for Excel] by Palisade
 
* [http://www.lumenaut.com/montecarlo.htm Monte Carlo Simulation Tool for Excel] by Lumenaut
 
* [http://www.goldsim.com Monte Carlo Simulation for Environmental, Business, and Engineered Systems]
 
* [http://datasynapse.com/reuters-partner-high-performance-risk-management.aspx Monte Carlo GridServer] DataSynapse Grid Computing Software for Monte Carlo
 
* [http://www.cremesoftware.com Monte Carlo Method used in the Health Sector] CREMe 2.0 software tool to estimate exposure in the areas of food, cosmetics, environmental and chemical safety
 
 
'''Wikipedia categories:'''<br>
 
[[:en:Category:Monte Carlo methods]]|
 
[[:en:Category:Randomness]]|
 
[[:en:Category:Algorithms]]|
 
[[:en:Category:Numerical analysis]]|
 
[[:en:Category:Statistical mechanics]]|
 
[[:en:Category:Computational physics]]
 

Latest revision as of 15:10, 29 January 2011


Monte Carlo simulation is a method for sampling values from a probability distribution and running a model thousands of times. As a result, a distribution is created for the variable of interest. There are several software tools available for this purpose.

Software

Analytica is a Monte Carlo simulation program that has a user-friendly graphical interface. It is a computational tool for predefined risk/decision models where all the relationships have been mathematically defined.

The main properties are

  • Monte Carlo simulation for uncertainty propagation
  • model structure based on variables and links (similar to DAGs, directed acyclic graphs)
  • variable definition using attributes (that are similar to those in the pyrkilo method)
  • handling of multidimensional variables in an intelligent way
  • hierarchical model structures using modules (i.e. submodels)
  • fairly simple file format using XML
  • interfaces for importing and exporting data from and to Excel and SQL databases

The main problems include

  • not widely used
  • commercial program with non-trivial license fees

Discussion on Monte Carlo programs

How to read discussions

Statements: What should be the program of choice for Monte Carlo modelling?

Resolution: Analytica is the program to start with, but other programs may be used also.

(A stable resolution, when found, should be updated to the main page.)

Argumentation:

11: A) is a good choice. --Jouni 22:11, 11 March 2007 (EET)

12 : We have a lot experience in Analytica, and it has several very nice features, including influence diagrams, multidimensional variables, and hierachical modelling. --Jouni 22:11, 11 March 2007 (EET)

6 B) is a good choice.

4 : Problems with multidimensional variables --Jouni 10:32, 16 January 2007 (EET)
5 : These are not object-oriented programs. --Jouni 10:32, 16 January 2007 (EET)

7: C) is a good choice. --Jouni 20:37, 8 March 2007 (EET)

2 : Some of these have properties that are not in Analytica and could be used as an alternative. --Jouni 10:32, 16 January 2007 (EET)
3 : R is an open-source program and free of charge. --Jouni 10:32, 16 January 2007 (EET)

8 D) is a good choice. --Jouni 22:11, 11 March 2007 (EET)

9 : According to the website, GoldSim has many of the same good properties as Analytica. --Jouni 22:11, 11 March 2007 (EET)
10 : There is no experience about this program within Inaterese (at least to my knowledge). --Jouni 22:11, 11 March 2007 (EET)