Monte Carlo methods are mainly used in three distinct problem classes: optimization, numerical integration, and generating draws from a probability distribution. They can also be used to model phenomena with significant uncertainty in inputs, such as calculating the risk of a nuclear power plant failure. Monte Carlo methods are often implemented using computer simulations, and they can provide approximate solutions to problems that are otherwise intractable or too complex to analyze mathematically.
Monte Carlo methods are widely used in various fields of science, engineering, and mathematics, such as physics, chemistry, biology, statistics, artificial intelligence, finance, and cryptography. They have also been applied to social sciences, such as sociology, psychology, and political science. Monte Carlo methods have been recognized as one of the most important and influential ideas of the 20th century, and they have enabled many scientific and technological breakthroughs.
Monte Carlo methods also have some limitations and challenges, such as the trade-off between accuracy and computational cost, thecurse of dimensionality, the reliability of random number generators, and the verification and validation of the results.
Monte Carlo method applied to approximating the value ofπ
For example, consider aquadrant (circular sector) inscribed in aunit square. Given that the ratio of their areas isπ/4, the value ofπ can be approximated using the Monte Carlo method:[1]
Uniformly scatter a given number of points over the square.
Count the number of points inside the quadrant, i.e. having a distance from the origin of less than 1.
The ratio of the inside-count and the total-sample-count is an estimate of the ratio of the two areas,π/4. Multiply the result by 4 to estimateπ.
In this procedure, the domain of inputs is the square that circumscribes the quadrant. One can generate random inputs by scattering grains over the square, then performing a computation on each input to test whether it falls within the quadrant. Aggregating the results yields our final result, the approximation ofπ.
There are two important considerations:
If the points are not uniformly distributed, the approximation will be poor.
The approximation improves as more points are randomly placed in the whole square.
Uses of Monte Carlo methods require large amounts of random numbers, and their use benefitted greatly frompseudorandom number generators, which are far quicker to use than the tables of random numbers that had been previously employed.
Other examples include modeling phenomena with significantuncertainty in inputs such as the calculation ofrisk in business and, in mathematics, evaluation of multidimensionaldefinite integrals with complicatedboundary conditions. In application to systems engineering problems (space,oil exploration, aircraft design, etc.), Monte Carlo–based predictions of failure,cost overruns and schedule overruns are routinely better than human intuition or alternative "soft" methods.[3]
Suppose one wants to know the expected value of a population (and knows that exists), but does not have a formula available to compute it. The simple Monte Carlo method gives an estimate for by running simulations and averaging the simulations' results. It has no restrictions on the probability distribution of the inputs to the simulations, requiring only that the inputs are randomly generated and are independent of each other and that exists. A sufficiently large will produce a value for that is arbitrarily close to; more formally, it will be the case that, for any,.[12]
Typically, the algorithm to obtain is
s = 0;fori = 1 tondo run the simulation for theith time, giving resultri;s =s +ri;repeatm =s /n;
Suppose we want to know how many times we should expect to throw three eight-sided dice for the total of the dice throws to be at least. We know the expected value exists. The dice throws are randomly distributed and independent of each other. So simple Monte Carlo is applicable:
s = 0;fori = 1 tondo throw the three dice untilT is met or first exceeded;ri = the number of throws;s =s +ri;repeatm =s /n;
Let. Choose the desired confidence level – the percent chance that, when the Monte Carlo algorithm completes, is indeed within of. Let be the-score corresponding to that confidence level.
Let be the estimated variance, sometimes called the "sample" variance; it is the variance of the results obtained from a relatively small number of "sample" simulations. Choose a; Driels and Shin observe that "even for sample sizes an order of magnitude lower than the number required, the calculation of that number is quite stable."[13]
The following algorithm computes in one pass while minimizing the possibility that accumulated numerical error produces erroneous results:[12]
s1 = 0; run the simulation for the first time, producing resultr1;m1 =r1;//mi is the mean of the firsti simulationsfor i = 2 tokdorun the simulation for theith time, producing resultri;δi =ri -mi−1;mi = mi-1+ (1/i)δi;si = si-1+ ((i - 1)/i)(δi)2;repeats2 =sk/(k - 1);
Note that, when the algorithm completes, is the mean of the results.
If, then; sufficient sample simulations were done to ensure that is within of. If, then simulations can be run "from scratch," or, since simulations have already been done, one can just run more simulations and add their results into those from the sample simulations:
s =mk *k; for i =k + 1 ton dorun the simulation for theith time, giving resultri;s =s +ri;m =s /n;
An alternative formula can be used in the special case where all simulation results are bounded above and below.
Choose a value for that is twice the maximum allowed difference between and. Let be the desired confidence level, expressed as a percentage. Let every simulation result be such that for finite and. To have confidence of at least that, use a value for such that:
Despite its conceptual and algorithmic simplicity, the computational cost associated with a Monte Carlo simulation can be staggeringly high. In general the method requires many samples to get a good approximation, which may incur an arbitrarily large total runtime if the processing time of a single sample is high.[14] Although this is a severe limitation in very complex problems, theembarrassingly parallel nature of the algorithm allows this large cost to be reduced (perhaps to a feasible level) throughparallel computing strategies in local processors, clusters, cloud computing, GPU, FPGA, etc.[15][16][17][18]
Before the Monte Carlo method was developed, simulations tested a previously understood deterministic problem, and statistical sampling was used to estimate uncertainties in the simulations. Monte Carlo simulations invert this approach, solving deterministic problems usingprobabilisticmetaheuristics (seesimulated annealing).
An early variant of the Monte Carlo method was devised to solve theBuffon's needle problem, in whichπ can be estimated by dropping needles on a floor made of parallel equidistant strips. In the 1930s,Enrico Fermi first experimented with the Monte Carlo method while studying neutron diffusion, but he did not publish this work.[19]
In the late 1940s,Stanisław Ulam invented the modern version of the Markov Chain Monte Carlo method while he was working on nuclear weapons projects at theLos Alamos National Laboratory. In 1946, nuclear weapons physicists at Los Alamos were investigating neutron diffusion in the core of a nuclear weapon.[19] Despite having most of the necessary data, such as the average distance a neutron would travel in a substance before it collided with an atomic nucleus and how much energy the neutron was likely to give off following a collision, the Los Alamos physicists were unable to solve the problem using conventional, deterministic mathematical methods. Ulam proposed using random experiments. He recounts his inspiration as follows:
The first thoughts and attempts I made to practice [the Monte Carlo Method] were suggested by a question which occurred to me in 1946 as I was convalescing from an illness and playing solitaires. The question was what are the chances that aCanfield solitaire laid out with 52 cards will come out successfully? After spending a lot of time trying to estimate them by pure combinatorial calculations, I wondered whether a more practical method than "abstract thinking" might not be to lay it out say one hundred times and simply observe and count the number of successful plays. This was already possible to envisage with the beginning of the new era of fast computers, and I immediately thought of problems of neutron diffusion and other questions of mathematical physics, and more generally how to change processes described by certain differential equations into an equivalent form interpretable as a succession of random operations. Later [in 1946], I described the idea toJohn von Neumann, and we began to plan actual calculations.[20]
Being secret, the work of von Neumann and Ulam required a code name.[21] A colleague of von Neumann and Ulam,Nicholas Metropolis, suggested using the nameMonte Carlo, which refers to theMonte Carlo Casino inMonaco where Ulam's uncle would borrow money from relatives to gamble.[19]Monte Carlo methods were central to thesimulations required for further postwar development of nuclear weapons, including the design of the H-bomb, though severely limited by the computational tools at the time. Von Neumann,Nicholas Metropolis and others programmed theENIAC computer to perform the first fully automated Monte Carlo calculations, of afission weapon core, in the spring of 1948.[22] In the 1950s Monte Carlo methods were used atLos Alamos for the development of thehydrogen bomb, and became popularized in the fields ofphysics,physical chemistry, andoperations research. TheRand Corporation and theU.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.
The theory of more sophisticated mean-field type particle Monte Carlo methods had certainly started by the mid-1960s, with the work ofHenry P. McKean Jr. on Markov interpretations of a class of nonlinear parabolic partial differential equations arising in fluid mechanics.[23][24] An earlier pioneering article byTheodore E. Harris and Herman Kahn, published in 1951, used mean-fieldgenetic-type Monte Carlo methods for estimating particle transmission energies.[25] Mean-field genetic type Monte Carlo methodologies are also used as heuristic natural search algorithms (a.k.a.metaheuristic) in evolutionary computing. The origins of these mean-field computational techniques can be traced to 1950 and 1954 with the work ofAlan Turing on genetic type mutation-selection learning machines[26] and the articles byNils Aall Barricelli at theInstitute for Advanced Study inPrinceton, New Jersey.[27][28]
Quantum Monte Carlo, and more specificallydiffusion Monte Carlo methods can also be interpreted as a mean-field particle Monte Carlo approximation ofFeynman–Kac path integrals.[29][30][31][32][33][34][35] The origins of Quantum Monte Carlo methods are often attributed to Enrico Fermi andRobert Richtmyer who developed in 1948 a mean-field particle interpretation of neutron-chain reactions,[36] but the first heuristic-like and genetic type particle algorithm (a.k.a. Resampled or Reconfiguration Monte Carlo methods) for estimating ground state energies of quantum systems (in reduced matrix models) is due to Jack H. Hetherington in 1984.[35] In molecular chemistry, the use of genetic heuristic-like particle methodologies (a.k.a. pruning and enrichment strategies) can be traced back to 1955 with the seminal work ofMarshall N. Rosenbluth andArianna W. Rosenbluth.[37]
The use ofsequential Monte Carlo in advancedsignal processing andBayesian inference is more recent. It was in 1993, that Gordon et al., published in their seminal work[38] the first application of a Monte Carloresampling algorithm in Bayesian statistical inference. The authors named their algorithm 'the bootstrap filter', and demonstrated that compared to other filtering methods, their bootstrap algorithm does not require any assumption about that state-space or the noise of the system. Another pioneering article in this field was Genshiro Kitagawa's, on a related "Monte Carlo filter",[39] and the ones by Pierre Del Moral[40] and Himilcon Carvalho, Pierre Del Moral, André Monin and Gérard Salut[41] on particle filters published in the mid-1990s. Particle filters were also developed in signal processing in 1989–1992 by P. Del Moral, J. C. Noyer, G. Rigal, and G. Salut in the LAAS-CNRS in a series of restricted and classified research reports with STCAN (Service Technique des Constructions et Armes Navales), the IT company DIGILOG, and theLAAS-CNRS (the Laboratory for Analysis and Architecture of Systems) on radar/sonar and GPS signal processing problems.[42][43][44][45][46][47] These Sequential Monte Carlo methodologies can be interpreted as an acceptance-rejection sampler equipped with an interacting recycling mechanism.
From 1950 to 1996, all the publications on sequential Monte Carlo methodologies, including the pruning and resample Monte Carlo methods introduced in computational physics and molecular chemistry, present natural and heuristic-like algorithms applied to different situations without a single proof of their consistency, nor a discussion on the bias of the estimates and on genealogical and ancestral tree based algorithms. The mathematical foundations and the first rigorous analysis of these particle algorithms were written by Pierre Del Moral in 1996.[40][48]
Branching type particle methodologies with varying population sizes were also developed in the end of the 1990s by Dan Crisan, Jessica Gaines and Terry Lyons,[49][50][51] and by Dan Crisan, Pierre Del Moral and Terry Lyons.[52] Further developments in this field were described in 1999 to 2001 by P. Del Moral, A. Guionnet and L. Miclo.[30][53][54]
There is no consensus on howMonte Carlo should be defined. For example, Ripley[55] defines most probabilistic modeling asstochastic simulation, withMonte Carlo being reserved forMonte Carlo integration and Monte Carlo statistical tests.Sawilowsky[56] distinguishes between asimulation, a Monte Carlo method, and a Monte Carlo simulation: a simulation is a fictitious representation of reality, a Monte Carlo method is a technique that can be used to solve a mathematical or statistical problem, and a Monte Carlo simulation uses repeated sampling to obtain the statistical properties of some phenomenon (or behavior).
Here are some examples:
Simulation: Drawingone pseudo-random uniform variable from the interval [0,1] can be used to simulate the tossing of a coin: If the value is less than or equal to 0.50 designate the outcome as heads, but if the value is greater than 0.50 designate the outcome as tails. This is a simulation, but not a Monte Carlo simulation.
Monte Carlo method: Pouring out a box of coins on a table, and then computing the ratio of coins that land heads versus tails is a Monte Carlo method of determining the behavior of repeated coin tosses, but it is not a simulation.
Monte Carlo simulation: Drawinga large number of pseudo-random uniform variables from the interval [0,1] at one time, or once at many different times, and assigning values less than or equal to 0.50 as heads and greater than 0.50 as tails, is aMonte Carlo simulation of the behavior of repeatedly tossing a coin.
Kalos and Whitlock[57] point out that such distinctions are not always easy to maintain. For example, the emission of radiation from atoms is a natural stochastic process. It can be simulated directly, or its average behavior can be described by stochastic equations that can themselves be solved using Monte Carlo methods. "Indeed, the same computer code can be viewed simultaneously as a 'natural simulation' or as a solution of the equations by natural sampling."
Convergence of the Monte Carlo simulation can be checked with theGelman-Rubin statistic.
The main idea behind this method is that the results are computed based on repeated random sampling and statistical analysis. The Monte Carlo simulation is, in fact, random experimentations, in the case that, the results of these experiments are not well known.Monte Carlo simulations are typically characterized by many unknown parameters, many of which are difficult to obtain experimentally.[58] Monte Carlo simulation methods do not always requiretruly random numbers to be useful (although, for some applications such asprimality testing, unpredictability is vital).[59] Many of the most useful techniques use deterministic,pseudorandom sequences, making it easy to test and re-run simulations. The only quality usually necessary to make goodsimulations 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 areuniformly 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. Weak correlations between successive samples are also often desirable/necessary.
Sawilowsky lists the characteristics of a high-quality Monte Carlo simulation:[56]
the (pseudo-random) number generator has certain characteristics (e.g. a long "period" before the sequence repeats)
the (pseudo-random) number generator produces values that pass tests for randomness
there are enough samples to ensure accurate results
the proper sampling technique is used
the algorithm used is valid for what is being modeled
Low-discrepancy sequences are often used instead of random sampling from a space as they ensure even coverage and normally have a faster order of convergence than Monte Carlo simulations using random or pseudorandom sequences. Methods based on their use are calledquasi-Monte Carlo methods.
In an effort to assess the impact of random number quality on Monte Carlo simulation outcomes, astrophysical researchers tested cryptographically secure pseudorandom numbers generated via Intel'sRDRAND instruction set, as compared to those derived from algorithms, like theMersenne Twister, in Monte Carlo simulations of radio flares frombrown dwarfs. No statistically significant difference was found between models generated with typical pseudorandom number generators and RDRAND for trials consisting of the generation of 107 random numbers.[60]
There are ways of using probabilities that are definitely not Monte Carlo simulations – for example, deterministic modeling using single-point estimates. Each uncertain variable within a model is assigned a "best guess" estimate. Scenarios (such as best, worst, or most likely case) for each input variable are chosen and the results recorded.[61]
By contrast, Monte Carlo simulations sample from aprobability distribution for each variable to produce hundreds or thousands of possible outcomes. The results are analyzed to get probabilities of different outcomes occurring.[62] For example, a comparison of a spreadsheet cost construction model run using traditional "what if" scenarios, and then running the comparison again with Monte Carlo simulation andtriangular probability distributions shows that the Monte Carlo analysis has a narrower range than the "what if" analysis.[example needed] This is because the "what if" analysis gives equal weight to all scenarios (seequantifying uncertainty in corporate finance), while the Monte Carlo method hardly samples in the very low probability regions. The samples in such regions are called "rare events".
Monte Carlo methods are especially useful for simulating phenomena with significantuncertainty in inputs and systems with manycoupled degrees of freedom. Areas of application include:
Monte Carlo methods are widely used in engineering forsensitivity analysis and quantitativeprobabilistic analysis inprocess design. The need arises from the interactive, co-linear and non-linear behavior of typical process simulations. For example,
Intelecommunications, when planning a wireless network, the design must be proven to work for a wide variety of scenarios that depend mainly on the number of users, their locations and the services they want to use. Monte Carlo methods are typically used to generate these users and their states. The network performance is then evaluated and, if results are not satisfactory, the network design goes through an optimization process.
Inreliability engineering, Monte Carlo simulation is used to compute system-level response given the component-level response.
Monte Carlo methods are used in various fields ofcomputational biology, for example forBayesian inference in phylogeny, or for studying biological systems such as genomes, proteins,[74] or membranes.[75]The systems can be studied in the coarse-grained orab initio frameworks depending on the desired accuracy.Computer simulations allow monitoring of the local environment of a particularmolecule to see if somechemical reaction is happening for instance. In cases where it is not feasible to conduct a physical experiment,thought experiments can be conducted (for instance: breaking bonds, introducing impurities at specific sites, changing the local/global structure, or introducing external fields).
Path tracing, occasionally referred to as Monte Carlo ray tracing, renders a 3D scene by randomly tracing samples of possible light paths. Repeated sampling of any given pixel will eventually cause the average of the samples to converge on the correct solution of therendering equation, making it one of the most physically accurate 3D graphics rendering methods in existence.
The standards for Monte Carlo experiments in statistics were set by Sawilowsky.[76] In applied statistics, Monte Carlo methods may be used for at least four purposes:
To compare competing statistics for small samples under realistic data conditions. Althoughtype I error and power properties of statistics can be calculated for data drawn from classical theoretical distributions (e.g.,normal curve,Cauchy distribution) forasymptotic conditions (i. e, infinite sample size and infinitesimally small treatment effect), real data often do not have such distributions.[77]
To provide a random sample from the posterior distribution inBayesian inference. This sample then approximates and summarizes all the essential features of the posterior.
To provide efficient random estimates of the Hessian matrix of the negative log-likelihood function that may be averaged to form an estimate of theFisher information matrix.[78][79]
Monte Carlo methods are also a compromise between approximate randomization and permutation tests. An approximaterandomization test is based on a specified subset of all permutations (which entails potentially enormous housekeeping of which permutations have been considered). The Monte Carlo approach is based on a specified number of randomly drawn permutations (exchanging a minor loss in precision if a permutation is drawn twice—or more frequently—for the efficiency of not having to track which permutations have already been selected).
Monte Carlo methods have been developed into a technique calledMonte-Carlo tree search that is useful for searching for the best move in a game. Possible moves are organized in asearch tree and many random simulations are used to estimate the long-term potential of each move. A black box simulator represents the opponent's moves.[80]
The Monte Carlo tree search (MCTS) method has four steps:[81]
Starting at root node of the tree, select optimal child nodes until a leaf node is reached.
Expand the leaf node and choose one of its children.
Play a simulated game starting with that node.
Use the results of that simulated game to update the node and its ancestors.
The net effect, over the course of many simulated games, is that the value of a node representing a move will go up or down, hopefully corresponding to whether or not that node represents a good move.
Monte Carlo methods are also efficient in solving coupled integral differential equations of radiation fields and energy transport, and thus these methods have been used inglobal illumination computations that produce photo-realistic images of virtual 3D models, with applications invideo games,architecture,design, computer generatedfilms, and cinematic special effects.[87]
TheUS Coast Guard utilizes Monte Carlo methods within its computer modeling softwareSAROPS in order to calculate the probable locations of vessels duringsearch and rescue operations. Each simulation can generate as many as ten thousand data points that are randomly distributed based upon provided variables.[88] Search patterns are then generated based upon extrapolations of these data in order to optimize the probability of containment (POC) and the probability of detection (POD), which together will equal an overall probability of success (POS). Ultimately this serves as a practical application ofprobability distribution in order to provide the swiftest and most expedient method of rescue, saving both lives and resources.[89]
Monte Carlo simulation is commonly used to evaluate the risk and uncertainty that would affect the outcome of different decision options. Monte Carlo simulation allows the business risk analyst to incorporate the total effects of uncertainty in variables like sales volume, commodity and labor prices, interest and exchange rates, as well as the effect of distinct risk events like the cancellation of a contract or the change of a tax law.
Monte Carlo methods in finance are often used toevaluate investments in projects at a business unit or corporate level, or other financial valuations. They can be used to modelproject schedules, where simulations aggregate estimates for worst-case, best-case, and most likely durations for each task to determine outcomes for the overall project.[90] Monte Carlo methods are also used in option pricing, default risk analysis.[91][92] Additionally, they can be used to estimate the financial impact of medical interventions.[93]
A Monte Carlo approach was used for evaluating the potential value of a proposed program to help female petitioners in Wisconsin be successful in their applications forharassment anddomestic abuse restraining orders. It was proposed to help women succeed in their petitions by providing them with greater advocacy thereby potentially reducing the risk ofrape andphysical assault. However, there were many variables in play that could not be estimated perfectly, including the effectiveness of restraining orders, the success rate of petitioners both with and without advocacy, and many others. The study ran trials that varied these variables to come up with an overall estimate of the success level of the proposed program as a whole.[94]
Monte Carlo approach had also been used to simulate the number of book publications based on bookgenre in Malaysia. The Monte Carlo simulation utilized previous published National Book publication data and book's price according to book genre in the local market. The Monte Carlo results were used to determine what kind of book genre that Malaysians are fond of and was used to compare book publications betweenMalaysia andJapan.[95]
In general, the Monte Carlo methods are used in mathematics to solve various problems by generating suitable random numbers (see alsoRandom number generation) and observing that fraction of the numbers that obeys some property or properties. The method is useful for obtaining numerical solutions to problems too complicated to solve analytically. The most common application of the Monte Carlo method is Monte Carlo integration.
Monte-Carlo integration works by comparing random points with the value of the function.Errors reduce by a factor of.
Deterministicnumerical integration algorithms work well in a small number of dimensions, but encounter two problems when the functions have many variables. First, the number of function evaluations needed increases rapidly with the number of dimensions. For example, if 10 evaluations provide adequate accuracy in one dimension, then10100 points are needed for 100 dimensions—far too many to be computed. This is called thecurse of dimensionality. Second, the boundary of a multidimensional region may be very complicated, so it may not be feasible to reduce the problem to aniterated integral.[96] 100dimensions is by no means unusual, since in many physical problems, a "dimension" is equivalent to adegree of freedom.
Monte Carlo methods provide a way out of this exponential increase in computation time. As long as the function in question is reasonablywell-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 thecentral limit theorem, this method displays convergence—i.e., quadrupling the number of sampled points halves the error, regardless of the number of dimensions.[96]
A refinement of this method, known asimportance sampling in statistics, involves sampling the points randomly, but more frequently where the integrand is large. To do this precisely one would have to already know the integral, but one can approximate the integral by an integral of a similar function or use adaptive routines such asstratified sampling,recursive stratified sampling, adaptive umbrella sampling[97][98] or theVEGAS algorithm.
A similar approach, thequasi-Monte Carlo method, useslow-discrepancy sequences. These sequences "fill" the area better and sample the most important points more frequently, so quasi-Monte Carlo methods can often converge on the integral more quickly.
Another powerful and very popular application for random numbers in numerical simulation is innumerical optimization. The problem is to minimize (or maximize) functions of some vector that often has many dimensions. Many problems can be phrased in this way: for example, acomputer chess program could be seen as trying to find the set of, say, 10 moves that produces the best evaluation function at the end. In thetraveling salesman problem the goal is to minimize distance traveled. There are also applications to engineering design, such asmultidisciplinary design optimization. It has been applied with quasi-one-dimensional models to solve particle dynamics problems by efficiently exploring large configuration space. Reference[100] is a comprehensive review of many issues related to simulation and optimization.
Thetraveling salesman problem is what is called a conventional optimization problem. That is, all the facts (distances between each destination point) needed to determine the optimal path to follow are known with certainty and the goal is to run through the possible travel choices to come up with the one with the lowest total distance. If instead of the goal being to minimize the total distance traveled to visit each desired destination but rather to minimize the total time needed to reach each destination, this goes beyond conventional optimization since travel time is inherently uncertain (traffic jams, time of day, etc.). As a result, to determine the optimal path a different simulation is required: optimization to first understand the range of potential times it could take to go from one point to another (represented by a probability distribution in this case rather than a specific distance) and then optimize the travel decisions to identify the best path to follow taking that uncertainty into account.
Probabilistic formulation ofinverse problems leads to the definition of aprobability distribution in the model space. This probability distribution combinesprior 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 posterior 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 normally information on the resolution power of the data is desired. In the general case many parameters are modeled, and an inspection of themarginal probability densities of interest may be impractical, or even useless. But it is possible to pseudorandomly generate a large collection of models according to theposterior 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 thea 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 complexa priori information and data with an arbitrary noise distribution.[101][102]
Popular exposition of the Monte Carlo Method was conducted by McCracken.[103] The method's general philosophy was discussed byElishakoff[104] and Grüne-Yanoff and Weirich.[105]
^Liu, Jun S.; Liang, Faming; Wong, Wing Hung (March 1, 2000). "The Multiple-Try Method and Local Optimization in Metropolis Sampling".Journal of the American Statistical Association.95 (449):121–134.doi:10.1080/01621459.2000.10473908.ISSN0162-1459.S2CID123468109.
^Shonkwiler, R. W.; Mendivil, F. (2009).Explorations in Monte Carlo Methods. Springer.
^Atanassova, E.; Gurov, T.; Karaivanova, A.; Ivanovska, S.; Durchova, M.; Dimitrov, D. (2016). "On the parallelization approaches for Intel MIC architecture".AIP Conference Proceedings.1773 (1): 070001.Bibcode:2016AIPC.1773g0001A.doi:10.1063/1.4964983.
^Wei, J.; Kruis, F.E. (2013). "A GPU-based parallelized Monte-Carlo method for particle coagulation using an acceptance–rejection strategy".Chemical Engineering Science.104:451–459.Bibcode:2013ChEnS.104..451W.doi:10.1016/j.ces.2013.08.008.
^Lin, Y.; Wang, F.; Liu, B. (2018). "Random number generators for large-scale parallel Monte Carlo simulations on FPGA".Journal of Computational Physics.360:93–103.Bibcode:2018JCoPh.360...93L.doi:10.1016/j.jcp.2018.01.029.
^McKean, Henry P. (1967). "Propagation of chaos for a class of non-linear parabolic equations".Lecture Series in Differential Equations, Catholic Univ.7:41–57.
^Gordon, N.J.; Salmond, D.J.; Smith, A.F.M. (April 1993). "Novel approach to nonlinear/non-Gaussian Bayesian state estimation".IEE Proceedings F - Radar and Signal Processing.140 (2):107–113.doi:10.1049/ip-f-2.1993.0015.ISSN0956-375X.S2CID12644877.
^Kitagawa, G. (1996). "Monte carlo filter and smoother for non-Gaussian nonlinear state space models".Journal of Computational and Graphical Statistics.5 (1):1–25.doi:10.2307/1390750.JSTOR1390750.
^P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: An unified framework for particle solutions". LAAS-CNRS, Toulouse, Research Report no. 91137, DRET-DIGILOG- LAAS/CNRS contract, April (1991).
^P. Del Moral, G. Rigal, and G. Salut. "Nonlinear and non Gaussian particle filters applied to inertial platform repositioning." LAAS-CNRS, Toulouse, Research Report no. 92207, STCAN/DIGILOG-LAAS/CNRS Convention STCAN no. A.91.77.013, (94p.) September (1991).
^P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Experimental results". Convention DRET no. 89.34.553.00.470.75.01, Research report no.2 (54p.), January (1992).
^P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation: Theoretical results".Convention DRET no. 89.34.553.00.470.75.01, Research report no.3 (123p.), October (1992).
^P. Del Moral, J.-Ch. Noyer, G. Rigal, and G. Salut. "Particle filters in radar signal processing: detection, estimation and air targets recognition". LAAS-CNRS, Toulouse, Research report no. 92495, December (1992).
^P. Del Moral, G. Rigal, and G. Salut. "Estimation and nonlinear optimal control: Particle resolution in filtering and estimation". Studies on: Filtering, optimal control, and maximum likelihood estimation. Convention DRET no. 89.34.553.00.470.75.01. Research report no.4 (210p.), January (1993).
^Crisan, Dan; Gaines, Jessica; Lyons, Terry (1998). "Convergence of a branching particle method to the solution of the Zakai".SIAM Journal on Applied Mathematics.58 (5):1568–1590.doi:10.1137/s0036139996307371.S2CID39982562.
^Del Moral, Pierre; Guionnet, Alice (1999). "On the stability of Measure Valued Processes with Applications to filtering".C. R. Acad. Sci. Paris.39 (1):429–434.
^Möller, W.; Eckstein, W. (March 1, 1984). "Tridyn — A TRIM simulation code including dynamic composition changes".Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms.2 (1):814–818.Bibcode:1984NIMPB...2..814M.doi:10.1016/0168-583X(84)90321-5.
^Das, Sonjoy; Spall, James C.; Ghanem, Roger (2010). "Efficient Monte Carlo computation of Fisher information matrix using prior information".Computational Statistics & Data Analysis.54 (2):272–289.doi:10.1016/j.csda.2009.09.018.
^Carmona, René; Del Moral, Pierre; Hu, Peng; Oudjane, Nadia (2012). "An Introduction to Particle Methods with Financial Applications". In Carmona, René A.; Moral, Pierre Del; Hu, Peng; et al. (eds.).Numerical Methods in Finance. Springer Proceedings in Mathematics. Vol. 12. Springer Berlin Heidelberg. pp. 3–49.CiteSeerX10.1.1.359.7957.doi:10.1007/978-3-642-25746-9_1.ISBN978-3-642-25745-2.
^Kroese, D. P.; Taimre, T.; Botev, Z. I. (2011).Handbook of Monte Carlo Methods. John Wiley & Sons.
^Bartels, Christian; Karplus, Martin (December 31, 1997). "Probability Distributions for Complex Systems: Adaptive Umbrella Sampling of the Potential Energy".The Journal of Physical Chemistry B.102 (5):865–880.doi:10.1021/jp972280j.
^Spall, J. C. (2003),Introduction to Stochastic Search and Optimization: Estimation, Simulation, and Control, Wiley, Hoboken, NJ.http://www.jhuapl.edu/ISSO
Benov, Dobriyan M. (2016). "The Manhattan Project, the first electronic computer and the Monte Carlo method".Monte Carlo Methods and Applications.22 (1):73–79.doi:10.1515/mcma-2016-0102.S2CID30198383.
Baeurle, Stephan A. (2009). "Multiscale modeling of polymer materials using field-theoretic methodologies: A survey about recent developments".Journal of Mathematical Chemistry.46 (2):363–426.doi:10.1007/s10910-008-9467-3.S2CID117867762.
Berg, Bernd A. (2004).Markov Chain Monte Carlo Simulations and Their Statistical Analysis (With Web-Based Fortran Code). Hackensack, NJ: World Scientific.ISBN978-981-238-935-0.
Gould, Harvey; Tobochnik, Jan (1988).An Introduction to Computer Simulation Methods, Part 2, Applications to Physical Systems. Reading: Addison-Wesley.ISBN978-0-201-16504-3.
Milik, M.; Skolnick, J. (January 1993). "Insertion of peptide chains into lipid membranes: an off-lattice Monte Carlo dynamics model".Proteins.15 (1):10–25.doi:10.1002/prot.340150104.PMID8451235.S2CID7450512.
Int Panis, L.; De Nocker, L.; De Vlieger, I.; Torfs, R. (2001). "Trends and uncertainty in air pollution impacts and external costs of Belgian passenger car traffic".International Journal of Vehicle Design.27 (1–4):183–194.doi:10.1504/IJVD.2001.001963.
Int Panis, L.; Rabl, A.; De Nocker, L.; Torfs, R. (2002). Sturm, P. (ed.). "Diesel or Petrol ? An environmental comparison hampered by uncertainty".Mitteilungen Institut für Verbrennungskraftmaschinen und Thermodynamik. Heft 81 Vol 1. Technische Universität Graz Austria:48–54.
Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1996) [1986].Numerical Recipes in Fortran 77: The Art of Scientific Computing. Fortran Numerical Recipes. Vol. 1 (2nd ed.).Cambridge University Press.ISBN978-0-521-43064-7.
Ripley, B. D. (1987).Stochastic Simulation.Wiley & Sons.
Silver, David; Veness, Joel (2010)."Monte-Carlo Planning in Large POMDPs"(PDF). In Lafferty, J.; Williams, C. K. I.; Shawe-Taylor, J.; Zemel, R. S.; Culotta, A. (eds.).Advances in Neural Information Processing Systems 23. Neural Information Processing Systems 2010. Neural Information Processing Systems Foundation. Archived fromthe original(PDF) on May 25, 2012. RetrievedMarch 15, 2011.
Szirmay-Kalos, László (2008).Monte Carlo Methods in Global Illumination - Photo-realistic Rendering with Randomization. VDM Verlag Dr. Mueller e.K.ISBN978-3-8364-7919-6.