主要内容

sampleroptions

创建马尔可夫链蒙特卡罗(MCMC)采样器选项

描述

例子

选项= sampleroptions为MCMC采样器创建一个带有默认选项的采样器选项结构,用于从贝叶斯线性回归模型的后验分布中提取具有自定义联合先验分布的后验分布(customblm模型对象)。

例子

选项= sampleroptions (名称,值使用一个或多个指定的附加选项名称,值对参数。例如,取样器,hmc’,‘StepSizeTuningMethod’,‘没有’指定后验采样使用哈密顿蒙特卡罗采样器和无步长调整方法。

例子

全部折叠

假设您计划估计、模拟或预测一个具有自定义联合先验分布的贝叶斯线性回归模型。在这种情况下,MATLAB®采用MCMC抽样进行后验仿真和估计。您可以选择一个采样器,并使用采样器选项结构调整其参数。

创建一个默认采样器选项结构。

选择= sampleroptions
选择=结构体字段:采样器:‘Slice’宽度:[]

选项指定切片取样器,其典型宽度为空。空宽度表示后验采样使用默认宽度。

为切片取样器指定典型宽度为10。

选项。宽度= 10
选择=结构体字段:采样器:“切片”宽度:10

为了实现后验估计的样本宽度为10的切片采样,创建一个customblm模型,然后指定采样器选项结构选项通过使用“选项”的名称-值对参数估计模拟,或预测

要指定一个不同的MCMC采样器,请创建一个新的采样器选项结构。

假设您计划估计、模拟或预测一个具有自定义联合先验分布的贝叶斯线性回归模型,并且您希望实现哈密顿蒙特卡罗(HMC)采样器。

创建一个采样器选项结构,使用HMC采样器指定采样。指定详细级别为1。

选择= sampleroptions (的取样器hmc的“VerbosityLevel”, 1)
选择=结构体字段:采样器:“HMC”StepSizeTuningMethod:“双平均”MassVectorTuningMethod:“迭代采样”NumStepSizeTuningIterations: 100 TargetAcceptanceRatio: 0.6500 NumStepsLimit: 2000 VerbosityLevel: 1 NumPrint: 100

选项是结构数组,其字段列表显示在命令行中。字段是采样器的调谐参数。所有值都是HMC采样器的默认值,除了VerbosityLevel

您还可以使用点表示法在命令行中调整字段值。例如,将目标接受率更改为0.75。

选项。TargetAcceptanceRatio = 0.75
选择=结构体字段:采样器:'HMC' StepSizeTuningMethod: '双平均' MassVectorTuningMethod: ' iter- sampling' NumStepSizeTuningIterations: 100 TargetAcceptanceRatio: 0.7500 NumStepsLimit: 2000 VerbosityLevel: 1 NumPrint: 100

要实现HMC采样器,请创建customblm模型,然后指定采样器选项结构选项通过使用“选项”的名称-值对参数估计模拟,或预测

输入参数

全部折叠

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:取样器,hmc’,‘VerbosityLevel’,1指定HMC采样器并显示模拟期间步长调优的详细信息。
选择采样器

全部折叠

MCMC采样器,指定为逗号分隔对,由的取样器和这个表中的值。

价值 描述
“切” 片取样器
“大都市” 大都会采样器
hmc的 哈密顿蒙特卡罗采样器

例子:取样器,hmc的

数据类型:字符|字符串

片取样器选项

全部折叠

典型的采样间隔宽度在切片采样器的边缘分布的当前值附近,指定为逗号分隔对组成“宽度”和一个正数标量或拦截+numPredictors+1)-乘1的数值向量。numPredictors是预测变量的数量(预测数据中的列),和拦截1当模型包含截距时,和0否则。第一个元素宽度对应于模型拦截(如果模型中存在的话)。下一个的顺序numPredictors元素与预测器数据中预测变量的顺序相对应。最后一个元素对应于模型方差。

  • 如果宽度是标量,那么MATLAB呢®适用于宽度对所有拦截+numPredictors+1边际分布。

  • 如果宽度是一个数字向量,然后MATLAB应用第一个元素到截距(如果存在),下一个numPredictors元素的回归系数对应的预测变量X,扰动方差的最后一个元素。

  • 如果样本大小(预测器数据中的行数)小于One hundred.,然后宽度10默认情况下。

  • 如果样本大小至少是100,那么,在默认情况下,MATLAB设置宽度为对应的后验标准差向量,假设扩散先验模型(diffuseblm).

MATLAB分派宽度slicesample函数。有关详细信息,请参见slicesample

提示

切片采样器的典型宽度不影响MCMC采样的收敛性。然而,它确实会影响所需函数求值的数量,即算法的效率。如果宽度过小,则算法可以实现过多的函数求值,以确定合适的采样宽度。如果宽度太大,那么算法可能不得不将宽度减小到合适的大小,这就需要进行函数计算。

例子:的“宽度”,(100 * (3,1);10]

随机漫步大都会采样器选项

全部折叠

建议分布,指定为逗号分隔的对,由“分布”和这个表中的值。

价值 描述
“mvn” 多元正态分布。要调优采样器,请使用“ScaleMatrix”名称-值对的论点。
“测试” 多元t分布。要调优采样器,请使用“ScaleMatrix”“DegreeOfFreedom”名称-值对参数。

例子:“分布”、“测试”

数据类型:字符串|字符

建议分布比例矩阵,指定为逗号分隔对组成“ScaleMatrix”和一个(intercept + numPredictors + 1)——- - - - - -(intercept + numPredictors + 1)对称正定数值矩阵。有关行和列的含义,请参见“宽度”

默认情况下,ScaleMatrix为回归系数的后验协方差矩阵(β)和模型方差(Sigma2)假设扩散模型。

例子:'ScaleMatrix',eye(intercept + numPredictors + 1)

数据类型:

建议分配自由度,指定为逗号分隔对组成“DegreeOfFreedom”一个正标量。如果“分布”“mvn”,然后sampleroptions忽略了DegreeOfFreedom

例子:“DegreeOfFreedom”,3

数据类型:

HMC取样器选项

全部折叠

方法来调优步长,指定为由逗号分隔的对组成“StepSizeTuningMethod”“dual-averaging”“没有”.有关详细信息,请参见“StepSizeTuningMethod”

例子:“StepSizeTuningMethod”、“没有”

数据类型:字符

用于调整质量矢量的方法,指定为逗号分隔对组成“MassVectorTuningMethod”“iterative-sampling”“海赛”,或“没有”.有关详细信息,请参见“MassVectorTuningMethod”

例子:“MassVectorTuningMethod”、“海赛”

数据类型:字符

调整步长的迭代次数,指定为由逗号分隔的对组成“NumStepSizeTuningIterations”一个正整数。有关详细信息,请参见“NumStepSizeTuningIterations”

例子:“NumStepSizeTuningIterations”,200年

数据类型:|

目标验收比,指定为逗号分隔对组成“TargetAcceptanceRatio”一个标量0通过1.有关详细信息,请参见“TargetAcceptanceRatio”

例子:“TargetAcceptanceRatio”,0.5

数据类型:|

最大跳变步数,指定为逗号分隔对,由“NumStepsLimit”一个正整数。有关详细信息,请参见“NumStepsLimit”

例子:“NumStepsLimit”,5000年

数据类型:|

命令窗口输出的详细程度,指定为由逗号分隔的对组成“VerbosityLevel”和一个非负整数。有关详细信息,请参见“VerbosityLevel”

例子:“VerbosityLevel”,1

数据类型:|

详细输出频率,指定为由逗号分隔的对组成“NumPrint”一个正整数。有关详细信息,请参见“NumPrint”

例子:“NumPrint”,10

数据类型:|

输出参数

全部折叠

带有自定义先验分布的贝叶斯线性回归模型的采样器选项,作为结构数组返回。创建采样器选项结构后,可以使用点表示法调整除采样器外的调优参数值。

介绍了R2017b