




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章:Monte Carlo方法概述講課人:Xaero Chang | 課程主頁: /notes/intro2mc本章主要概述Monte Carlo的一些基礎(chǔ)知識,另外包括一個最簡單的用Monte Carlo方法計算數(shù)值積分的例子。一、Monte Carlo歷史淵源Monte Carlo方法的實(shí)質(zhì)是通過大量隨機(jī)試驗(yàn),利用概率論解決問題的一種數(shù)值方法,基本思想是基于概率和體積間的相似性。它和Simulation有細(xì)微區(qū)別。單獨(dú)的Simulation只是模擬一些隨機(jī)的運(yùn)動,其結(jié)果是不確定的;Monte Carlo在計算的中間過程中出現(xiàn)的數(shù)是隨機(jī)的,但是它要解決的問
2、題的結(jié)果卻是確定的。歷史上有記載的Monte Carlo試驗(yàn)始于十八世紀(jì)末期(約1777年),當(dāng)時布豐(Buffon)為了計算圓周率,設(shè)計了一個“投針試驗(yàn)”。(后文會給出一個更加簡單的計算圓周率的例子)。雖然方法已經(jīng)存在了200多年,此方法命名為Monte Carlo則是在二十世紀(jì)四十年,美國原子彈計劃的一個子項目需要使用Monte Carlo方法模擬中子對某種特殊材料的穿透作用。出于保密緣故,每個項目都要一個代號,傳聞命名代號時,項目負(fù)責(zé)人之一von Neumann靈犀一點(diǎn)選擇摩洛哥著名賭城蒙特卡洛作為該項目名稱,自此這種方法也就被命名為Monte Carlo方法廣為流傳。十一、Monte
3、Carlo方法適用用途(一)數(shù)值積分計算一個定積分,如,如果我們能夠得到f(x)的原函數(shù)F(x),那么直接由表達(dá)式: F(x1)-F(x0)可以得到該定積分的值。但是,很多情況下,由于f(x)太復(fù)雜,我們無法計算得到原函數(shù)F(x)的顯示解,這時我們就只能用數(shù)值積分的辦法。如下是一個簡單的數(shù)值積分的例子。數(shù)值積分簡單示例如圖,數(shù)值積分的基本原理是在自變量x的區(qū)間上取多個離散的點(diǎn),用單個點(diǎn)的值來代替該小段上函數(shù)f(x)值。常規(guī)的數(shù)值積分方法是在分段之后,將所有的柱子(粉紅色方塊)的面積全部加起來,用這個面積來近似函數(shù)f(x)(藍(lán)色曲線)與x軸圍成的面積。這樣做當(dāng)然是不精確的,但是隨著分段數(shù)量增加,
4、誤差將減小,近似面積將逐漸逼近真實(shí)的面積。Monte Carlo數(shù)值積分方法和上述類似。差別在于,Monte Carlo方法中,我們不需要將所有方柱的面積相加,而只需要隨機(jī)地抽取一些函數(shù)值,將他們的面積累加后計算平均值就夠了。通過相關(guān)數(shù)學(xué)知識可以證明,隨著抽取點(diǎn)增加,近似面積也將逼近真實(shí)面積。在金融產(chǎn)品定價中,我們接觸到的大多數(shù)求基于某個隨機(jī)變量的函數(shù)的期望值??紤]一個歐式期權(quán),假定我們已經(jīng)知道在期權(quán)行權(quán)日的股票服從某種分布(理論模型中一般是正態(tài)分布),那么用期權(quán)收益在這種分布上做積分求期望即可。(五)隨機(jī)最優(yōu)化Monte Carlo在隨機(jī)最優(yōu)化中的應(yīng)用包括:模擬退火(Simulated An
5、nealing)、進(jìn)化策略(Evolution strategy)等等。一個最簡單的例子是,已知某函數(shù),我們要求此函數(shù)的最大值,那么我們可以不斷地在該函數(shù)定義域上隨機(jī)取點(diǎn),然后用得到的最大的點(diǎn)作為此函數(shù)的最大值。這個例子實(shí)質(zhì)也是隨機(jī)數(shù)值積分,它等價于求此函數(shù)的無窮階范數(shù)(-Norm)在定義域上的積分。由于在金融產(chǎn)品定價中,這部分內(nèi)容用的相對較不常見,所以此課程就不介紹隨機(jī)最優(yōu)化方法了。十二、Monte Carlo形式與一般步驟(一)積分形式做Monte Carlo時,求解積分的一般形式是:X為自變量,它應(yīng)該是隨機(jī)的,定義域?yàn)?x0, x1),f(x)為被積函數(shù),(x)是x的概率密度。在計算歐式
6、期權(quán)例子中,x為期權(quán)到期日股票價格,由于我們計算期權(quán)價格的時候該期權(quán)還沒有到期,所以此時x是不確定的(是一隨機(jī)變量),我們按照相應(yīng)的理論,假設(shè)x的概率密度為(x)、最高可能股價為x1(可以是正無窮)、最低可能股價為x0(可以是0),另外,期權(quán)收益是到期日股票價格x和期權(quán)行權(quán)價格的函數(shù),我們用f(x)來表示期權(quán)收益。(二)一般步驟我將Monte Carlo分為三加一個步驟:1依據(jù)概率分布(x)不斷生成隨機(jī)數(shù)x, 并計算f(x)由于隨機(jī)數(shù)性質(zhì),每次生成的x的值都是不確定的,為區(qū)分起見,我們可以給生成的x賦予下標(biāo)。如xi表示生成的第i個x。生成了多少個x,就可以計算出多少個f(x)的值2將這些f(x
7、)的值累加,并求平均值例如我們共生成了N個x,這個步驟用數(shù)學(xué)式子表達(dá)就是3到達(dá)停止條件后退出常用的停止條件有兩種,一種是設(shè)定最多生成N個x,數(shù)量達(dá)到后即退出,另一種是檢測計算結(jié)果與真實(shí)結(jié)果之間的誤差,當(dāng)這一誤差小到某個范圍之內(nèi)時退出。有趣的類比:積分表達(dá)式中的積分符合類比為上式中累加符號,dx類比為1/N(數(shù)學(xué)知識告訴我們積分實(shí)質(zhì)是極限意義下的累加;f(x)還是它自己,積分中的(x)可類比為依據(jù)(x)生成隨機(jī)數(shù)4誤差分析Monte Carlo方法得到的結(jié)果是隨機(jī)變量,因此,在給出點(diǎn)估計后,還需要給出此估計值的波動程度及區(qū)間估計。嚴(yán)格的誤差分析首先要從證明收斂性出發(fā),再計算理論方差,最后用樣本方
8、差來替代理論方差。在本課程中我們假定此方法收斂,同時得到的結(jié)果服從正態(tài)分布,因此可以直接用樣本方差作區(qū)間估計。詳細(xì)過程在例子中解釋。這個步驟的理論意義很重要,但在實(shí)際應(yīng)用中,它的重要性有所淡化,倘若你的老板不太懂這些知識,你報告計算結(jié)果時可以只告訴他點(diǎn)估計即可。注意,前兩大步驟還可以繼續(xù)細(xì)分,例如某些教科書上的五大步驟就是將此處的前兩步細(xì)分成四步。十三、最簡單的例子舉個例子:計算從函數(shù)從0到2的定積分值。數(shù)學(xué)方法:我們已知的原函數(shù)是,那么定積分值就是:=6.38905609893065 。計算這個數(shù)值可以在Matlab中輸入代碼:exp(2)-exp(0)上面得到的值是此不定積分的真實(shí)值。常規(guī)
9、數(shù)值積分:在區(qū)間內(nèi)取N個點(diǎn),計算各個點(diǎn)上的函數(shù)值,然后用函數(shù)值乘以每個區(qū)間寬度,最后相加。Matlab代碼:N=100;x=linspace(0,2,N);sum(exp(x).*2/N)試著調(diào)大N的值,你會發(fā)現(xiàn),最后的結(jié)果將更接近真實(shí)值。Monte Carlo數(shù)值積分法:在內(nèi)隨機(jī)取N個點(diǎn),計算各個點(diǎn)上的函數(shù)值,最后求這些函數(shù)值的平均值再乘以2(為何要乘以2在后面小節(jié)詳細(xì)講)??碝atlab代碼:N=100;x=unifrnd(0,2,N,1);mean(2*exp(x)同樣的,通過增大N,這種方法得到的結(jié)果也將越來越接近真實(shí)值。解釋這個例子要求的積分形式是:, 還不完全是形式,我們先做變換,
10、這里是f(x);1/2是(x),它表示,在取值范圍(0,2)區(qū)間內(nèi),x服從均勻分布。前一例子共三條語句,逐句解釋如下:N=100;設(shè)定停止條件,共做N次Monte Carlo模擬。x=unifrnd(0,2,N,1);按照(0,2)區(qū)間均勻分布概率密度對x隨機(jī)抽樣,共抽取N個xi。此句相當(dāng)于第一個步驟中的前半部分。mean(2*exp(x)2*exp(x)作用是對每個xi計算f(xi)的值,共可得到N個值,這個相當(dāng)于第一個步驟后半部分;Mean()函數(shù)的作用是將所有的f(xi)加起來取平均值,相當(dāng)于第二個步驟。這段代碼中的停止條件隱含于N值設(shè)定中,它一次性生成N個x值,完成此次計算后整個程序就
11、結(jié)束了。十四、Monte Carlo方法的優(yōu)點(diǎn)對比前面常規(guī)數(shù)值積分和Monte Carlo數(shù)值積分代碼,同樣數(shù)量的N值也就意味這幾乎相同的計算量常規(guī)數(shù)值積分結(jié)果的精確度要高于Monte Carlo數(shù)值積分的結(jié)果。那么,我們?yōu)楹芜€需要用Monte Carlo來算數(shù)值積分呢?答案的關(guān)鍵在于,常規(guī)數(shù)值積分的精度直接取決于每個維度上取點(diǎn)數(shù)量,維度增加了,但是每個維度上要取的點(diǎn)卻不能減少。在多重積分中,隨著被積函數(shù)維度增加,需要計算的函數(shù)值數(shù)量以指數(shù)速度遞增。例如在一重積分中,只要沿著x軸取N個點(diǎn);要達(dá)到相同大小的精確度,在s重積分中,仍然需要在每個維度上取N個點(diǎn),s個緯度的坐標(biāo)相組合,共需要計算Ns個
12、坐標(biāo)對應(yīng)的f()函數(shù)值。取點(diǎn)越多,會占用計算機(jī)大量內(nèi)存,也需要更長運(yùn)算時間,最終導(dǎo)致這種計算方法不可行! Monte Carlo方法卻不同,不管是積分有多少重,取N個點(diǎn)計算的結(jié)果精確度都差不多。因此,即使在一重積分的情形下,Monte Carlo方法的效率比不過常規(guī)數(shù)值積分,但隨著積分維度增加,常規(guī)數(shù)值積分的速度呈指數(shù)下降,Monte Carlo方法的效率卻基本不變。經(jīng)驗(yàn)表明,當(dāng)積分重數(shù)達(dá)到4重積分甚至更高時,Monte Carlo方法將遠(yuǎn)遠(yuǎn)優(yōu)于常規(guī)數(shù)值積分方法。現(xiàn)在回到金融產(chǎn)品定價,歐式期權(quán)理論定價公式只需要一重積分,此時Monte Carlo方法的效果不明顯,但是如果我們考慮一個亞式期權(quán):
13、期限為1年期,期權(quán)價格基于此1年內(nèi)每天某個時點(diǎn)時的價格,全年共252個交易日,這樣此亞式期權(quán)理論定價公式是一個252重積分。常規(guī)的數(shù)值積分方法,需要取N252個點(diǎn),這個數(shù)有多大,你自己去計算一下就知道了(注意:N取值要遠(yuǎn)遠(yuǎn)大于2),常規(guī)數(shù)值積分方法不可行,只能用Monte Carlo。綜上,如果計算高維度多重積分,如路徑依賴的exotic options(奇異期權(quán))等金融產(chǎn)品定價,我們一般用的方法都是Monte Carlo。十五、Monte Carlo方法原理(選讀)Monte Carlo方法計算的結(jié)果收斂的理論依據(jù)來自于大數(shù)定律,且結(jié)果漸進(jìn)地(Asymptotically)服從正態(tài)分布的理論
14、依據(jù)是中心極限定理。以上兩個屬性都是漸進(jìn)性質(zhì),要進(jìn)行很多次抽樣,此屬性才會比較好地顯示出來,如果Monte Carlo計算結(jié)果的某些高階距存在,即使抽樣數(shù)量不太多,這些漸進(jìn)屬性也可以很快地達(dá)到。這些原理在理論上意義重大,但由于我們一般遇上的Monte Carlo問題都是收斂的、結(jié)果也都是漸進(jìn)正態(tài)分布,所以工作中使用時可以不加考慮。詳細(xì)推導(dǎo)見相關(guān)書籍。第二章:隨機(jī)數(shù)的生成講課人:Xaero Chang | 課程主頁: /notes/intro2mc本章第一節(jié)會簡要復(fù)習(xí)隨機(jī)變量的一些概念,但學(xué)習(xí)本章最好要有一定的數(shù)學(xué)基礎(chǔ)。第二節(jié)主要介紹如何生成一維概率分布的隨機(jī)數(shù),
15、第三節(jié)介紹如何生成高維分布的隨機(jī)數(shù)。最后略提及偽隨機(jī)數(shù)問題的應(yīng)對策略。由前文可知,Monte Carlo積分解決的問題形如,f(x)值只需由x值決定,因此此處最重要的就是如何生成服從(x)概率分布的隨機(jī)數(shù)??梢哉f,正確生成隨機(jī)數(shù),Monte Carlo方法就做完了一半。一、隨機(jī)變量基本概念(一)隨機(jī)變量現(xiàn)實(shí)世界中有很多可以用數(shù)字來衡量的事物,站在當(dāng)前時間點(diǎn)來看,它們在未來時刻的值是不確定的。例如,我們擲一骰子,在它停穩(wěn)前,我們不可能知道擲出多少點(diǎn)(傳說中的賭王除外,哈哈);例如某只股票在明天的股價,沒有人能準(zhǔn)確知曉第二天股票的價格(不然他就發(fā)慘了!)。但是,我們卻可以描述這些事物未來各種值的可
16、能性。(二)離散型隨機(jī)變量離散型隨機(jī)變量最重要的是分布律,即每個取值的概率是多少。例如擲骰子,我們認(rèn)為扔出任何一個點(diǎn)的概率都是1/6。那么擲骰子得到的點(diǎn)數(shù)的分布律如下表:骰子點(diǎn)數(shù)123456概率1/61/61/61/61/61/6(三)連續(xù)性隨機(jī)變量連續(xù)型隨機(jī)變量有兩個重要的概念。概率密度函數(shù)(PDF)和累積概率分布函數(shù)(CDF),具體定義見數(shù)學(xué)書籍。PDF函數(shù)本身不是概率,只有對x的某段區(qū)間中的PDF積分得到的數(shù)值才有概率的含義。CDF是概率的意思,點(diǎn)x上CDF的值表示該隨機(jī)變量可能取值小于x的概率的大小。如圖是正態(tài)分布的PDF和CDF(四)多元分布在這個課程里面,我不將多維的隨機(jī)變量拆分成
17、多個一維的隨機(jī)變量來表述,而是將各個維度組合成一個隨機(jī)變量向量。多元隨機(jī)變量分布需要掌握聯(lián)合分布、邊緣分布和條件分布。聯(lián)合分布和單變量PDF類似,如果將其對隨機(jī)變量某個取值范圍做積分就可以得到隨機(jī)變量最終取值落在該區(qū)間內(nèi)的概率。邊緣分布是只考慮多維隨機(jī)變量中的某一維,其他維度不考慮情況下的PDF條件分布是固定隨機(jī)變量在其他維度的取值,再考慮剩余那個維度上的PDF。如圖是一個二維正態(tài)分布(兩個維度間相關(guān)系數(shù)為0.3)的示意圖。兩個小圖分別是第一和第二維度的邊緣分布PDF圖(都是標(biāo)準(zhǔn)正態(tài)分布PDF)。右上角的大圖是依據(jù)此二維正態(tài)聯(lián)合分布生成的隨機(jī)數(shù)。從隨機(jī)數(shù)的疏密程度可以看出聯(lián)合分布PDF函數(shù)在該
18、區(qū)域的大小。研究這些分布不是我們的目的,只是達(dá)到目的的手段。我們所需要做的事情是生成符合各種分布的隨機(jī)數(shù)。由分布的不同類型連續(xù)型和離散型,常規(guī)型(Matlab中有內(nèi)置函數(shù))和特殊型(Matlab中無內(nèi)置函數(shù)),一維分布和多維分布我們接下來就各種情況分別講述如何在Matlab中生成各種各樣的隨機(jī)數(shù)。十六、一維隨機(jī)數(shù)兩個注意事項:1生成隨機(jī)數(shù)有兩種選擇,可以每次只生成一個隨機(jī)數(shù),直接用此數(shù)計算f(x),然后循環(huán)重復(fù)此過程,最后求平均值;另一種方法是每次生成全部循環(huán)所需的隨機(jī)數(shù),利用Matlab矩陣運(yùn)算語法計算f(x),不需要寫循環(huán),直接即可求平均值。前一種方法代碼簡單,但速度慢;后一種方法代碼相對
19、更難寫。此處一定要掌握如何生成隨機(jī)數(shù)組成的向量和矩陣(單個隨機(jī)數(shù)就是一個1*1的矩陣),在后面章節(jié)的例子里面一般會有兩個版本的代碼分別講述這兩種生成方法。2生成了一維的隨機(jī)數(shù)后,可以用hist()函數(shù)查看這些數(shù)服從的大致分布情況。(一)Matlab內(nèi)部函數(shù)a. 基本隨機(jī)數(shù)Matlab中有兩個最基本生成隨機(jī)數(shù)的函數(shù)。1rand()生成(0,1)區(qū)間上均勻分布的隨機(jī)變量。基本語法:rand(M,N,P .)生成排列成M*N*P. 多維向量的隨機(jī)數(shù)。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:rand(5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式rand(5)
20、 %生成5行5列的隨機(jī)數(shù)矩陣rand(5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣生成的隨機(jī)數(shù)大致的分布。x=rand(100000,1);hist(x,30);由此可以看到生成的隨機(jī)數(shù)很符合均勻分布。(視頻教程會略提及hist()函數(shù)的作用)2randn()生成服從標(biāo)準(zhǔn)正態(tài)分布(均值為0,方差為1)的隨機(jī)數(shù)。基本語法和rand()類似。randn(M,N,P .)生成排列成M*N*P. 多維向量的隨機(jī)數(shù)。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:randn(5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式randn(5) %生成5行5列的隨機(jī)數(shù)矩陣randn
21、(5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣生成的隨機(jī)數(shù)大致的分布。x=randn(100000,1);hist(x,50);由圖可以看到生成的隨機(jī)數(shù)很符合標(biāo)準(zhǔn)正態(tài)分布。b. 連續(xù)型分布隨機(jī)數(shù)如果你安裝了統(tǒng)計工具箱(Statistic Toolbox),除了這兩種基本分布外,還可以用Matlab內(nèi)部函數(shù)生成符合下面這些分布的隨機(jī)數(shù)。3unifrnd()和rand()類似,這個函數(shù)生成某個區(qū)間內(nèi)均勻分布的隨機(jī)數(shù)?;菊Z法unifrnd(a,b,M,N,P,.)生成的隨機(jī)數(shù)區(qū)間在(a,b)內(nèi),排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:un
22、ifrnd(-2,3,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式unifrnd(-2,3,5) %生成5行5列的隨機(jī)數(shù)矩陣unifrnd(-2,3,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)都在(-2,3)區(qū)間內(nèi).生成的隨機(jī)數(shù)大致的分布。x=unifrnd(-2,3,100000,1);hist(x,50);由圖可以看到生成的隨機(jī)數(shù)很符合區(qū)間(-2,3)上面的均勻分布。4normrnd()和randn()類似,此函數(shù)生成指定均值、標(biāo)準(zhǔn)差的正態(tài)分布的隨機(jī)數(shù)。基本語法normrnd(mu,sigma,M,N,P,.)生成的隨機(jī)數(shù)服從均值為mu,標(biāo)準(zhǔn)差為sigma
23、(注意標(biāo)準(zhǔn)差是正數(shù))正態(tài)分布,這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:normrnd(2,3,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式normrnd(2,3,5) %生成5行5列的隨機(jī)數(shù)矩陣normrnd(2,3,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的正態(tài)分布都是均值為2,標(biāo)準(zhǔn)差為3.生成的隨機(jī)數(shù)大致的分布。x=normrnd(2,3,100000,1);hist(x,50);如圖,上半部分是由上一行語句生成的均值為2,標(biāo)準(zhǔn)差為3的10萬個隨機(jī)數(shù)的大致分布,下半部分是用小
24、節(jié)“randn()”中最后那段語句生成10萬個標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)的大致分布。注意到上半個圖像的對稱軸向正方向偏移(準(zhǔn)確說移動到x=2處),這是由于均值為2的結(jié)果。而且,由于標(biāo)準(zhǔn)差是3,比標(biāo)準(zhǔn)正態(tài)分布的標(biāo)準(zhǔn)差(1)要高,所以上半部分圖形更胖(注意x軸刻度的不同)。5chi2rnd()此函數(shù)生成服從卡方(Chi-square)分布的隨機(jī)數(shù)??ǚ椒植贾挥幸粋€參數(shù):自由度v?;菊Z法chi2rnd(v,M,N,P,.)生成的隨機(jī)數(shù)服從自由度為v的卡方分布,這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:chi2rnd(5,5,1) %生
25、成5個隨機(jī)數(shù)排列的列向量,一般用這種格式chi2rnd(5,5) %生成5行5列的隨機(jī)數(shù)矩陣chi2rnd(5,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的卡方分布的自由度都是5生成的隨機(jī)數(shù)大致的分布。x=chi2rnd(5,100000,1);hist(x,50);6frnd()此函數(shù)生成服從F分布的隨機(jī)數(shù)。F分布有2個參數(shù):v1, v2?;菊Z法frnd(v1,v2,M,N,P,.)生成的隨機(jī)數(shù)服從參數(shù)為(v1,v2)的卡方分布,這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:frnd(3,5,
26、5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式frnd(3,5,5) %生成5行5列的隨機(jī)數(shù)矩陣frnd(3,5,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(v1=3,v2=5)的F分布生成的隨機(jī)數(shù)大致的分布。x=frnd(3,5,100000,1);hist(x,50);從結(jié)果可以看出來, F分布集中在x正半軸的左側(cè),但是它在極端值處也很可能有一些取值。7trnd()此函數(shù)生成服從t(Student's t Distribution,這里Student不是學(xué)生的意思,而是Cosset.W.S.的筆名)分布的隨機(jī)數(shù)。t分布有1個參數(shù):自由度
27、v?;菊Z法trnd(v,M,N,P,.)生成的隨機(jī)數(shù)服從參數(shù)為v的t分布,這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:trnd(7,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式trnd(7,5) %生成5行5列的隨機(jī)數(shù)矩陣trnd(7,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(v=7)的t分布生成的隨機(jī)數(shù)大致的分布。x=trnd(7,100000,1);hist(x,50);可以發(fā)現(xiàn)t分布比標(biāo)準(zhǔn)正太分布要“瘦”,不過隨著自由度v的增大,t分布會逐漸變胖,當(dāng)自由度為正無窮時,
28、它就變成標(biāo)準(zhǔn)正態(tài)分布了。接下來的分布相對沒有這么常用,同時這些函數(shù)的語法和前面函數(shù)語法相同,所以寫得就簡略一些在視頻中也不會講述,你只需按照前面那幾個分布的語法套用即可,應(yīng)該不會有任何困難時間足夠的話這是一個不錯的練習(xí)機(jī)會。8betarnd()此函數(shù)生成服從Beta分布的隨機(jī)數(shù)。Beta分布有兩個參數(shù)分別是A和B。下圖是A=2,B=5 的beta分布的PDF圖形。生成beta分布隨機(jī)數(shù)的語法是:betarnd(A,B,M,N,P,.)9exprnd()此函數(shù)生成服從指數(shù)分布的隨機(jī)數(shù)。指數(shù)分布只有一個參數(shù): mu, 下圖是mu=3時指數(shù)分布的PDF圖形生成指數(shù)分布隨機(jī)數(shù)的語法是:betarnd(
29、mu,M,N,P,.)10gamrnd()生成服從Gamma分布的隨機(jī)數(shù)。Gamma分布有兩個參數(shù):A和B。下圖是A=2,B=5 Gamma分布的PDF圖形生成Gamma分布隨機(jī)數(shù)的語法是:gamrnd(A,B,M,N,P,.)11lognrnd()生成服從對數(shù)正態(tài)分布的隨機(jī)數(shù)。其有兩個參數(shù):mu和sigma,服從這個這樣的隨機(jī)數(shù)取對數(shù)后就服從均值為mu,標(biāo)準(zhǔn)差為sigma的正態(tài)分布。下圖是mu=-1, sigma=1/1.2的對數(shù)正態(tài)分布的PDF圖形。生成對數(shù)正態(tài)分布隨機(jī)數(shù)的語法是:lognrnd(mu,sigma,M,N,P,.)12raylrnd()生成服從瑞利(Rayleigh)分布的
30、隨機(jī)數(shù)。其分布有1個參數(shù):B。下圖是B=2的瑞利分布的PDF圖形。生成瑞利分布隨機(jī)數(shù)的語法是:raylrnd(B,M,N,P,.)13wblrnd()生成服從威布爾(Weibull)分布的隨機(jī)數(shù)。其分布有2個參數(shù):scale 參數(shù) A和shape 參數(shù) B。下圖是A=3,B=2的Weibull分布的PDF圖形。生成Weibull分布隨機(jī)數(shù)的語法是:wblrnd(A,B,M,N,P,.)還有非中心卡方分布(ncx2rnd),非中心F分布(ncfrnd),非中心t分布(nctrnd), 括號中是生成服從這些分布的函數(shù),具體用法用:help 函數(shù)名查找。c. 離散型分布隨機(jī)數(shù)離散分布的隨機(jī)數(shù)可能的取
31、值是離散的,一般是整數(shù)。14unidrnd()此函數(shù)生成服從離散均勻分布的隨機(jī)數(shù)。Unifrnd是在某個區(qū)間內(nèi)均勻選取實(shí)數(shù)(可為小數(shù)或整數(shù)),Unidrnd是均勻選取整數(shù)隨機(jī)數(shù)。離散均勻分布隨機(jī)數(shù)有1個參數(shù):n, 表示從1, 2, 3, . N這n個整數(shù)中以相同的概率抽樣?;菊Z法:unidrnd(n,M,N,P,.)這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:unidrnd(5,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式unidrnd(5,5) %生成5行5列的隨機(jī)數(shù)矩陣unidrnd(5,5,4) %生成一個
32、5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(10,0.3)的二項分布生成的隨機(jī)數(shù)大致的分布。x=unidrnd(9,100000,1);hist(x,9);可見,每個整數(shù)的取值可能性基本相同。15binornd()此函數(shù)生成服從二項分布的隨機(jī)數(shù)。二項分布有2個參數(shù):n,p??紤]一個打靶的例子,每槍命中率為p,共射擊N槍,那么一共擊中的次數(shù)就服從參數(shù)為(N,p)的二項分布。注意p要小于等于1且非負(fù),N要為整數(shù)?;菊Z法:binornd(n,p,M,N,P,.)生成的隨機(jī)數(shù)服從參數(shù)為(N,p)的二項分布,這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參
33、數(shù)為M,N可以省略掉方括號。一些例子:binornd(10,0.3,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式binornd(10,0.3,5) %生成5行5列的隨機(jī)數(shù)矩陣binornd(10,0.3,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(10,0.3)的二項分布生成的隨機(jī)數(shù)大致的分布。x=binornd(10,0.45,100000,1);hist(x,11);我們可以將此直方圖解釋為,假設(shè)每槍射擊命中率為0.45,每論射擊10次,共進(jìn)行10萬輪,這個圖就表示這10萬輪每輪命中成績可能的一種情況。16geornd()此函數(shù)生成服從幾何分
34、布的隨機(jī)數(shù)。幾何分布的參數(shù)只有一個:p。幾何分布的現(xiàn)實(shí)意義可以解釋為,打靶命中率為p,不斷地打靶,直到第一次命中目標(biāo)時沒有擊中次數(shù)之和。注意p是概率,所以要小于等于1且非負(fù)。基本語法:geornd(p,M,N,P,.)這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:geornd(0.4,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式geornd(0.4,5) %生成5行5列的隨機(jī)數(shù)矩陣geornd(0.4,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(0.4)的二項分布生成的隨機(jī)數(shù)大致
35、的分布。x=geornd(0.4,100000,1);hist(x,50);17poissrnd()此函數(shù)生成服從泊松(Poisson)分布的隨機(jī)數(shù)。泊松分布的參數(shù)只有一個:lambda。此參數(shù)要大于零。基本語法:geornd(p,M,N,P,.)這些隨機(jī)數(shù)排列成M*N*P. 多維向量。如果只寫M,則生成M*M矩陣;如果參數(shù)為M,N可以省略掉方括號。一些例子:poissrnd(2,5,1) %生成5個隨機(jī)數(shù)排列的列向量,一般用這種格式poissrnd(2,5) %生成5行5列的隨機(jī)數(shù)矩陣poissrnd(2,5,4) %生成一個5行4列的隨機(jī)數(shù)矩陣%注:上述語句生成的隨機(jī)數(shù)所服從的參數(shù)為(2)
36、的泊松分布生成的隨機(jī)數(shù)大致的分布。x=poissrnd(2,100000,1);hist(x,50);其他離散分布還有超幾何分布(Hyper-geometric, 函數(shù)是hygernd)等,詳細(xì)見Matlab幫助文檔。(六)特殊連續(xù)分布這里我將Matlab中沒有對應(yīng)函數(shù)的分布稱為特殊分布。有多種方法可以用于生產(chǎn)服從這些分布的隨機(jī)數(shù)。這里主要介紹兩種最常見的。1逆CDF函數(shù)法如果我們已知某特定一維分布的CDF函數(shù),經(jīng)過如下幾個步驟即可生成符合該分布的隨機(jī)數(shù)。(其中數(shù)學(xué)推導(dǎo)等在此處略去,詳見相關(guān)數(shù)學(xué)書籍)1. 計算CDF函數(shù)的反函數(shù):2. 生成服從(0,1)區(qū)間上均勻分布的初始隨機(jī)數(shù)a3. 令x=
37、,則x即服從我們需要的特定分布的隨機(jī)數(shù)。為了更形象解說這種方法,這里選取柯西(Cauchy)分布作為例子。有時也稱其為洛侖茲分布或者 Breit-Wigner 分布??挛鞣植加幸淮筇攸c(diǎn)就是,它是肥尾(Fat-tail,又譯作胖尾)分布。在金融市場中,肥尾分布越來越受到重視,因?yàn)樵趥鹘y(tǒng)的正態(tài)分布基本不考慮像當(dāng)前次貸危機(jī)等極端情況,而肥尾分布則能很好地將很極端的情形考慮進(jìn)去。上圖是Cauchy 分布和標(biāo)準(zhǔn)正態(tài)分布PDF圖對比,看看是不是Cauchy分布的尾巴(x軸兩端)更“胖”一點(diǎn)?柯西分布的PDF函數(shù)是:簡化起見我們只考慮x0=0, =1情形。此時PDF函數(shù)是:PDF函數(shù)對x作積分,就得到CDF
38、函數(shù)(推導(dǎo)過程略):現(xiàn)在我們套用這三個步驟來生成服從Cauchy分布的隨機(jī)數(shù):1. 計算得到Cauchy分布CDF函數(shù)的反函數(shù)為: 2. 使用rand()函數(shù)生成(0,1)區(qū)間上均勻分布的初始隨機(jī)數(shù)。我習(xí)慣一次生成一堆這種隨機(jī)數(shù)。original_x=rand(1,100000);3. 將初始隨機(jī)數(shù)代入CDF反函數(shù)即可得到我們需要的Cauchy隨機(jī)數(shù)。cauchy_x=tan(original_x-1/2)*pi);上面這兩句代碼結(jié)合起來就生成了10萬個服從參數(shù)為(x0=0, =1)Cauchy分布的隨機(jī)數(shù)。這種方法生成隨機(jī)數(shù)與Cauchy分布有多大相似之處呢?這里有一個圖可以說明:藍(lán)色的圖形
39、就是用hist畫出的隨機(jī)數(shù)的樣本分布情況,紅色線條是Cauchy分布理論的PDF圖形。由此可看出生成的隨機(jī)數(shù)挺符合Cauchy分布。注意:上圖中,我略去了x軸小于-12.5和大于12.5部分的圖形因?yàn)镃auchy是胖尾分布,會生成出的不少取值很大的隨機(jī)數(shù),而那些很大的值使得我們不方便用hist函數(shù)來畫隨機(jī)數(shù)分布圖。注意,這種方法本身雖然很簡單,效率也很高,但有如下受限之處:1它有個可能會出錯的地方,有的CDF函數(shù)的反函數(shù)在0或者1處的值是正/負(fù)無窮,例如此處的Cauchy分布就是這樣,倘若用(0,1)均勻分布產(chǎn)生的初始隨機(jī)數(shù)中包含0或者1,那么這個程序會出錯。幸運(yùn)的是,迄今為止,我用Matla
40、b的rand()函數(shù)生成的隨機(jī)數(shù)中還沒有出現(xiàn)過0或者1。但不同版本的Matlab的這種情況也許會改變。此處提醒你,如果程序出錯,不要忘記檢查是否是這個錯誤。2CDF函數(shù)必須嚴(yán)格單調(diào)遞增,這也就意味著,PDF函數(shù)在x定義域內(nèi)必須處處嚴(yán)格大于零,否則CDF的反函數(shù)不存在。3即使CDF函數(shù)存在,如果它太復(fù)雜,可能導(dǎo)致計算速度太慢,甚至無法計算的后果。2接受/拒絕法 Acceptance-Rejection MethodAccelptence-Rejection方法的精髓在于“形似”,可以形象地將其比喻為制作冰雕二者相同之處在于都要首先堆砌出雛形,然后再用將多出的部分削去。用此法生成服從f(x)分布的
41、隨機(jī)數(shù),分為如下幾大步驟:1首先,選用某個分布,如pdf為g(x)的分布,此時要計算一個常數(shù)c, 使得,對x定義域內(nèi)任意的x都成立這相當(dāng)于使cg(x)圖形完全“覆蓋”住f(x)圖形,容易理解,做冰雕時,最初堆出來的那堆冰塊要比最終得到的雕塑大。2生成服從pdf為g(x)分布的隨機(jī)數(shù),假設(shè)生成的隨機(jī)數(shù)為x0。3再生成一個服從(0,1)間的均勻分布的隨機(jī)數(shù)y4如果,丟棄生成的x0;反之,生成的x0就是我們需要的、服從f(x)分布的隨機(jī)數(shù)。下面用一個例子結(jié)合圖形解釋這種方法,假設(shè)我們要生成的分布是:,此pdf圖形如下圖的藍(lán)色曲線。1我們選用(0,2)之間的均勻分布作為原始分布,即g(x)=0.5,此
42、分布的pdf圖見下圖中的綠色線。由條件:無論哪個x,都要成立,我們計算得到c要大于等于10.8。這種情況下,我們一般選擇c=1.875。因?yàn)閏選得越大,意味著我們堆砌的原始雛形越大,需要削去的部分越多,效率越低,所以我們要使得c盡量地小。2生成服從(0,2)之間的均勻分布的隨機(jī)數(shù),設(shè)它為x0X0=unifrnd(0,2);3然后再生成一個服從(0,1)間的均勻分布的隨機(jī)數(shù)yY=rand;4如果,丟棄生成的x0,重新生成;反之,生成的x0就是我們需要的、服從f(x)分布的隨機(jī)數(shù),用于做后續(xù)計算。以上步驟每次只能處理一個隨機(jī)數(shù),效率較低,下面這段代碼可以一次性生成一堆隨機(jī)數(shù)。N=400000;c=
43、1.875;gx=0.5x0=unifrnd(0,2,1,N);y=rand(1,N);fx0=(x0-0.5).*(x0-0.5)/2.4;final_x=x0(y<=fx0./c/gx);在視頻教程中我會逐句解釋每句含義,如果沒聽懂,一般是因?yàn)槟銓atlab向量運(yùn)算不熟悉,請參照Matlab基礎(chǔ)教程學(xué)習(xí)此部分的內(nèi)容,后面章節(jié)會有很多地方用得上。這段語句生成的變量final_x即為服從f(x)分布的隨機(jī)數(shù)組成的一個行向量。我們可以用hist查看這些隨機(jī)數(shù)大致的分布。hist(final_x,50);title('f(x)=(x-0.5)2/2.4');如圖所示,生成的
44、隨機(jī)數(shù)挺符合f(x)分布。這種方法很簡單,也不需要計算CDF函數(shù)的反函數(shù),但它也有如下受限之處:1由于我們用隨機(jī)數(shù)y來控制是否削去某個隨機(jī)數(shù)x0,所以我們無法準(zhǔn)確預(yù)知最終得到的隨機(jī)數(shù)數(shù)量多少。2選擇合適的g(x)分布是此方法最關(guān)鍵的技巧所在。g(x)的選擇原則是在完全覆蓋f(x)的前提下盡可能與f(x)形似,二者形狀越相似,需要削去的部分就越少,這種方法的效率就越高。需要記住的是:很多時候,人們不選用這種方法的原因幾乎都在于它的效率過低。(七)特殊離散分布離散分布關(guān)鍵在獲得它的分布律,有了分布律我們計算骰子擲出點(diǎn)數(shù)小于等于某個數(shù)字的累積概率分布。一個簡單的例子,假設(shè)我們有一個不均勻的骰子,獲得
45、六個點(diǎn)數(shù)的概率分別是:點(diǎn)數(shù)123456概率累積點(diǎn)數(shù)123456累積概率0.60.81生成符合該分布隨機(jī)數(shù)的步驟是:1生成一個(0,1)間均勻分布的隨機(jī)數(shù)x0。2依據(jù)x0介于累積概率哪個區(qū)間來決定擲出骰子的點(diǎn)數(shù)x。如0<x0<=0.1,則點(diǎn)數(shù)x為1,., 0.8<x0<=1,點(diǎn)數(shù)x為6。代碼是x0=rand;if x0<0.1x=1;elseif x0<0.3x=2;elseif x0<0.4x=3elseif x0<0.6x=4elseif x0<0.8x=5elsex=6end這段語句
46、能生成一個服從上表中離散分布的隨機(jī)數(shù)x,如果生成多個x,可以用循環(huán)語句,也可以考慮將上述代碼向量化。下圖是我用上述代碼生成10萬個隨機(jī)數(shù)所畫出的分布直方圖,可見這些隨機(jī)數(shù)很符合上表中的分布律。十七、生成多維聯(lián)合分布隨機(jī)數(shù)一維隨機(jī)變量是標(biāo)量(也就是指單獨(dú)的一個數(shù)字),而多維隨機(jī)變量是一個向量。一個n維隨機(jī)變量x是有n個分量的向量,(X0,X1,.,Xn),用f(X0,X1,.,Xn)表示聯(lián)合分布,用fk(Xk)表示第k維的邊緣分布,用fk(Xk|X1=x1,X2=x2,.Xk-1=xk-1, Xk+1=xk+1,.,Xn=xn)表示當(dāng)分量X1=x1,X2=x2,.Xk-1=xk-1, Xk+1=
47、xk+1,.,Xn=xn時第k個分量xk的分布。這里大寫X表示隨機(jī)變量某個維度上的分量,小寫x表示具體的數(shù)值。關(guān)于邊緣分布、條件分布、聯(lián)合分布一定要明白,這些都是基礎(chǔ)數(shù)學(xué)知識,非本課程內(nèi)容。如果手頭沒有書,通過google搜索或上維基百科臨陣磨槍也是可以的。各種生成多維分布隨機(jī)數(shù)的方法一般步驟都是,逐個維度生成隨機(jī)數(shù)分量,最后將這些分量依次組合起來如先生成x0,再x1,.,最后xn,,最終寫成(x0,x1,.,xn)。在詳細(xì)講如何生成這些分量前,我們講講如何儲存生成的隨機(jī)數(shù)。如果一次生成一個n維的隨機(jī)數(shù)向量,可以用n變量來儲存這個隨機(jī)數(shù)的n個分量,也可以將這n個分量按照次序(次序不能亂)存于一
48、個1*n的行向量中。如果一次生成隨機(jī)數(shù)的數(shù)量很多,例如N個隨機(jī)數(shù),前面兩種辦法都可以用,即可用n個變量來儲存這些隨機(jī)數(shù)的每個分量,此時每個變量是N*1的列向量;也可以只用一個N*n矩陣儲存隨機(jī)數(shù)所有分量,這個矩陣每一行是一個服從規(guī)定的聯(lián)合分布的隨機(jī)數(shù),共有N行即表示共儲存N個這樣的隨機(jī)數(shù),矩陣的每一列表示這N個隨機(jī)數(shù)的一個維度上的分量,共有n個維度。(一)最簡單的各維度獨(dú)立各維度獨(dú)立的聯(lián)合分布隨機(jī)數(shù)的生成最為方便,由于聯(lián)合分布函數(shù)就是每個維度邊緣分布函數(shù)的直接乘積,所以只要分別生成每個維度的隨機(jī)數(shù)分量,然后組合成隨機(jī)數(shù)向量即可得到服從該聯(lián)合分布的隨機(jī)數(shù)。例子1,生成一個在0x2,0y2,正方形
49、區(qū)域上的二維均勻分布。二維均勻分布在每個維度上都是均勻分布(即兩個維度的邊緣分布都是(0,2)上的均勻分布),且兩個維度互相獨(dú)立。用第一種存儲方法,x=unifrnd(0,2);y=unifrnd(0,2);則每個維度上分別生成一個服從(0,2)均勻分布并分別儲存在x,y這兩個變量中。如果一次生成多個隨機(jī)數(shù),如N個,可用N=400;x=unifrnd(0,2,N,1);y=unifrnd(0,2,N,1);這里x,y都是N*1大小的列向量,分布存儲著這N個隨機(jī)數(shù)的第一維和第二維兩個分量。我們看看這些隨機(jī)數(shù)是否很好得符合二維均勻分布特性。scatter(x,y);接著,我們看看用上述第二種存儲方
50、法,X=x,y;緊接著第一種存儲方法中的語句,我們將生成的兩個分量組合起來儲存到一個變量中。當(dāng)然這里還有一種取巧的辦法,由于兩個維度的邊緣分布都相同且獨(dú)立,我們只需用unifrnd函數(shù)一次性生成一個N*n大小的矩陣就可以了。X=unifrnd(0,2,N,2);例子2,我們要生成的隨機(jī)數(shù)服從一個三維聯(lián)合分布,其第一維邊緣分布服從標(biāo)準(zhǔn)正太,第二維邊緣分布是自由度為4的t分布,第三維邊緣分布是自由度為(7,8)的F分布,各個維度邊際的邊緣分布之間相互獨(dú)立。我們只要用如下代碼:x1=randx2=trnd(4)x3=frnd(7,8)x=x1,x2,x3x1,x2,x3分布儲存三個維度的分量(第一種
51、存儲方法),將這些分量組合起來存入x中(第二種存儲方法)。如果要一次就能生成一堆這樣的隨機(jī)數(shù)??梢杂萌缦碌拇a:N=1000;x=rand(N,1),trnd(4,N,1),frnd(7,8,N,1);這段代碼略過了中間過程,直接生成第二種存儲方法所說的矩陣,這個矩陣大小為N*3,我們可以大致觀察該聯(lián)合分布在每個區(qū)域內(nèi)的概率密度的大小。scatter3(x(:,1),x(:,2),x(:,3),'marker','.','sizedata',1);注:x(:,1)表示將x矩陣的第一列(也即隨機(jī)數(shù)第一維上的分量)提取出來。點(diǎn)越密集的地方,該聯(lián)合分布
52、概率密度函數(shù)的值越大。你可以在Matlab中旋轉(zhuǎn)圖形更細(xì)致觀察該分布。特別的,分別從x,y,z三個軸的角度看次圖形的橫截面圖可以分別看到此三維度邊緣分布的大致分布圖形。(二)最常用的協(xié)方差陣生成多元正態(tài)分布一個n維的隨機(jī)變量,其協(xié)方差矩陣為一個n*n大小的矩陣,該矩陣對角線上的元素是隨機(jī)變量各個分量的方差,矩陣其他位置的元素是各維分量兩兩之間的協(xié)方差;此隨機(jī)變量的相關(guān)系數(shù)矩陣也是一個n*n大小的矩陣,該矩陣對角線上的元素都是1,其他位置的元素是各維分量兩兩之間的相關(guān)系數(shù)。這兩個矩陣關(guān)系非常密切。更詳細(xì)的內(nèi)容請參考數(shù)學(xué)書籍。協(xié)方差矩陣及相關(guān)系數(shù)矩陣揭示了不同緯度之間的線性相關(guān)關(guān)系,它只是高維隨機(jī)
53、變量的部分性質(zhì),一般而言,僅僅依據(jù)協(xié)方差矩陣或相關(guān)系數(shù)矩陣再加上各維度的邊緣分布信息,我們還不能確定此隨機(jī)變量的聯(lián)合分布。如下例子:下表是一個兩維的離散型隨機(jī)變量。兩個維度的邊緣分布都是(1/4,1/2,1/4),兩維間相關(guān)系數(shù)是0.維度1維度2-101此維邊緣分布-101/401/401/401/41/2101/401/4此維邊緣分布1/41/21/4下表也是一個兩維的離散型隨機(jī)變量。兩個維度的邊緣分布都是(1/4,1/2,1/4),兩維間相關(guān)系數(shù)是0。但是這兩個表的聯(lián)合分布是不同的,即二者是兩個不同的隨機(jī)變量。這個例子說明邊緣分布加相關(guān)系數(shù)并不能完全代表多維分布的所有信息。維度1維度2-1
54、01此維邊緣分布-11/801/81/4001/201/211/801/81/4此維邊緣分布1/41/21/4但是有一類特殊的分布:多元正態(tài)分布,它的全部信息可以濃縮成邊緣分布加相關(guān)系數(shù)。多元正態(tài)分布的邊緣分布都是正太分布,只要我們知道每個維度上的邊際正太分布的均值和標(biāo)準(zhǔn)差,再加上相關(guān)系數(shù)矩陣,我們就可以得到整個聯(lián)合分布。此節(jié)所述方法的步驟:1依照給定的邊緣分布的均值和標(biāo)準(zhǔn)差,分別獨(dú)立地生成各個維度上的符合正態(tài)分布的隨機(jī)數(shù)。并依次序組合成一個向量。2將相關(guān)系數(shù)矩陣作Cholesky分解3用分解得到的矩陣乘以第一步中生成的向量即可得到我們需要的隨機(jī)數(shù)。例子1:假定我們要生成一個三維的多元正態(tài)分布
55、。各個維度均值標(biāo)準(zhǔn)差如下表:維度均值標(biāo)準(zhǔn)差1232-12301相關(guān)系數(shù)矩陣如下表:1詳細(xì)做法:1生成各維度上的獨(dú)立的正態(tài)分布隨機(jī)數(shù)。注:此處代碼一次性生成10萬個三維正態(tài)分布隨機(jī)數(shù),這些數(shù)組成了一個100000*3大小的矩陣。N=100000;x0=normrnd(2,3,N,1),normrnd(-1,2,N,1),normrnd(0,1,N,1);2將系數(shù)矩陣R做Cholesky分解得到矩陣L。R=1,0.3,0.4;0.3,1,0.2;0.4,0.2,1;L=chol(R);3計算x0*L,即可得到10萬個符合上述二表中條件要求的多元正態(tài)分布隨機(jī)數(shù),這些隨機(jī)數(shù)被存儲在一個100000*3大小矩陣中。x=x0*L;注意,最后一個語句是矩陣乘法,L和x0的次序不能顛倒,否則會出錯。例子2:生成本章第一節(jié)第三小節(jié)“多元分布”中所述相關(guān)系數(shù)為0.3的二維正太分布隨機(jī)數(shù)。1這個二維分布在每個維度上的邊緣分布都是標(biāo)準(zhǔn)正太。所以我們先生成由標(biāo)準(zhǔn)正太隨機(jī)數(shù)組成的N*2矩陣N=1000;x0=randn(N,2);2由兩個維度間相關(guān)系數(shù)為0.3,可以知道其相關(guān)系數(shù)矩陣,并作Cholesky分解R=1,0.3;0.3,1;L=chol(R);3最后計算x0*L,即可得到10萬個符合上述二表中條件要求的多元正態(tài)分布隨機(jī)數(shù),這些隨機(jī)數(shù)被存儲在一個100000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺析新課標(biāo)下高中化學(xué)探究性教學(xué)新思路
- 中西醫(yī)結(jié)合腫瘤病學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春湖南中醫(yī)藥大學(xué)
- 注漿小導(dǎo)管施工方案
- 站臺門設(shè)備故障現(xiàn)場處置方案演練腳本
- 財務(wù)會計:財務(wù)會計的基本理論-習(xí)題與答案
- 財務(wù)比率分析習(xí)題與答案
- 物理(湖北卷)(參考答案)
- 河北省唐山市豐南區(qū)2024-2025學(xué)年八年級上學(xué)期期末考試物理試題(原卷版+解析版)
- 稅收籌劃在科技型上市母子公司間的應(yīng)用及風(fēng)險探究
- 廈門水務(wù)集團(tuán)自來水收費(fèi)系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- 《中醫(yī)美容》課件
- 2023年高考真題-歷史(遼寧卷) 含解析
- 2024年中國主題公園競爭力評價報告-中國主題公園研究院
- 2024年中國電動紅外線槍玩具市場調(diào)查研究報告
- 2023年湖北省生態(tài)環(huán)保有限公司招聘考試真題
- 化療藥物外滲的預(yù)防及處理-2
- 員工安全風(fēng)險辨識及管控措施
- DB35T 1933-2020 熔融沉積3D打印品幾何精度評價規(guī)范
- 《連續(xù)性腎替代治療容量評估與管理專家共識》解讀課件
- 健康產(chǎn)業(yè)數(shù)字化服務(wù)平臺建設(shè)及運(yùn)營模式
- Python開發(fā)工程師招聘筆試題及解答(某大型國企)
評論
0/150
提交評論