蒙特卡洛模擬(Monte Carlo simulation)


1、蒙特卡羅模擬簡介

蒙特卡羅模擬,也叫統計模擬,這個術語是二戰時期美國物理學家Metropolis執行曼哈頓計划的過程中提出來的,其基本思想很早以前就被人們所發現和利用。早在17世紀,人們就知道用事件發生的"頻率"來決定事件的"概率"。19世紀人們用投針試驗的方法來決定圓周率π。本世紀40年代電子計算機的出現,特別是近年來高速電子計算機的出現,使得用數學方法在計算機上大量、快速地模擬這樣的試驗成為可能。

蒙特卡洛模擬是一種通過設定隨機過程,反復生成時間序列,計算參數估計量和統計量,進而研究其分布特征的方法。蒙特卡洛模擬方法的原理是當問題或對象本身具有概率特征時,可以用計算機模擬的方法產生抽樣結果,根據抽樣計算統計量或者參數的值;隨着模擬次數的增多,可以通過對各次統計量或參數的估計值求平均的方法得到穩定結論。由於涉及到時間序列的反復生成,蒙特卡洛模擬法是以高容量和高速度的計算機為前提條件的,因此只是在近些年才得到廣泛推廣。

2、蒙特卡洛模擬步驟

版本1

1)構造或描述概率過程:對於本身就具有隨機性質的問題,如粒子輸運問題,主要是正確描述和模擬這個概率過程,對於本來不是隨機性質的確定性問題,比如計算定積分,就必須事先構造一個人為的概率過程,它的某些參量正好是所要求問題的解。即要將不具有隨機性質的問題轉化為隨機性質的問題。

2)實現從已知概率分布抽樣:構造了概率模型以后,由於各種概率模型都可以看作是由各種各樣的概率分布構成的,因此產生已知概率分布的隨機變量(或隨機向量),就成為實現蒙特卡羅方法模擬實驗的基本手段,這也是蒙特卡羅方法被稱為隨機抽樣的原因。最簡單、最基本、最重要的一個概率分布是(0,1)上的均勻分布(或稱矩形分布)。隨機數就是具有這種均勻分布的隨機變量。隨機數序列就是具有這種分布的總體的一個簡單子樣,也就是一個具有這種分布的相互獨立的隨機變數序列。產生隨機數的問題,就是從這個分布的抽樣問題。在計算機上,可以用物理方法產生隨機數,但價格昂貴,不能重復,使用不便。另一種方法是用數學遞推公式產生。這樣產生的序列,與真正的隨機數序列不同,所以稱為偽隨機數,或偽隨機數序列。不過,經過多種統計檢驗表明,它與真正的隨機數,或隨機數序列具有相近的性質,因此可把它作為真正的隨機數來使用。由已知分布隨機抽樣有各種方法,與從(0,1)上均勻分布抽樣不同,這些方法都是借助於隨機序列來實現的,也就是說,都是以產生隨機數為前提的。由此可見,隨機數是我們實現蒙特卡羅模擬的基本工具。建立各種估計量:一般說來,構造了概率模型並能從中抽樣后,即實現模擬實驗后,我們就要確定一個隨機變量,作為所要求的問題的解,我們稱它為無偏估計。

3)建立各種估計量,相當於對模擬實驗的結果進行考察和登記,從中得到問題的解。例如:檢驗產品的正品率問題,我們可以用1表示正品,0表示次品,於是對每個產品檢驗可以定義如下的隨機變數Ti,作為正品率的估計量:於是,在N次實驗后,正品個數為:顯然,正品率p為:不難看出,Ti為無偏估計。當然,還可以引入其它類型的估計,如最大似然估計,漸進有偏估計等。但是,在蒙特卡羅計算中,使用最多的是無偏估計。

版本2

(1)根據提出的問題構造一個簡單、適用的概率模型或隨機模型,使問題的解對應於該模型中隨機變量的某些特征(如概率、均值和方差等),所構造的模型在主要特征參量方面要與實際問題或系統相一致;

(2)根據模型中各個隨機變量的分布,在計算機上產生隨機數,實現一次模擬過程所需的足夠數量的隨機數。通常先產生均勻分布的隨機數,然后生成服從某一分布的隨機數,方可進行隨機模擬試驗。

(3)根據概率模型的特點和隨機變量的分布特性,設計和選取合適的抽樣方法,並對每個隨機變量進行抽樣(包括直接抽樣、分層抽樣、相關抽樣、重要抽樣等);

(4)按照所建立的模型進行仿真試驗、計算,求出問題的隨機解;

(5)統計分析模擬試驗結果,給出問題的概率解以及解的精度估計。

3、蒙特卡洛模擬應用

(1)直接應用蒙特卡洛模擬:應用大規模的隨機數列來模擬復雜系統,得到某些參數或重要指標;

(2)蒙特卡洛積分:利用隨機數列計算積分,維數越高,積分效率越高;

(3)MCMC直接應用蒙特卡洛模擬的推廣,該方法中隨機數的產生是采用的馬爾科夫鏈形式。

4、蒙特卡洛模擬舉例

(1) 有一個例子可以使你比較直觀地了解蒙特卡羅方法:假設我們要計算一個不規則圖形的面積,那么圖形的不規則程度和分析性計算(比如,積分)的復雜程度是成正 比的。蒙特卡羅模擬是怎么計算的呢?假想你有一袋豆子,把豆子均勻地朝這個圖形上撒,然后數這個圖形之中有多少顆豆子,這個豆子的數目就是圖形的面積。當 你的豆子越小,撒的越多的時候,結果就越精確。

(2)蒙特卡洛積分

蒙特卡洛方法與定積分計算:隨機投點法與平均值法

蒙特卡洛方法與定積分計算

http://lijiwei19850620.blog.163.com/blog/static/978415382013629113824585/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM