主要内容

mhsample

pmmh样本

语法

SMPL = mhsample(start,nsamples,'pdf',pdf,'proppdf',proppdf, ' proprund ', proprund)
smpl = mhsample(…,对称,对称)
smpl = mhsample(…,“燃烧”,K)
smpl = mhsample(…,“薄”,米)
smpl = mhsample(…,nchain, n)
[smpl,接受]= mhsample(…)

描述

SMPL = mhsample(start,nsamples,'pdf',pdf,'proppdf',proppdf, ' proprund ', proprund)吸引了nsamples目标平稳分布的随机样本pdf使用Metropolis-Hastings算法。

开始是包含马尔可夫链起始值的行向量,nsamples是指定要生成的样本数量的整数吗pdfproppdf,proprnd是否使用函数句柄创建proppdf定义提案分布密度,并且proprnd定义提案分布的随机数生成器。pdfproprnd将一个参数作为具有相同类型和大小的输入开始proppdf的两个参数作为输入,其类型和大小与开始

smpl是包含样本的列向量或矩阵。如果首选对数密度函数,“pdf”“proppdf”可以用“logpdf”“logproppdf”.Metropolis-Hastings算法中使用的密度函数不一定是归一化的。

建议分布xy)给出选择的概率密度x作为下一个点y是当前点。它有时被写成x|y).

如果proppdflogproppdf满足xy) =yx),即建议分布是对称的,mhsample实现Random Walk Metropolis-Hastings抽样。如果proppdflogproppdf满足xy) =x),即提案分布与当前值无关,mhsample实现了Independent metropolitis - hastings抽样。

smpl = mhsample(…,对称,对称)吸引了nsamples目标平稳分布的随机样本pdf使用Metropolis-Hastings算法。信谊是指示建议分布是否对称的逻辑值。缺省值为false,对应非对称提议分布。如果信谊是真的,例如,建议分布是对称的,proppdflogproppdf是可选的。

smpl = mhsample(…,“燃烧”,K)生成一个马尔可夫链,其值介于起始点和kth点在生成的序列中被省略。值超出了kth点保存。k是否为非负整数,默认值为0

smpl = mhsample(…,“薄”,米)生成一个马尔可夫链m - 1在生成的序列中忽略的值。是否为正整数,默认值为1

smpl = mhsample(…,nchain, n)生成n马可夫链使用Metropolis-Hastings算法。n是一个正整数,默认值为1。smpl是包含样品的矩阵。最后一个维度包含单个链的索引。

[smpl,接受]= mhsample(…)同样的回报接受,即建议分布的接受率。接受如果生成单链,则为标量;如果生成多链,则为矢量。

例子

全部折叠

利用独立Metropolis-Hastings抽样方法估计Gamma分布的二阶矩。

rng默认的%的再现性α= 2.43;β= 1;pdf = @ (x) gampdf (x,α,β);%目标分布proppdf = @ (x, y) gampdf (x,地板(α),地板(α)/α);proprnd = @ (x)和(...exprnd(地板(α)/α,地板(α),1));nsamples = 5000;smpl = mhsample (1 nsamples“pdf”、pdf、“proprnd”proprnd,...“proppdf”, proppdf);

策划的结果。

xxhat = cumsum (smpl ^ 2)。/ (1:nsamples) ';图;阴谋(1:nsamples, xxhat)

图中包含一个轴对象。axis对象包含一个类型为line的对象。

使用Random Walk Metropolis-Hastings抽样从标准正态分布生成样本数据。

rng默认的%的再现性δ= 5;= @(x) normpdf(x);Proppdf = @(x,y) unifpdf(y-x,-delta,delta);proprund = @(x) x + rand*2*delta - delta;nsamples = 15000;x = mhsample (1 nsamples“pdf”、pdf、“proprnd”proprnd,“对称”1);

绘制样本数据。

图;h = histfit (x, 50);h(1)。FaceColor =[。8。8 1];

图中包含一个轴对象。axis对象包含两个类型为bar, line的对象。

介绍了R2006a