模拟

模拟回归系数和扰动贝叶斯线性回归模型的方差

描述

例子

(BetaSim,sigma2Sim)=模拟(Mdl)返回一个随机向量回归系数(BetaSim)和随机干扰方差(sigma2Sim)来自贝叶斯线性回归模型Mdlβσ2

  • 如果Mdl之前是一个联合模型(返回的bayeslm),然后模拟从先验分布。

  • 如果Mdl是一个联合后模型(返回的估计),然后模拟从后验分布。

例子

(BetaSim,sigma2Sim)=模拟(Mdl,X,y)从产生的边缘后验分布的预测或更新数据X和相应的响应数据y

  • 如果Mdl之前是一个联合模型,然后呢模拟之前生产的边际分布通过更新后模型的信息参数,它获得的数据。

  • 如果Mdl是一个边际后模型呢模拟更新后验信息参数,获得额外的数据。完整的数据可能是由额外的数据Xy,创建的数据Mdl

在数据显示缺失值,模拟通过使用list-wise删除删除。

例子

(BetaSim,sigma2Sim)=模拟(___,名称,值)使用任何输入参数组合在前面的语法和附加选项指定一个或多个参数名称-值对。例如,您可以指定一个值βσ2模拟的有条件的一个参数的后验分布,考虑到指定值的其他参数。

例子

(BetaSim,sigma2Sim,RegimeSim)=模拟(___)从潜在的政权如果分布也返回了Mdl是一个随机搜索贝叶斯线性回归模型变量选择(科学),也就是说,如果Mdl是一个mixconjugateblmmixsemiconjugateblm模型对象。

例子

全部折叠

考虑的多元线性回归模型预测美国实际国民生产总值(GNPR)通过使用工业生产指数的线性组合新闻学会)、就业总人数(E),实际工资(或者说是)。

GNPR t = β 0 + β 1 新闻学会 t + β 2 E t + β 3 或者说是 t + ε t

对所有 t , ε t 是一系列的独立和0的均值和方差高斯干扰吗 σ 2

假设这些先验分布:

  • β | σ 2 N 4 ( , σ 2 V ) 意味着是一个4-by-1向量, V 是一个按比例缩小的4×4正定协方差矩阵。

  • σ 2 G ( 一个 , B ) 一个 B 分别是形状和规模的逆伽马分布。

这些假设和数据可能意味着normal-inverse-gamma共轭模型。

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosservarNames = {“他们”“E”“福”};X = DataTable {: varNames};y = DataTable {:,“GNPR”};

创建一个normal-inverse-gamma共轭先验模型的线性回归参数。指定数量的预测p和变量名。

p = 3;PriorMdl = bayeslm (p,“ModelType”,“共轭”,“VarNames”,varNames);

PriorMdl是一个conjugateblm贝叶斯线性回归模型对象代表回归系数的先验分布和扰动方差。

模拟一组回归系数和一个值的扰动先验分布的方差。

rng (1);%的再现性[betaSimPrior, sigma2SimPrior] =模拟(PriorMdl)
betaSimPrior =4×1-33.5917 -49.1445 -37.4492 -25.3632
sigma2SimPrior = 0.1962

betaSimPrior是随机画4-by-1向量回归系数对应的名字PriorMdl.VarNames。的sigma2SimPrior输出是随机画标量扰动方差。

估计后验分布。

PosteriorMdl =估计(PriorMdl, X, y);
方法:分析后分布的观测数量:62的预测数量:4日志边缘相似性:-259.348 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -24.2494 - 8.7821[-41.514,-6.985]0.003吨(-24.25、8.65 ^ 2,68)IPI | 4.3913 - 0.1414 [4.113, 4.669] 1.000 t E(4.39、0.14 ^ 2, 68) | 0.0011 - 0.0003[0.000, 0.002] 1.000吨(0.00、0.00 ^ 2,68)代为| 2.4683 - 0.3490[1.782,3.154]1.000吨(2.47、0.34 ^ 2,68)Sigma2 | 44.1347 - 7.8020[31.427, 61.855] 1.000搞笑(34.00,0.00069)

PosteriorMdl是一个conjugateblm贝叶斯线性回归模型对象代表回归系数和扰动的后验分布方差。

模拟一组回归系数和一个值的扰动后验分布的方差。

[betaSimPost, sigma2SimPost] =模拟(PosteriorMdl)
betaSimPost =4×1-25.9351 4.4379 0.0012 2.4072
sigma2SimPost = 41.9575

betaSimPostsigma2SimPost有相同的尺寸吗betaSimPriorsigma2SimPrior分别,但来自后。

考虑的回归模型从先验和后验分布模拟参数值

加载数据和创建一个共轭先验模型的回归系数和扰动方差。然后,估计后验分布并返回评估汇总表。

负载Data_NelsonPlosservarNames = {“他们”“E”“福”};X = DataTable {: varNames};y = DataTable {:,“GNPR”};p = 3;PriorMdl = bayeslm (p,“ModelType”,“共轭”,“VarNames”,varNames);[PosteriorMdl,总结]=估计(PriorMdl, X, y);
方法:分析后分布的观测数量:62的预测数量:4日志边缘相似性:-259.348 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -24.2494 - 8.7821[-41.514,-6.985]0.003吨(-24.25、8.65 ^ 2,68)IPI | 4.3913 - 0.1414 [4.113, 4.669] 1.000 t E(4.39、0.14 ^ 2, 68) | 0.0011 - 0.0003[0.000, 0.002] 1.000吨(0.00、0.00 ^ 2,68)代为| 2.4683 - 0.3490[1.782,3.154]1.000吨(2.47、0.34 ^ 2,68)Sigma2 | 44.1347 - 7.8020[31.427, 61.855] 1.000搞笑(34.00,0.00069)

总结包含数据的表吗估计显示在命令行。

尽管的边际和条件后验分布 β σ 2 易于分析,这个例子着重于如何实现吉布斯采样器复制已知的结果。

再次评估模型,但用吉布斯采样器。交替采样条件后验分布的参数。预先配置的示例和创建变量10000倍。开始画的条件后的取样器 β 鉴于 σ 2 = 2

m = 1 e4;BetaDraws = 0 (p + 1, m);sigma2Draws = 0 (m + 1);sigma2Draws (1) = 2;rng (1);%的再现性j = 1: m BetaDraws (:, j) =模拟(PriorMdl, X, y,“Sigma2”sigma2Draws (j));[~,sigma2Draws (j + 1) =模拟(PriorMdl, X, y,“β”BetaDraws (:, j));结束sigma2Draws = sigma2Draws(2:结束);%将初始值从获得样本

图像跟踪情节的参数。

图;j = 1: (p + 1);次要情节(2,2,j);情节(BetaDraws (j,:)) ylabel (“获得画”)包含(“模拟指数”)标题(sprintf (“跟踪情节——% s”,PriorMdl.VarNames {j}));结束

图;情节(sigma2Draws) ylabel (“获得画”)包含(“模拟指数”)标题(“跟踪情节——Sigma2”)

马尔可夫链蒙特卡罗(密度)样本似乎收敛,拌匀。

应用一个老化1000平,然后计算获得样本的均值和标准差。比较它们的估计估计

英国石油(bp) = 1000;postBetaMean =意味着(BetaDraws (:, (bp + 1):结束),2);postSigma2Mean =意味着(sigma2Draws (:, (bp + 1):结束));postBetaStd =性病(BetaDraws (:, (bp + 1):结束),[],2);postSigma2Std =性病(sigma2Draws ((bp + 1):结束);[摘要:1:2),表([postBetaMean;postSigma2Mean),[postBetaStd;postSigma2Std),“VariableNames”,{“GibbsMean”,“GibbsStd”}))
ans =5×4表意思是性病GibbsMean GibbsStd _____ _____ _____ __________拦截IPI 4.3913 0.1414 4.3917 8.748 -24.249 8.7821 -24.293 0.0011202 0.00032931 0.0011229 0.00032875 0.13941 E WR Sigma2 44.135 7.802 44.011 0.34364 2.4683 0.34895 2.4654 7.7816

估计很近。密度变化的差异。

考虑的回归模型从先验和后验分布模拟参数值

假设这些先验分布 k = 0,…,3:

  • β k | σ 2 , γ k = γ k σ V k 1 Z 1 + ( 1 - - - - - - γ k ) σ V k 2 Z 2 ,在那里 Z 1 Z 2 是独立的,标准正态随机变量。因此,系数高斯混合分布。假定所有系数是条件独立的,先天的,但它们依赖于扰动方差。

  • σ 2 G ( 一个 , B ) 一个 B 分别是形状和规模的逆伽马分布。

  • γ k { 0 , 1 } ,它代表了随机variable-inclusion政权变量离散均匀分布。

创建一个模型执行科学之前。假设 β σ 2 是依赖(共轭混合模型)。指定数量的预测p和回归系数的名称。

p = 3;PriorMdl = mixconjugateblm (p,“VarNames”,(“他们”“E”“福”]);

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosserX = DataTable {: PriorMdl.VarNames(2:结束)};y = DataTable {:,“GNPR”};

计算可能的政权的数量,数量的组合,包括和排除变量在模型中。

cardRegime = 2 ^ (PriorMdl。我ntercept + PriorMdl.NumPredictors)
cardRegime = 16

模拟10000政权的后验分布。

rng (1);[~,~,RegimeSim] =模拟(PriorMdl, X, y,“NumDraws”,10000);

RegimeSim是一个4 - - 1000逻辑矩阵。行对应的变量Mdl.VarNames和列对应于从后验分布。

画一个柱状图的政权了。重新编码制度,他们是可读的。具体来说,对于每一个政权,创建一个标识字符串变量在模型中,用点和独立变量。

cRegime = num2cell (RegimeSim, 1);cRegime =分类(cellfun (@ (c)加入(PriorMdl.VarNames (c),“。”),cRegime));cRegime (ismissing (cRegime)) =“NoCoefficients”;直方图(cRegime);标题(“变量纳入模型”)ylabel (“频率”);

计算变量包含的边缘后验概率。

表(意思是(RegimeSim, 2),“RowNames”PriorMdl.VarNames,“VariableNames”,“政权”)
ans =4×1表政权______拦截0.8829 IPI 0.4547 E 0.098或者说是0.1692

考虑一个包含一个预测的贝叶斯线性回归模型,和一个t分布式干扰与异形自由度参数方差 ν

  • λ j G ( ν / 2 , 2 / ν )

  • ε j | λ j N ( 0 , λ j σ 2 )

  • f ( β , σ 2 ) 1 σ 2

这些假设暗示:

  • ε j t ( 0 , σ 2 , ν )

  • λ j | ε j G ( ν + 1 2 , 2 ν + ε j 2 / σ 2 )

λ 是一个向量的潜在规模参数属性低精度观测回归线。 ν 是hyperparameter控制的影响 λ 在观察。

对于这个问题,吉布斯采样器是适合估计系数,因为你可以模拟一个贝叶斯线性回归模型的参数条件 λ ,然后模拟 λ 从它的条件分布。

生成 n = 1 0 0 的回应 y t = 1 + 2 x t + e t , 在哪里 x ( 0 , 2 ] e t N ( 0 , 0 5 2 )

rng (“默认”);n = 100;x = linspace (0 2 n) ';b0 = 1;b1 = 2;σ= 0.5;e = randn (n, 1);* x + y = b0 + b1σ* e;

下面介绍偏远反应通过膨胀反应 x = 0 2 5 3倍。

y (x < 0.25) = y (x < 0.25) * 3;

符合线性模型的数据。数据和拟合回归直线的阴谋。

Mdl = fitlm (x, y)
Mdl =线性回归模型:y ~ 1 + x1估计系数:估计SE tStat pValue ________ ________ _____(拦截)e15汽油x1 2.0859 2.6814 0.28433 9.4304 0.78974 0.24562 3.2153 0.0017653的观测数量:100年,错误自由度:98根均方误差:1.43平方:0.0954,调整平方:0.0862 f统计量与常数模型:10.3,p = 0.00177
图;情节(Mdl);hl =传奇;持有;

模拟异常值出现影响拟合回归直线。

实现这个吉布斯采样器:

  1. 画出参数的后验分布 β , σ 2 | y , x , λ 。缩小的观察 λ 之前,创建一个扩散模型有两个回归系数,并从后画出一组参数。第一个回归系数对应于拦截,所以指定bayeslm不包括一个拦截。

  2. 计算残差。

  3. 画条件后的值 λ

运行20000次迭代的吉布斯采样器和应用老化时期的5000年。指定 ν = 1 preallocate后吸引,并初始化 λ 一个向量的。

m = 20000;ν= 1;燃烧= 5000;λ= 1 (n, m + 1);estBeta = 0 (2 m + 1);estSigma2 = 0 (m + 1);j = 1: m yDef = y /√(λ(:,j));xDef = [(n, 1)的x]。/√(λ(:,j));PriorMdl = bayeslm (2“模型”,“扩散”,“拦截”、假);[estBeta: j + 1), estSigma2(1 + 1)] =模拟(PriorMdl, xDef yDef);ep = y - [(n, 1)的x] * estBeta (:, j + 1);sp =(ν+ 1)/ 2;sc = 2。/(nu + ep.^2/estSigma2(1,j + 1)); lambda(:,j + 1) = 1./gamrnd(sp,sc);结束

获得一个良好的实践是诊断取样器通过检查跟踪情节。为了简单起见,这个例子中跳过这个任务。

计算的均值后的回归系数。去除老化期了。

燃烧postEstBeta =意味着(estBeta(:,(+ 1):结束),2)
postEstBeta =2×11.3971 - 1.7051

估计的截距和斜率是高于低返回的估计fitlm

情节的健壮的回归线回归线通过最小二乘拟合。

甘氨胆酸h =;xlim = h.XLim ';plotY = [(2, 1) xlim的]* postEstBeta;情节(xlim plotY,“线宽”2);霍奇金淋巴瘤。{4}=字符串“稳健贝叶斯;

回归线适合使用健壮的贝叶斯回归似乎是更好的选择。

最大后验概率(MAP)估计是后模式,也就是说,收益最大的参数值后pdf。如果分析后是棘手的,那么您可以使用蒙特卡罗抽样估计的地图。

考虑线性回归模型从先验和后验分布模拟参数值

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosservarNames = {“他们”“E”“福”};X = DataTable {: varNames};y = DataTable {:,“GNPR”};

创建一个normal-inverse-gamma共轭先验模型的线性回归参数。指定数量的预测p和变量名。

p = 3;PriorMdl = bayeslm (p,“ModelType”,“共轭”,“VarNames”varNames)
PriorMdl = conjugateblm属性:NumPredictors: 3拦截:1 VarNames: {4 x1细胞}μ:x1双[4]V: [4 x4双]A: 3 B: 1 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| 0 70.7107 [-141.273,141.273]0.500 t (0.00、57.74 ^ 2,6) IPI | 0 70.7107 [-141.273, 141.273] 0.500 t (0.00、57.74 ^ 2,6) E | 0 70.7107 [-141.273, 141.273] 0.500 t (0.00、57.74 ^ 2, 6) WR | 0 70.7107 [-141.273, 141.273] 0.500 t (0.00、57.74 ^ 2, 6) Sigma2 | 0.5000 - 0.5000[0.138, 1.616] 1.000搞笑(3.00,1)

估计边际的后验分布 β σ 2

rng (1);%的再现性PosteriorMdl =估计(PriorMdl, X, y);
方法:分析后分布的观测数量:62的预测数量:4日志边缘相似性:-259.348 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -24.2494 - 8.7821[-41.514,-6.985]0.003吨(-24.25、8.65 ^ 2,68)IPI | 4.3913 - 0.1414 [4.113, 4.669] 1.000 t E(4.39、0.14 ^ 2, 68) | 0.0011 - 0.0003[0.000, 0.002] 1.000吨(0.00、0.00 ^ 2,68)代为| 2.4683 - 0.3490[1.782,3.154]1.000吨(2.47、0.34 ^ 2,68)Sigma2 | 44.1347 - 7.8020[31.427, 61.855] 1.000搞笑(34.00,0.00069)

显示包括边缘后验分布统计信息。

提取后的均值 β 从模型后,提取后的协方差 β 从返回的评估总结总结

estBetaMean = PosteriorMdl.Mu;摘要=总结(PosteriorMdl);EstBetaCov =总结。协方差{1:(- 1),1:结束(- 1)};

estBetaMean是一个4-by-1向量代表的边缘后意味着什么 β EstBetaCov是一个4×4矩阵的协方差矩阵代表后的 β

吸引10000后验分布的参数值。

rng (1);%的再现性[BetaSim, sigma2Sim] =模拟(PosteriorMdl,“NumDraws”1 e5);

BetaSim是一个由- 10000 4 -矩阵的随机回归系数。sigma2Sim是1 -到- 10000矢量随机扰动变化。

转置和标准化回归系数的矩阵。计算回归系数的相关矩阵。

estBetaStd =√诊断接头(EstBetaCov) ');BetaSim = BetaSim ';BetaSimStd = (BetaSim - estBetaMean”)。/ estBetaStd;BetaCorr = corrcov (EstBetaCov);BetaCorr = (BetaCorr + BetaCorr ') / 2;%执行对称

因为边缘后验分布是已知的,评估后pdf的模拟值。

betaPDF = mvtpdf (BetaSimStd BetaCorr 68);一个= 34;b = 0.00069;igPDF = @ (x,美联社、英国石油公司)1. /(伽马(美联社)。* bp。^美联社)。* x。^ (-ap-1)。* exp (-1. / (x。* bp));%逆伽马pdfsigma2PDF = igPDF (sigma2Sim, a, b);

发现模拟值最大化各自的pdf文件,也就是说,后模式。

[~,idxMAPBeta] = max (betaPDF);[~,idxMAPSigma2] = max (sigma2PDF);betaMAP = BetaSim (idxMAPBeta:);sigma2MAP = sigma2Sim (idxMAPSigma2);

betaMAPsigma2MAP地图估计。

因为后 β 是对称的单峰,后意味着和地图应该是相同的。地图的估计进行比较 β 后的意思。

表(betaMAP、PosteriorMdl.Mu“VariableNames”,{“地图”,“的意思是”},“RowNames”PriorMdl.VarNames)
ans =4×2表地图的意思是替拦截-24.559 - -24.249 IPI E 4.3964 - 4.3913 2.4473 - 2.4683 0.0011389 - 0.0011202的车手

估计是相当接近。

估计后的分析模式 σ 2 。比较估计的地图 σ 2

igMode = 1 / (b * (+ 1))
igMode = 41.4079
sigma2MAP
sigma2MAP = 41.4075

这些估计也相当接近。

输入参数

全部折叠

标准的贝叶斯线性回归模型或模型预测变量的选择,在这个表指定为一个模型对象。

模型对象 描述
conjugateblm 依赖,normal-inverse-gamma共轭模型返回的bayeslm估计
semiconjugateblm 独立,normal-inverse-gamma semiconjugate模型返回的bayeslm
diffuseblm 扩散先验模型返回的bayeslm
empiricalblm 之前模型的特征样本先验分布,返回的bayeslm估计
customblm 先验分布函数声明返回的bayeslm
mixconjugateblm 依赖,Gaussian-mixture-inverse-gamma共轭模型科学预测变量选择,返回的bayeslm
mixsemiconjugateblm 学会独立,Gaussian-mixture-inverse-gamma semiconjugate模型预测变量选择,返回的bayeslm
lassoblm 贝叶斯套索返回的回归模型bayeslm

请注意

  • 通常情况下,返回的对象模型估计代表边缘后验分布。当你评估一个后使用估计如果你指定一个条件后的估计,然后估计返回之前的模型。

  • 如果Mdl是一个diffuseblm模型,那么您还必须供应Xy因为模拟不能从一个不适当的先验分布。

  • 如果你提供一个lassoblm,mixconjugateblm,或mixsemiconjugateblm模型对象,提供数据Xy从后,画出一个值,然后一个最佳实践是通过指定的初始化吉布斯采样器BetaStartSigma2Start名称-值对参数。

多元线性回归模型的预测数据,指定为一个numObservations——- - - - - -PriorMdl.NumPredictors数字矩阵。numObservations是观察和的数量必须相等的长度吗y

如果Mdl是后验分布,那么的列X必须对应列用于估算后的预测数据。

数据类型:

响应数据的多元线性回归模型,指定为一个数值向量numObservations元素。

数据类型:

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:“Sigma2”, 2指定模拟条件后验分布的回归系数的数据和指定的扰动的方差2

选择所有的模型

全部折叠

数量的样本分布Mdl,指定为逗号分隔两人组成的“NumDraws”和一个正整数。

提示

如果Mdl是一个empiricalblm或者一个customblm模型对象,那么一个良好的实践是指定一个老化期燃烧和稀疏的乘数。在样本大小调整的详细信息,请参见算法

例子:e7 NumDraws, 1

数据类型:

选择所有模型除了经验

全部折叠

回归系数的值模拟扰动条件分布的方差,指定为逗号分隔组成的“β”和一个(Mdl.Intercept+Mdl.NumPredictors)1数值向量。当使用后验分布,模拟π(σ2|y,X,β=β),yy,XX,β的值是“β”。如果Mdl.Intercept真正的,然后β(1)对应于模型拦截。其他值对应的预测变量组成的列X

你不能指定βSigma2同时进行。

默认情况下,模拟不画条件后的σ2

例子:“贝塔”,1:3

数据类型:

的干扰方差值模拟条件分布的回归系数,指定为逗号分隔组成的“Sigma2”和积极的数字标量。当使用后验分布,模拟π(β|y,X,Sigma2),yy,XX,Sigma2的值是“Sigma2”

你不能指定Sigma2β同时进行。

默认情况下,模拟不画条件后的β

例子:“Sigma2”, 1

数据类型:

选择所有模型除了共轭和经验

全部折叠

即将删除从样品开始减少瞬态效应,指定为逗号分隔组成的“燃烧”和一个负的标量。有关如何模拟减少了完整的样品,看到的算法

提示

帮助你指定适当的老化周期大小:

  1. 确定的程度样本通过指定的瞬态行为“燃烧”,0

  2. 模拟几千观察使用模拟

  3. 画跟踪情节。

例子:“燃烧”,0

数据类型:

调整样本量乘数,指定为逗号分隔组成的“薄”和一个正整数。

实际的样本大小燃烧+NumDraws*薄。丢弃老化后,模拟丢弃每- - - - - -1吸引,然后保留下画。更多的细节模拟减少了完整的样品,看到的算法

提示

减少潜在的大样本序列相关,或降低了存储的内存消耗PosteriorMdl,指定一个较大的值

例子:“薄”,5

数据类型:

取样器开始的回归系数值,指定为逗号分隔组成的“BetaStart”和一个数字列向量(Mdl.Intercept+Mdl.NumPredictors)元素。默认情况下,BetaStart普通最小二乘(OLS)估计。

提示

一个良好的实践是运行模拟多次与不同的参数值。验证您的每次运行估计收敛于相似的价值观。

例子:“BetaStart”, [1;2;3]

数据类型:

开始取样器的干扰值方差,指定为逗号分隔组成的“Sigma2Start”和积极的数字标量。默认情况下,Sigma2StartOLS剩余均方误差。

提示

一个良好的实践是运行模拟多次与不同的参数值。验证您的每次运行估计收敛于相似的价值观。

例子:“Sigma2Start”4

数据类型:

科学的选择模型

全部折叠

潜在的政权的取样器开始值,指定为逗号分隔组成的“RegimeStart”和逻辑列向量(Mdl.Intercept+Mdl.NumPredictors)元素。RegimeStart (k)=真正的表示变量的包容Mdl.VarNames (k),RegimeStart (k)=表明该变量的排斥。

提示

一个良好的实践是运行模拟多次使用不同的参数值。验证您的每次运行估计收敛于相似的价值观。

例子:“RegimeStart”,逻辑(randi ([0, 1], Mdl。拦截+ Mdl.NumPredictors, 1))

数据类型:

选择自定义模型

全部折叠

Reparameterization的σ2日志(σ2)后评估和仿真,指定为逗号分隔组成的“Reparameterize”在这个表和一个值。

价值 描述
模拟不reparameterizeσ2
真正的 模拟reparameterizesσ2日志(σ2)。模拟将结果返回给原来的规模和不改变的函数形式PriorMdl.LogPDF

提示

如果你经验的后评估或模拟数值不稳定σ2,然后指定“Reparameterize”,真的

例子:“Reparameterize”,真的

数据类型:逻辑

密度取样器,指定为逗号分隔组成的的取样器在这个表和一个值。

价值 描述
“切” 片取样器
“大都市” 随机漫步都市取样器
hmc的 哈密顿蒙特卡罗(HMC)取样器

提示

  • 增加密度的质量吸引,优化采样器。

    1. 在调用之前模拟,指定使用的调优参数及其值sampleroptions。例如,指定取样器宽度宽度使用:

      选择= sampleroptions (的取样器,“切”,“宽度”、宽度);

    2. 指定包含返回的调优参数规范的对象sampleroptions通过使用“选项”名称-值对的论点。例如,使用规范的调优参数选项指定:

      “选项”,选择

  • 如果你指定HMC取样器,那么一个最佳实践是提供一些变量的梯度,至少。模拟度假村任何缺失的偏导数的数值计算(梯度向量的值)。

例子:“取样器”,“hmc”

数据类型:字符串

取样器选项,指定为逗号分隔组成的“选项”和一个结构数组返回sampleroptions。使用“选项”获得指定取样器和它的调优参数值。

例子:“选项”,sampleroptions(取样器,hmc)

数据类型:结构体

典型的采样间隔宽度约片的当前值的边际分布取样器,指定为逗号分隔组成的“宽度”和积极的数字标量或(PriorMdl.Intercept+PriorMdl.NumPredictors+1)1数值向量积极的价值观。第一个元素对应于模型拦截,如果一个模型中存在。下一个PriorMdl.NumPredictors元素对应的系数预测变量预测命令的数据列。最后一个元素对应于模型的方差。

  • 如果宽度是一个标量,然后呢模拟适用于宽度对所有PriorMdl.NumPredictors+PriorMdl.Intercept+1边际分布。

  • 如果宽度是一个数值向量,然后呢模拟第一个元素适用于拦截(如果存在的话)PriorMdl.NumPredictors元素相对应的回归系数的预测变量X和最后一个元素干扰方差。

  • 如果样本容量(大小(X, 1))小于100,然后宽度10默认情况下。

  • 如果样本容量至少是100,模拟宽度相应的向量后标准差在默认情况下,假设扩散先验模型(diffuseblm)。

典型的片取样器的宽度不影响收敛的样本密度。它确实影响所需的功能评估的数量,也就是说,该算法的效率。如果宽度太小,算法可以实现过多的功能评估,以确定适当的采样宽度。如果宽度太大,那么该算法可能要宽度减少到一个适当的大小,需要评估函数。

模拟发送宽度slicesample函数。更多细节,请参阅slicesample

提示

  • 最大的灵活性,指定取样器宽度宽度通过使用“选项”名称-值对的论点。例如:

    “选项”sampleroptions (的取样器,“切”,“宽度”、宽度)

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

输出参数

全部折叠

模拟回归系数,作为一个(返回Mdl.Intercept+Mdl.NumPredictors)———NumDraws数字矩阵。行对应的变量Mdl.VarNames和列对应于个人,分布连续,独立了。

模拟干扰方差,作为1 -返回NumDraws数字矢量的积极的价值观。列对应的个体,从分布连续,独立了。

模拟政权指示变量包含或排除在模型中,作为一个(返回Mdl.Intercept+Mdl.NumPredictors)———NumDraws逻辑矩阵。行对应的变量Mdl.VarNames和列对应于个人,分布连续,独立了。

模拟返回政权只有在Mdl是一个mixconjugateblmmixsemiconjugateblm模型对象。

RegimeSim (k,d)=真正的表示变量的包容Mdl.VarNames (k)在画的模型d,RegimeSim (k,d)=表明变量在模型中排除d

限制

  • 模拟不能从一个画值分配不当,也就是说,一个分布的密度不整合为1。

  • 如果Mdl是一个empiricalblm模型对象,那么你不能指定βSigma2。你不能模拟的条件后验分布通过使用一个经验分布。

更多关于

全部折叠

贝叶斯线性回归模型

一个贝叶斯线性回归模型将参数βσ2看不到在多元线性回归(MLR)模型yt=xtβ+εt为随机变量。

为次t= 1,…,T:

  • yt是观察到的反应。

  • xt是一个1 - (p+ 1)的观测值的行向量p预测因子。为了适应拦截模型,x1t= 1为所有t

  • β是(p+ 1)1的列向量回归系数对应的变量组成的列xt

  • εt是均值为零的随机干扰和浸(ε)=σ2T×T,而ε是一个T1向量包含所有干扰。这些假设可能是意味着数据

    ( β , σ 2 | y , x ) = t = 1 T ϕ ( y t ; x t β , σ 2 )

    ϕ(yt;xtβ,σ2)是高斯概率密度的意思xtβ和方差σ2评估在yt;

考虑到数据之前,您征收联合先验分布假设(β,σ2)。在贝叶斯分析,你更新的分布参数通过使用信息参数获得的数据的可能性。结果是联合后验分布(β,σ2)或条件后验分布的参数。

算法

  • 每当模拟必须估计后验分布(例如,当Mdl代表一个先验分布,你供应Xy)和后易于分析,模拟直接从后模拟。否则,模拟度假村蒙特卡罗模拟法估计后。更多细节,请参阅后估计和推断

  • 如果Mdl是一个联合后模型呢模拟模拟数据相比是不同的Mdl你之前是一个联合模型和供应吗Xy。因此,如果你设置相同的随机种子和生成随机值两个方面,那么你可能不会获得相同的值。然而,相应的经验分布基于足够数量的画实际上是等价的。

  • 这个图展示了模拟减少了样本使用的值NumDraws,,燃烧

    矩形表示连续分布的吸引。模拟从样本中删除的白色矩形。剩下的NumDraws黑色的矩形组成样本。

  • 如果Mdl是一个semiconjugateblm模型对象,然后模拟通过应用后验分布的样本吉布斯采样器。

    1. 模拟使用的默认值Sigma2Startσ2和的值βπ(β|σ2,X,y)。

    2. 模拟画了一个值σ2π(σ2|β,X,y使用前面生成的值)β

    3. 重复步骤1和2,直到收敛的函数。评估融合,画一个跟踪样本的情节。

    如果您指定BetaStart,然后模拟画了一个值σ2π(σ2|β,X,y)开始吉布斯采样器。模拟不返回生成的价值呢σ2

  • 如果Mdl是一个empiricalblm模型对象和你不供应Xy,然后模拟Mdl.BetaDrawsMdl.Sigma2Draws。如果NumDraws小于或等于什么元素个数(Mdl.Sigma2Draws),然后模拟返回第一个NumDraws的元素Mdl.BetaDrawsMdl.Sigma2Draws作为随机吸引相应的参数。否则,模拟随机重新取样NumDraws的元素Mdl.BetaDrawsMdl.Sigma2Draws

  • 如果Mdl是一个customblm模型对象,然后模拟使用一个密度取样器从后验分布。在每个迭代中,软件连接的当前值回归系数和扰动变化成一个(Mdl.Intercept+Mdl.NumPredictors+ 1)1的向量,并将其传递到Mdl.LogPDF。扰动值的方差是这个向量的最后一个元素。

  • HMC取样器需要日志密度及其梯度。梯度应该是一个(NumPredictors +拦截+ 1)1的向量。如果某些参数的导数很难计算,然后,在相应位置的梯度,供应值来代替。模拟替换值和数字衍生品。

  • 如果Mdl是一个lassoblm,mixconjugateblm,或mixsemiconjugateblm模型对象,你供应Xy,然后模拟通过应用后验分布的样本吉布斯采样器。如果你不提供数据,然后模拟样本分析,无条件的先验分布。

  • 模拟不返回默认的起始值生成。

  • 如果Mdl是一个mixconjugateblmmixsemiconjugateblm,然后模拟首先从政权分布,给定的当前状态链(的值RegimeStart,BetaStart,Sigma2Start)。如果你画一个样本和未指定值RegimeStart,BetaStart,Sigma2Start,然后模拟使用默认值并发出警告。

介绍了R2017a