我正在尝试模拟参数 theta 的分布f= theta ^(z_f+n+alpha-1)*(1-theta)^(n+1-z_f-k+ beta-1)
,其中除 theta 之外的所有参数都是已知的。我正在使用 Metro Polish hasting 算法进行 MCMC 模拟。我的提案密度是带有参数 alpha 和 beta 的 beta 分布。我的模拟代码如下。为此,我正在使用名为 mhsample() 的 buitlin Matlab 代码,我如何知道我的代码是否正常工作?
clear
clc
alpha=2;
beta=2;
z_f=1;
n=6;
k=5;
nsamples = 3000;
pdf= @(x) x^(z_f+n+alpha-1)*(1-x)^(n+1-z_f-k+beta-1); % here x acts as theta
proppdf= @(x,y) betapdf(x, alpha, beta);
proprnd =@(x) betarnd(alpha,beta,1);
smpl = mhsample(0.1,nsamples,'pdf',pdf,'proprnd',proprnd,'proppdf',proppdf);