數學建模之蒙特卡洛演算法

2021-09-26 05:26:49 字數 2638 閱讀 6878

蒙特卡羅方法又稱統計模擬法、隨機抽樣技術,是一種隨機模擬方法,以概率和統計理論方法為基礎的一種計算方法,是使用隨機數(或偽隨機數)來解決很多計算問題的方法。將所求解的問題同一定的概率模型相聯絡,用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法的概率統計特徵,故借用賭城蒙特卡羅命名。

優點:(可以求解複雜圖形的積分、定積分,多維資料也可以很快收斂)

1、能夠比較逼真地描述具有隨機性質的事物的特點及物理實驗過程

2、受幾何條件限制小

3、收斂速度與問題的維數無關

4、具有同時計算多個方案與多個未知量的能力

5、誤差容易確定

6、程式結構簡單,易於實現

缺點:

1收斂速度慢

2誤差具有概率性

3在粒子輸運問題中,計算結果與系統大小有關

所以在使用蒙特卡羅方法時,要「揚長避短」,只對問題中難以用解析(或數值)方法處理的部分,使用蒙特卡羅方法計算,對那些能用解析(或數值)方法處理的部分,應當盡量使用解析方法。

一、專案概況和基本資料的確定(一)識別專案風險

在投資開發專案時,實際情況千差萬別,重要的風險變數也各不相同,這就需要分析人員根據專案的具體情況,運用適當的風險辨識的方法從影響投資的眾多因素中找出關鍵的風險變數。本案例採用「德爾菲法」確定影響該項目的7個主要風險變數:住宅銷售收入(p1*s1)、商業銷售收入(p2*s2)、土地費用(k1)、前期費用(k2)、開發建設費用(k3)、營銷費用(k4)、其他費用(k5)。

(二)確定每個風險變數的概率分布

同樣採用「德爾菲法」估計出以上 7 個風險變數概率分布和其分布函式中的具體引數,如下表所示:

定義財務淨現值npv的模型為:

n pv

=∑t=

1n∑l

=12(

pl∗s

l)t(

p/f,

ic,t

)−∑t

n=1∑

l=15

klt(

p/f,

ic,t

)npv = \sum^n_\sum^2_(pl*sl)_t(p/f,i_c,t)-\sum^n_t = 1\sum^5_kl_t(p/f,i_c,t)

npv=t=

1∑n​

l=1∑

2​(p

l∗sl

)t​(

p/f,

ic​,

t)−t

∑n​=

1l=1

∑5​k

lt​(

p/f,

ic​,

t)其中,(p/

f,ic

,t)=

1(1+

ic)t

(p/f,i_c,t) = \frac^t

(p/f,i

c​,t

)=(1

+ic​

)1​t

,i為基準折現率,n為專案的生命週期。

為了確保模擬結果與實際分布最大限度的接近一致,我們取95%的置信度,擬進行10000次的模擬實驗。進行10000次的模擬,得出甲、乙方案的npv的統計資料

1、通過表 5-5 甲方案的財務淨現值統計值和表 5-6 乙方案的財務淨現值統計值,我們可以出,兩個方案的npv 期望值均大於零,但甲方案的值大於乙方案。

2、進一步對各方案的風險度進行比較,甲方案npv 的標準差為1052.27,而乙的標準差為 2157.44,說明乙方案的偏離程度較大;並且甲方案npv 介於[min:-1833.45,max:4448.76]之間,乙方案npv 在[min:-7334.47,max:5529.92]之間,再次說明乙方案 npv 的風險度大於甲方案。

因此,應該採用甲方案。

通過上面的分析,利用蒙特卡羅方法模擬分析得出的結果與使用傳統的分析技術得出的結果相比,不僅能夠分析風險因素對整個專案預期收益的影響程度,而且還能科學地估計出風險發生的概率大小,並且這樣的估計是建立在充分考慮了多個風險變數共同影響、共同作用的基礎之上,能夠為風險決策者提供有實用價值的決策依據。因此有助於我們對多套投資方案進行篩選比較。

蒙特卡洛演算法

從今天開始要研究sampling methods,主要是mcmc演算法 contents 1.蒙特卡洛介紹 2.蒙特卡洛的應用 3.蒙特卡洛積分 1.蒙特卡洛介紹 蒙特卡羅方法 monte carlo method 也稱統計模擬方法,是二十世紀四十年代中期由於科學技術的 發展和電子計算機的發明,而被...

蒙特卡洛演算法

問題描述 在數值積分法中,利用求單位圓的1 4的面積來求得pi 4從而得到pi。單位圓的1 4面積是乙個扇形,它是邊長為1單位正方形的一部分。只要能求出扇形面積s1在正方形面積s中佔的比例k s1 s就立即能得到s1,從而得到pi的值。怎樣求出扇形面積在正方形面積中佔的比例k呢?乙個辦法是在正方形中...

蒙特卡洛演算法(PAI

在新學期中的繼續學習離散數學中,接觸到蒙特卡洛演算法,解決了我以前幾何圖形求面積不好求的問題,看到十分的開心。蒙特卡洛演算法就是模擬出指定某隨機事件發生的概率,比如我們想要判斷一下兩枚骰子在同時擲出後,同時出現 6 的頻率就可以通過增加實驗執行的次數,來確保該頻率越來越接近該事件發生的概率。也就是實...