创建马尔可夫链蒙特卡罗(MCMC)采样器选项
假设您计划估计、模拟或预测一个具有自定义联合先验分布的贝叶斯线性回归模型。在这种情况下,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采样器并显示模拟期间步长调优的详细信息。
取样器
- - - - - -密度取样器“切”
(默认)|“大都市”
|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”
(默认)|“测试”
建议分布,指定为逗号分隔的对,由“分布”
和这个表中的值。
价值 | 描述 |
---|---|
“mvn” |
多元正态分布。要调优采样器,请使用“ScaleMatrix” 名称-值对的论点。 |
“测试” |
多元t分布。要调优采样器,请使用“ScaleMatrix” 或“DegreeOfFreedom” 名称-值对参数。 |
例子:“分布”、“测试”
数据类型:字符串
|字符
ScaleMatrix
- - - - - -建议分布比例矩阵建议分布比例矩阵,指定为逗号分隔对组成“ScaleMatrix”
和一个(intercept + numPredictors + 1)
——- - - - - -(intercept + numPredictors + 1)
对称正定数值矩阵。有关行和列的含义,请参见“宽度”
.
默认情况下,ScaleMatrix
为回归系数的后验协方差矩阵(β
)和模型方差(Sigma2
)假设扩散模型。
例子:'ScaleMatrix',eye(intercept + numPredictors + 1)
数据类型:双
DegreeOfFreedom
- - - - - -建议分配自由度正
(默认)|积极的标量建议分配自由度,指定为逗号分隔对组成“DegreeOfFreedom”
一个正标量。如果“分布”
是“mvn”
,然后sampleroptions
忽略了DegreeOfFreedom
.
例子:“DegreeOfFreedom”,3
数据类型:双
StepSizeTuningMethod
- - - - - -调优步长的方法“dual-averaging”
(默认)|“没有”
方法来调优步长,指定为由逗号分隔的对组成“StepSizeTuningMethod”
和“dual-averaging”
或“没有”
.有关详细信息,请参见“StepSizeTuningMethod”
.
例子:“StepSizeTuningMethod”、“没有”
数据类型:字符
MassVectorTuningMethod
- - - - - -质量矢量调谐方法“iterative-sampling”
(默认)|“海赛”
|“没有”
用于调整质量矢量的方法,指定为逗号分隔对组成“MassVectorTuningMethod”
和“iterative-sampling”
,“海赛”
,或“没有”
.有关详细信息,请参见“MassVectorTuningMethod”
.
例子:“MassVectorTuningMethod”、“海赛”
数据类型:字符
NumStepSizeTuningIterations
- - - - - -调优步骤大小的迭代次数One hundred.
(默认)|正整数调整步长的迭代次数,指定为由逗号分隔的对组成“NumStepSizeTuningIterations”
一个正整数。有关详细信息,请参见“NumStepSizeTuningIterations”
.
例子:“NumStepSizeTuningIterations”,200年
数据类型:单
|双
TargetAcceptanceRatio
- - - - - -目标的接受率0.65
(默认)|标量的0
通过1
目标验收比,指定为逗号分隔对组成“TargetAcceptanceRatio”
一个标量0
通过1
.有关详细信息,请参见“TargetAcceptanceRatio”
.
例子:“TargetAcceptanceRatio”,0.5
数据类型:单
|双
NumStepsLimit
- - - - - -最大跳步数2000
(默认)|正整数VerbosityLevel
- - - - - -命令窗口输出的详细程度0
(默认)|非负整数命令窗口输出的详细程度,指定为由逗号分隔的对组成“VerbosityLevel”
和一个非负整数。有关详细信息,请参见“VerbosityLevel”
.
例子:“VerbosityLevel”,1
数据类型:单
|双
NumPrint
- - - - - -详细输出频率One hundred.
(默认)|正整数选项
——取样器选项带有自定义先验分布的贝叶斯线性回归模型的采样器选项,作为结构数组返回。创建采样器选项结构后,可以使用点表示法调整除采样器外的调优参数值。
您已经有了geänderte版本死亡Beispiels。Möchten您是谁? Änderungen öffnen?
您有一个连接到MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。Webbrowser unterstützen keine MATLAB-Befehle。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。