MATLAB多維T分布蒙特卡洛?

現有一個多變數(3維)T分布的聯合分布,聯合分布的三個參數:自由度,均值向量,sigma矩陣都已經有了,請問能否用matlab實現產生一個該聯合分布律下的隨機向量(三個隨機值的向量)?


好問題,我先碼了

(我想說我暫時不答的原因是新版答案編輯器動不動就蹦,公式還比以前爛


如果你安裝有統計工具箱,那麼有直接現成的函數—— mvtrnd


我來提供一點正規的學術界信息吧。多元正態和多元t分布的計算與模擬,相關的理論和程序演算法請參考Alan Genz的主頁(http://www.math.wsu.edu/faculty/genz/homepage)

這位華盛頓大學的教授在多元正態和多元t分布的計算與模擬方面著作頗豐。

  • Alan Genz and Frank Bretz: Computation of Multivariate Normal and t Probabilities, Lecture Notes in Statistics 195, 2009, Springer-Verlag, New York.
  • Alan Genz: Numerical Computation of Rectangular Bivariate and Trivariate Normal and t Probabilities (PDF, Postscript ), revised version published in Statistics and Computing, 14 (2004), pp. 151-160.
  • Alan Genz, Frank Bretz and Yosef Hochberg: Approximations to Multivariate t Integrals with Application to Multiple Comparison Procedures (PDF, Postscript ), revised version in Recent Developments in Multiple Comparison Procedures, Institute of Mathematical Statistics LNMS 47, 2004, pp. 24-32.
  • Alan Genz and Frank Bretz: Methods for the Computation of Multivariate t-Probabilities (PDF, Postscript ), revised version publisehd in J. Comp. Graph. Stat. 11 (2002), pp. 950-971.
  • Alan Genz and Koon-Shing Kwong: Numerical Evaluation of Singular Multivariate Normal Distributions (PDF, Postscript, ); revised version published in J. Stat. Comp. Simul. 68 (2000), pp. 1-21.
  • Alan Genz and Frank Bretz: Numerical Computation of Multivariate t-Probabilities with Application to Power Calculation of Multiple Contrasts (PDF, Postscript ); revised version published in J. Stat. Comp. Simul. 63 (1999), pp. 361-378.
  • Alan Genz: Comparison of Methods for the Computation of Multivariate Normal Probabilities (Postscript) revised version published in Computing Science and Statistics 25 (1993), pp. 400-405.
  • Alan Genz: Numerical Computation of Multivariate Normal Probabilities (PDF, Postscript ); revised version published in J. Comp. Graph Stat. 1 (1992), pp. 141-149.


可以,我現在就給你基本的代碼框架,有些小問題因為再用電腦上沒有MATLAB無法完善了,那個根據df,vector of mean 和sigma生成聯合概率分布的函數我不知道哪一個,所以我換了個mvtrnd()的函數,這個函數不需要用到你說的3個,用到的是自由度,生成數據數目和協方差矩陣。題主到時候自己換一下就可以了。樓主如果知道函數代碼是什麼,記得也給我發一個,謝謝哈。或者樓主如果自己編了這個函數,偷偷告訴我一下唄。

以下正文

for i=[1:1000] %進行1000次模擬

x=200; %模擬步數為200步

T=mvtrnd([1 -0.9;-0.9 1],30,200); %生成一組二維數組,自由度30,生成200個數據,協方差矩陣 為[1 -0.9 ;-0.9 ]

plot(x,T)

hold on

end

我回家了,運行了一遍,沒有問題,圖形類似於一個白雜訊,還沒有做平穩性檢驗,不過基本沒有大出入了。

不光光是多元T分布,其他分布的一般步驟都是這樣,而且這樣跑速度很快的。


可以通過multivariate normal variance mixture實現,x~t(d,mu,sigma)

x=mu+sqrt(w)chol(sigma)z

當z是正態,w是Ig(d/2,d/2)時候就是t了。

另外,ig可以通過正態生成卡方再倒過來來獲得。

btw好像matlab有函數可以直接實現我忘了。


推薦閱讀:

金融專業,學matlab和R哪個好?
金融工程,量化投資學什麼軟體好?Python還是Matlab?
Data Science 和 Finance 兩個領域的融合是什麼樣子的?
羅格斯金融數學和紐大tandon金工的選擇?
標的價格或者 implied vol 變化很大時 Greeks P&L 該如何分解?

TAG:MATLAB | 統計 | 金融數學 | 概率論 | 金融工程學 |