模拟

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

描述

[BetaSimsigma2Sim)=模拟(MDL返回回归系数的一个随机向量(BetaSim)和随机扰动方差(sigma2Sim)从拉贝叶斯线性回归模型MDLβσ2

  • 如果MDL被联合先验模型(通过返回bayeslm), 然后模拟从现有分布绘制。

  • 如果MDL被一个联合后验模型(通过返回估计), 然后模拟来自后验分布。

[BetaSimsigma2Sim)=模拟(MDLXÿ从结合预测数据产生或更新的边缘后验分布中提取X和相应的响应数据ÿ

  • 如果MDL是一个联合先验模型,然后模拟通过更新先验模型,利用从数据中获得的参数信息,生成边缘后验分布。

  • 如果MDL是一个边缘后验模型,然后模拟用从其他数据中获得的参数信息更新后验。完整的数据似然是由附加的数据组成的Xÿ以及创建的数据MDL

为NaN数据中的s表示缺失值,其中模拟通过使用清单明智的缺失去。

[BetaSimsigma2Sim)=模拟(___名称,值在以前的语法和由一个或多个名值对参数指定的其他选项中使用任何输入参数组合。例如,您可以为。指定一个值β要么σ2从模拟有条件的一个参数的后验分布,给出的其他参数的指定的值。

[BetaSimsigma2SimRegimeSim)=模拟(___还从潜势分布中抽取若MDL是贝叶斯线性回归模型随机搜索变量选择(SS VS移至),即,如果MDL是一个mixconjugateblm要么mixsemiconjugateblm模型对象。

例子

全部收缩

考虑多元线性回归模型,预测美国的实际国内生产总值(GNPR)通过使用工业生产指数的线性组合(IPI),总就业(Ë)和实际工资(WR)。

GNPR Ť = β 0 + β 1 IPI Ť + β 2 Ë Ť + β 3 WR Ť + ε Ť

对所有 Ť ε Ť 是具有0和方差的平均一系列独立的高斯干扰的 σ 2

假设这些先验分布:

  • β | σ 2 ñ 4 中号 σ 2 V 中号 是的手段一个4×1向量,以及 V 是一个4×4正定协方差矩阵。

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

这些假设和数据似然性暗示的正逆伽马共轭模型。

加载纳尔逊 - 普洛瑟数据集。创建响应和预测序列变量。

加载Data_NelsonPlosservarNames = {'IPI''E''WR'};X = {数据表:,varNames};Y = {数据表:,“GNPR”};

创建用于线性回归参数的正逆伽马共轭先验模型。指定预测器的数量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×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吨(4.39,0.14 ^ 2,68)E |0.0011 0.0003 [0.000,0.002]1.000吨(0.00,0.00 ^ 2,68)WR |2.4683 0.3490 [1.782,3.154]1.000吨(2.47,0.34 ^ 2,68)西格玛-2 |44.1347 7.8020 [31.427,61.855] 1.000 IG(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 = {'IPI''E''WR'};X = {数据表:,varNames};Y = {数据表:,“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吨(4.39,0.14 ^ 2,68)E |0.0011 0.0003 [0.000,0.002]1.000吨(0.00,0.00 ^ 2,68)WR |2.4683 0.3490 [1.782,3.154]1.000吨(2.47,0.34 ^ 2,68)西格玛-2 |44.1347 7.8020 [31.427,61.855] 1.000 IG(34.00,0.00069)

摘要是一个包含统计数据的表吗估计显示在命令行。

虽然边缘和条件后验分布 β σ 2 都是易分析处理的,这个例子着重于如何实现吉布斯采样器,以再现已知的结果。

再次估计模型,但要使用吉布斯采样器。交替从参数的条件后验分布中采样。采样10,000次并为预分配创建变量。从有条件的后验开始采样 β 特定 σ 2 = 2

米= 1E4;BetaDraws =零(P + 1,M);sigma2Draws =零(1,M + 1);sigma2Draws(1)= 2;RNG(1);%用于重现对于j = 1:m BetaDraws(:,j) =模拟(PriorMdl,X,y,“Sigma2”sigma2Draws (j));[~, sigma2draw (j + 1)] =模拟(PriorMdl,X,y,“β”BetaDraws (:, j));结束sigma2Draws = sigma2Draws(2:结束);%取下MCMC样品初始值

该参数的图形痕迹地块。

图;对于j = 1:(p + 1);次要情节(2,2,j);情节(BetaDraws (j,:)) ylabel (“MCMC绘制”)xlabel(“模拟指数”)标题(sprintf ('Trace Plot - %s',PriorMdl.VarNames {Ĵ}));结束

图;情节(sigma2Draws) ylabel (“MCMC绘制”)xlabel(“模拟指数”)标题(“Trace plot - Sigma2”

马尔可夫链蒙特卡罗(MCMC)样本具有较好的收敛性和混合性能。

应用1000个绘制的老化周期,然后计算MCMC样本的平均值和标准差。将它们与估算值进行比较估计

BP = 1000;postBetaMean =平均(BetaDraws(:,(BP + 1):结束),2);postSigma2Mean =平均(sigma2Draws(:,(BP + 1):结束));postBetaStd = STD(BetaDraws(:,(BP + 1):结束),[],2);postSigma2Std = STD(sigma2Draws((BP + 1):结束));[摘要(:,1:2),表([postBetaMean; postSigma2Mean]...[postBetaStd;postSigma2Std),'VariableNames'{“GibbsMean”“GibbsStd”})]
ANS =5×4表标准的标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路是标准的三进路

这些估计都非常接近。MCMC变化占的差异。

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

假定这些先验分布 ķ = 0,…,3:

  • β ķ | σ 2 γ ķ = γ ķ σ V ķ 1 ž 1 + 1 - γ ķ σ V ķ 2 ž 2 ,其中 ž 1 ž 2 是独立的标准正态随机变量。因此,系数呈高斯混合分布。假设所有系数都是先验的条件独立的,但它们依赖于扰动方差。

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

  • γ ķ { 0 1 } 它表示具有离散均匀分布随机变量模型 - 包裹体状态变量。

创建执行的SSVs采用现有的模型。假使,假设 β σ 2 是相关的(共轭混合模型)。指定预测器的数量p以及回归系数的名称。

P = 3;PriorMdl = mixconjugateblm(P,'VarNames'[“他们”“E”“WR”]);

加载纳尔逊 - 普洛瑟数据集。创建响应和预测序列变量。

加载Data_NelsonPlosserX = {数据表:,PriorMdl.VarNames(2:结束)};Y = {数据表:,“GNPR”};

计算可能的状态数,即模型中包含和排除变量所产生的组合数。

cardRegime = 2 ^(PriorMdl.Intercept + PriorMdl.NumPredictors)
cardRegime = 16

从后验分布模拟万个政权。

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Ë0.098 WR 0.1692

考虑包含一个预测贝叶斯线性回归模型,和一个Ť分布扰动方差具有一个轮廓的自由度参数 ν

  • λ Ĵ 一世 G ν / 2 2 / ν

  • ε Ĵ | λ Ĵ ñ 0 λ Ĵ σ 2

  • F β σ 2 1 σ 2

这些假设意味着:

  • ε Ĵ Ť 0 σ 2 ν

  • λ Ĵ | ε Ĵ 一世 G ν + 1 2 2 ν + ε Ĵ 2 / σ 2

λ 是潜在标度参数的一个向量,它将较低的精度归因于远离回归线的观测值。 ν 超参数控制的影响 λ 在观察。

对于这个问题,Gibbs sampler非常适合估计系数,因为您可以模拟贝叶斯线性回归模型的参数 λ ,然后模拟 λ 从它的条件分布。

生成 ñ = 1 0 0 的回应 ÿ Ť = 1 + 2 X Ť + Ë Ť 哪里 X [ 0 2 ] Ë Ť ñ 0 0 2

RNG('默认');N = 100;X = linspace(0,2,N)';B0 = 1;B1 = 2;西格玛= 0.5;E = randn(N,1);Y = B0 + B1 * X +西格玛* E;

通过膨胀下面的所有响应来引入外围响应 X = 0 2 通过3倍。

Y(X <0.25)= Y(X <0.25)* 3;

适合于该数据的线性模型。图中的数据和拟合回归直线。

MDL = fitlm(X,Y)
MDL =线性回归模型为:y〜1个+ X1估计系数:估计SE TSTAT p值________ _______ ______ __________(截距)2.6814 0.28433 9.4304 2.0859e-15 X1观察0.78974 0.24562 3.2153 0.0017653号:100,错误自由度:98根均方误差:1.43 R平方:0.0954,调整R平方:0.0862 F统计与常数模型:10.3,p值= 0.00177
图;情节(Mdl);hl =传奇;持有;

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

实现此吉布斯采样:

  1. 从后验分布的参数绘制 β σ 2 | ÿ X λ 。通过放气的意见 λ ,创建一个具有两个回归系数的扩散先验模型,并从后验中绘制一组参数。第一个回归系数对应于截距,因此指定bayeslm不包括截距。

  2. 计算残差。

  3. 从条件后得出的值 λ

运行Gibbs sampler进行20,000次迭代,并应用5000次老化周期。指定 ν = 1 ,预分配的后得出,并初始化 λ 变成一个向量。

m = 20000;ν= 1;燃烧= 5000;= 1 (n,m + 1);estBeta = 0 (2,m + 1);estSigma2 = 0 (1,m + 1);对于j = 1:m yDef = y /√(lambda(:,j));xDef = [ones(n,1) x]./√(lambda(:,j));PriorMdl = bayeslm (2'模型'“扩散”“拦截”,假);[estBeta(:,J + 1),estSigma2(1,J + 1)] =模拟(PriorMdl,xDef,yDef);EP = Y  -  [一(N,1)X] * estBeta(:,J + 1);SP =(NU + 1)/ 2;。SC = 2./(nu + EP ^ 2 / estSigma2(1,J + 1));拉姆达(:,J + 1)= 1./gamrnd(sp,sc);结束

一个好的实践是通过检查跟踪图来诊断MCMC采样器。为了简单起见,这个示例跳过了这个任务。

计算平均值的从回归系数后得出。删除老化时间绘制。

后测=平均值(estBeta(:,(burnin + 1):end),2)
postEstBeta =2×11.3971 1.7051

截距的估计值较低,而斜率则高于返回的估计值fitlm

绘制与装配通过最小二乘回归直线的稳健回归线。

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

使用强大的贝叶斯回归出现的回归拟合线是一个更好的选择。

的最大后验概率(MAP)估计是后侧模式,即,参数值产生最大后验概率密度。如果是后分析棘手的,那么你可以使用蒙特卡罗抽样估计MAP。

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

加载纳尔逊 - 普洛瑟数据集。创建响应和预测序列变量。

加载Data_NelsonPlosservarNames = {'IPI''E''WR'};X = {数据表:,varNames};Y = {数据表:,“GNPR”};

创建用于线性回归参数的正逆伽马共轭先验模型。指定预测器的数量p和变量名。

P = 3;PriorMdl = bayeslm(P,'ModelType'“共轭”'VarNames',varNames)
PriorMdl = conjugateblm与属性:NumPredictors:3截取:1个VarNames:{4X1细胞}穆:[4X1双】V:[4×4双] A:3 B:1 |均值标准CI95正分布-----------------------------------------------------------------------------------拦截|0 70.7107 [-141.273,141.273]0.500吨(0.00,57.74 ^ 2,6)IPI |0 70.7107 [-141.273,141.273]0.500吨(0.00,57.74 ^ 2,6)E |0 70.7107 [-141.273,141.273]0.500吨(0.00,57.74 ^ 2,6)WR |0 70.7107 [-141.273,141.273]0.500吨(0.00,57.74 ^ 2,6)西格玛-2 |0.5000 0.5000 [0.138,1.616] 1.000 IG(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吨(4.39,0.14 ^ 2,68)E |0.0011 0.0003 [0.000,0.002]1.000吨(0.00,0.00 ^ 2,68)WR |2.4683 0.3490 [1.782,3.154]1.000吨(2.47,0.34 ^ 2,68)西格玛-2 |44.1347 7.8020 [31.427,61.855] 1.000 IG(34.00,0.00069)

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

提取的后验均值 β 从后部模型,并提取的后协方差 β 从估算汇总返回由总结

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

estBetaMean是表示平均值的边缘后验的4×1矢量 β EstBetaCov4×4矩阵是否表示的是后验的协方差矩阵 β

从后验分布绘制万的参数值。

RNG(1);%用于重现[BetaSim, sigma2Sim] =模拟(PosteriorMdl,'NumDraws',1E5);

BetaSim是随机抽取的回归系数的4乘万矩阵。sigma2Sim是随机抽取的干扰方差的1逐万矢量。

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

estBetaStd = SQRT(DIAG(EstBetaCov)');BetaSim = BetaSim';BetaSimStd =(BetaSim  -  estBetaMean')./ estBetaStd;BetaCorr = corrcov(EstBetaCov);BetaCorr =(BetaCorr + BetaCorr')/ 2;%强制对称

由于边缘后验分布是已知的,评估在所有模拟值的后验概率密度。

betaPDF = mvtpdf(BetaSimStd,BetaCorr,68);A = 34;B = 0.00069;igPDF = @(X,AP,BP)1 ./(γ-(AP)* bp的^ AP。)* 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是MAP估计。

由于后 β 是对称的,单峰,后均值和MAP应该是相同的。比较的图估计 β 其平均后路。

表(betaMAP”,PosteriorMdl.Mu,'VariableNames'{“地图”'意思'},...“RowNames”PriorMdl.VarNames)
ANS =4×2表MAP平均_________ _________拦截-24.559 -24.249 IPI 4.3964 4.3913Ë0.0011389 0.0011202 WR 2.4473 2.4683

这两个估计值相当接近。

的后验分析模式 σ 2 。比较它的估计MAP σ 2

igMode = 1 /(B *(A + 1))
igMode = 41.4079
sigma2MAP
sigma2MAP = 41.4075

这些估计也相当接近。

输入参数

全部收缩

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

模型对象 描述
conjugateblm 返回的相依的、正-反-共轭模型bayeslm要么估计
semiconjugateblm 所返回的独立、正-反-伽玛半聚门模型bayeslm
diffuseblm 扩散先验模型由归国bayeslm
empiricalblm 先验模型的特征是样本来自先验分布,由bayeslm要么估计
customblm 该声明由归国之前分布函数bayeslm
mixconjugateblm 相关的,用于SSVS预测变量选择的gaussi -mix -inverse-gamma共轭模型,由bayeslm
mixsemiconjugateblm 独立,为SS VS移至预测变量选择高斯混合物逆伽马semiconjugate模型,通过返回bayeslm
lassoblm 贝叶斯套索回归模型通过返回bayeslm

注意

  • 通常情况下,模型对象通过返回估计表示边缘后验分布。当你用估计如果您指定的条件后验的估计,然后估计返回先前的模式。

  • 如果MDL是一个diffuseblm模型,那么你还必须提供Xÿ因为模拟不能从一个不适当的先验分布中得到。

  • 如果提供lassoblmmixconjugateblm,或mixsemiconjugateblm模型对象,提供数据Xÿ和从后绘制一个值,那么最好的做法是通过指定初始化Gibbs抽样BetaStartSigma2Start名称-值对参数。

对于多元线性回归模型的预测数据,指定为numObservations-通过-PriorMdl.NumPredictors数字矩阵。numObservations是观测值的数量和必须等于的长度ÿ

如果MDL是后验分布,则列X必须对应于用于估计后预测数据的列。

数据类型:

对于多元线性回归模型的响应数据,指定为与数字向量numObservations元素。

数据类型:

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。的名字是参数的名称和是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

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

所有型号的选项

全部收缩

数提请样品从分布MDL,指定为逗号分隔的一对组成的'NumDraws'和一个正整数。

小费

如果MDL是一个empiricalblmcustomblm模型对象,那么一个好的做法是指定老化时间与模拟运行稀释倍增器。有关调整样本大小的详细信息,请参阅算法

例:'NumDraws',1E7

数据类型:

除经验模型外的所有模型的选项

全部收缩

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

您不能指定βσ-2同时。

默认情况下,模拟不从的条件后得出σ2

例:“贝塔”,1:3

数据类型:

扰动方差来自回归系数的条件分布的模拟值,指定为逗号分隔的一对组成的“Sigma2”和一个正的数字标量。当使用一后验分布,模拟从平πβ|ÿXσ-2),其中ÿÿXXσ-2是的价值“Sigma2”

您不能指定σ-2β同时。

默认情况下,模拟不从的条件后得出β

例:“Sigma2”, 1

数据类型:

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

全部收缩

数绘制以从样品的开头删除,以减少瞬态效应,指定为逗号分隔的一对组成的“燃烧”和一个非负标量。有关如何详细信息模拟降低了全样本见算法

小费

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

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

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

  3. 画跟踪情节。

例:“燃烧”,0

数据类型:

调整样本大小乘法器,指定为逗号分隔的一对组成的'瘦'和一个正整数。

实际的样本量模拟运行+NumDraws*瘦。在丢弃的老化,模拟每丢弃-1绘制,然后保留下一个平局。有关如何更多详情模拟降低了全样本见算法

小费

为了减少潜在的大序列相关于样品中,或以减少内存消耗的抽奖存储在PosteriorMdl,指定一个较大的值

例:'薄',5

数据类型:

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

小费

一个好的做法是将运行模拟多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。

例:'BetaStart',[1;2;3]

数据类型:

开始干扰方差为取样器的值,指定为逗号分隔的一对组成的'Sigma2Start'和一个正的数字标量。默认情况下,Sigma2Start为OLS残差的均方误差。

小费

一个好的做法是将运行模拟多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。

例:'Sigma2Start',4

数据类型:

为的SSVs型号选项

全部收缩

启动潜制度的值采样,指定为逗号分隔的一对组成的'RegimeStart'和一个逻辑列向量与(Mdl.Intercept+Mdl.NumPredictors)元素。RegimeStart(ķ=真正表示该变量的夹杂物Mdl.VarNames (ķRegimeStart(ķ=表示该变量的排斥。

小费

一个好的做法是将运行模拟多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。

例:'RegimeStart',逻辑(兰迪([0 1],Mdl.Intercept + Mdl.NumPredictors,1))

数据类型:

定制模型的选项

全部收缩

的重新参数σ2日志(σ2)后估计和模拟,指定为逗号分隔的一对组成的期间“Reparameterize”并在此表中的值。

描述
模拟不重新参数σ2
真正 模拟reparameterizesσ2日志(σ2)。模拟转换结果返回到原来的规模和不会改变的函数形式PriorMdl.LogPDF

小费

如果你的后估计或模拟过程中遇到的数字不稳定性σ2,然后指定“重新参数化”,真正的

例:“重新参数化”,真正的

数据类型:合乎逻辑

MCMC采样器,指定为逗号分隔对,由的取样器并在此表中的值。

描述
'切片' 切片取样
“大都市” 随机游走都市采样
'HMC' 哈密​​顿蒙特卡洛(HMC)采样

小费

  • 要提高MCMC绘制的质量,请调整采样器。

    1. 在调用模拟,通过使用来指定调优参数及其值sampleroptions。例如,指定切片采样器的宽度宽度使用:

      选项= sampleroptions(的取样器“切片”'宽度',宽度);

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

      “选项”,选择

  • 如果指定了HMC取样,那么最好的做法是为某些变量提供梯度,至少。模拟求任何缺失的偏导数的数值计算(为NaN值)在梯度矢量。

例:'采样', “HMC”

数据类型:

采样器选项,指定为逗号分隔对组成的“选项”和结构数组返回由sampleroptions。采用“选项”指定MCMC采样器及其调优参数值。

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

数据类型:结构体

围绕在用于切片采样器的边缘分布的电流值的典型取样间隔的宽度,被指定为逗号分隔的一对组成的'宽度'和正的数值标量或一个(PriorMdl.Intercept+PriorMdl.NumPredictors+1)正值×1数值向量。第一元件对应于模型截距,如果一个模型中的存在。下一个PriorMdl.NumPredictors元件对应于由预测数据列有序预测变量的系数。最后一个元素对应型号的差异。

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

  • 如果宽度是数值向量,则模拟将第一个元素应用于截距(如果存在),则应用下一个元素PriorMdl.NumPredictors元件,以回归系数对应于预测变量X和最后一个元素的扰动变化。

  • 如果样品大小(大小(X, 1))小于100,那么宽度10默认。

  • 如果样本大小为至少100,然后模拟宽度在默认情况下对应后的标准偏差,假定的漫先验模型的向量(diffuseblm)。

切片采样器的典型宽度不影响MCMC样品的收敛性。它会影响所需的功能评价的数量,也就是算法的效率。如果宽度太小,则该算法可以实现功能的评价的数量过多,以确定适当的采样宽度。如果宽度过大,则算法可能需要的宽度减少到合适的大小,这就需要功能评估。

模拟发送宽度slicesample函数。有关详细信息,请参阅slicesample

小费

  • 为了获得最大的灵活性,指定切片采样宽度宽度通过使用“选项”名称-值对的论点。例如:

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

例:'宽度',[100个*也是(3,1); 10]

输出参数

全部收缩

模拟回归系数,返回一个(Mdl.Intercept+Mdl.NumPredictors)-通过-NumDraws数字矩阵。行对应的变量Mdl.VarNames,而列对应于从分布中单独、连续、独立的抽取。

模拟干扰方差,返回为1逐NumDraws正值的数值向量。列对应于个体,连续的,独立的从分配绘制。

模拟制度表示从模型变量包括或排除,返回一个(Mdl.Intercept+Mdl.NumPredictors)-通过-NumDraws逻辑矩阵。行对应的变量Mdl.VarNames,而列对应于从分布中单独、连续、独立的抽取。

模拟回报政权除非MDL是一个mixconjugateblm要么mixsemiconjugateblm模型对象。

RegimeSim(ķd=真正表示该变量的夹杂物Mdl.VarNames (ķ在绘制模型中dRegimeSim(ķd=表明变量的抽奖模式排除d

限制

  • 模拟不能从借鉴价值分配不当,即密度不等于1的分布。

  • 如果MDL是一个empiricalblm模型对象,那么你可以不指定β要么σ-2。你不能用经验分布来模拟条件后验分布。

更多关于

全部收缩

贝叶斯线性回归模型

一个贝叶斯线性回归模型将参数βσ2在多元线性回归(MLR)模型ÿŤ=XŤβ+εŤ为随机变量。

对于倍Ť= 1,…,Ť

  • ÿŤ是观察到的响应。

  • XŤ是1副(p+ 1)的观测值的行向量p预测。为了适应模型截距,X1Ť= 1对于所有Ť

  • β是(p的各列所对应的回归系数的列向量XŤ

  • εŤ是零和冠状病毒平均随机干扰(ε)=σ2一世Ť×Ť,而ε是一个Ť×1包含所有的干扰向量。这些假设意味着数据可能是

    β σ 2 | ÿ X = Ť = 1 Ť φ ÿ Ť ; X Ť β σ 2

    φÿŤ;XŤβσ2)是具有均值的高斯概率密度XŤβ和方差σ2评估在ÿŤ;

在考虑数据之前,您施加a联合先验分布假设上(βσ2)。在贝叶斯分析中,可以使用关于从数据的似然所获得的参数的信息更新所述参数的分布。其结果是联合后验分布的(βσ2) 或者有条件的后验分布的参数。

算法

  • 每当模拟当必须估计的后验分布(例如,MDL代表先验分布和您提供Xÿ)和后部是易处理的分析,模拟直接从后模拟。否则,模拟诉诸蒙特卡罗模拟来估计的后验。有关详细信息,请参阅验后估计与推理

  • 如果MDL那么关节后验模型呢模拟以不同的方式从其中模拟数据MDL你们提供的是联合先验模型吗Xÿ。因此,如果你设置了相同的随机种子和生成的随机值两种方式,那么你可能无法获得相同的值。然而,基于足够数量的绘制对应经验分布实际上等同。

  • 此图显示了模拟通过使用的值降低了样品NumDraws模拟运行

    矩形表示连续从分配绘制。模拟去除来自样品的白色矩形。剩余的NumDraws黑色矩形构成的样品。

  • 如果MDL是一个semiconjugateblm模型对象,然后模拟应用吉布斯采样器从后验分布中取样。

    1. 模拟使用默认值Sigma2Start对于σ2并提请值βπβ|σ2Xÿ)。

    2. 模拟绘制的值σ2πσ2|βXÿ)通过使用先前生成的值β

    3. 函数重复步骤1和2直到收敛。为了评估收敛,抽取样本的轨迹曲线。

    如果您指定BetaStart, 然后模拟绘制的值σ2πσ2|βXÿ)开始吉布斯采样。模拟不返回的这个生成值σ2

  • 如果MDL是一个empiricalblm模型对象,而你没有供应Xÿ, 然后模拟从平Mdl.BetaDrawsMdl.Sigma2Draws。如果NumDraws小于或等于numel(Mdl.Sigma2Draws), 然后模拟返回第一个NumDraws要点Mdl.BetaDrawsMdl.Sigma2Draws作为随机抽取的对应参数。否则,模拟随机重新取样NumDraws从要素Mdl.BetaDrawsMdl.Sigma2Draws

  • 如果MDL是一个customblm模型对象,然后模拟使用一个MCMC采样器从后验分布绘制。在每次迭代中,该软件串接回归系数的当前值和干扰方差成(Mdl.Intercept+Mdl.NumPredictors+ 1)- 1向量,并将它传递给Mdl.LogPDF。干扰方差的值是该矢量的最后一个元素。

  • 该HMC取样器既需要数密度及其梯度。梯度应该是一个(NumPredictors +截距+ 1)×1向量。如果某些参数的衍生物是难以计算,然后,在梯度的对应位置,供给为NaN值来代替。模拟内容替换为NaN与数值衍生物值。

  • 如果MDL是一个lassoblmmixconjugateblm,或mixsemiconjugateblm模型对象和您提供Xÿ, 然后模拟应用吉布斯采样器从后验分布中取样。如果你不提供数据,然后模拟从分析的,无条件的先验分布样本。

  • 模拟不返回默认的初始值,它生成。

  • 如果MDL是一个mixconjugateblm要么mixsemiconjugateblm, 然后模拟从政权分布绘制第一,给定链的当前状态(的值RegimeStartBetaStartSigma2Start)。如果你画一个样本,并没有为指定值RegimeStartBetaStartSigma2Start, 然后模拟使用默认值,并发出警告。

介绍了在R2017a