[程式] Matlab的Metropolis-Hastings函式
------------------------------------------------------------------------
[軟體程式類別]:
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
04/29 23:41, 1F