[程式] Matlab的Metropolis-Hastings函式

看板Statistics作者 (豪宅)時間14年前 (2011/04/29 23:28), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: Matlab [程式問題]: Matlab的Metropolis-Hastings演算法函式mhsample [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 目前正在用MCMC方法來sampling參數,就使用matlab裡面的這個函式mhsample 由於不是統計科系,所以對Metropolis-Hastings演算法的了解是參考下面這篇介紹 http://web.ntpu.edu.tw/~ccw/statmath/M_mcmc.pdf 就我看完的認知(M_mcmc.pdf中P.6的範例) sigma = sqrt(.5); tarpdf = @(x) normpdf(x); % target pdf proppdf = @(x,y) normpdf(y,x,sigma); %proposal pdf q(y|x) proprnd = @(x) normrnd(x,sigma);%generate samples from proposal pdf nsamples = 1500; z = mhsample(1,nsamples,’pdf’,tarpdf,’proprnd’,proprnd,’symmetric’,1); histfit(z,50) target pdf 應該是指一個存在的分佈,這裡是Gaussian 然後sample出的參數最後會穩定成target pdf這個分佈 proppdf 應該是指 y(k+1) ~ Gaussian(y(k);0,sigma) k是指時間點 proprnd 亂數產生一個Gaussian(0,sigma)分佈,從這個分佈來得到y 想問問看我這樣的想法有沒有錯? 還有proppdf和proprnd這兩個似乎不一定要和target pdf是相同分佈? (Matlab中的範例 http://www.mathworks.com/help/toolbox/stats/mhsample.html 就非相同 ) 非常感謝<(_ _)> 想說先把觀念搞清楚 ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.165.54.226

04/29 23:41, , 1F
go to "MATLAB Answers" where you'll see surprises
04/29 23:41, 1F
文章代碼(AID): #1Dkja8zn (Statistics)