模拟

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

描述

例子

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

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

  • 如果Mdl被一个联合后验模型(通过返回估计), 然后模拟从后验分布绘制。

例子

(BetaSim,sigma2Sim] =模拟(Mdl,X,y)从通过将所述预测数据产生或更新的边缘后验分布绘制X以及相应的响应数据y

  • 如果Mdl是一个联合先验模型,然后模拟通过与关于它从数据获取参数信息更新现有模型产生的边缘后验分布。

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

数据中的s表示缺失值,其中模拟使用列表删除删除。

例子

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

例子

(BetaSim,sigma2Sim,RegimeSim] =模拟(___)还从潜势分布中抽取若Mdl是贝叶斯线性回归模型随机搜索变量选择(SS VS移至),即,如果Mdlmixconjugateblm要么mixsemiconjugateblm模型对象。

例子

全部折叠

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

GNPR t = β 0 + β 1 IPI t + β 2 E t + β 3. WR t + ε t

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

假定这些先验分布:

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

  • σ 2 G ( 一个 , B ) 一个 B 为反伽马分布的形状和比例尺。

这些假设和数据的可能性意味着一个正常-反向-伽马共轭模型。

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

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

建立线性回归参数的正-反-共轭先验模型。指定预测器的数量p变量名。

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

PriorMdlconjugateblm表示回归系数和干扰方差的先验分布贝叶斯线性回归模型对象。

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

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 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)

PosteriorMdlconjugateblm表示回归系数和干扰方差的后验分布的贝叶斯线性回归模型对象。

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

[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 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 有分析听话,这个例子的重点是如何实现Gibbs抽样重现已知结果。

再次估计模型,而是使用吉布斯采样。从参数的条件后验分布采样之间交替。样品10000次,创造了预分配的变量。通过从条件后延开始采样 β 特定 σ 2 = 2

米= 1E4;BetaDraws =零(P + 1,M);sigma2Draws =零(1,M + 1);sigma2Draws(1)= 2;RNG(1);%用于重现J = 1:米BetaDraws(:,J)=模拟(PriorMdl,X,Y,“Sigma2”,sigma2Draws(J));[〜,sigma2Draws第(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表均值标准GibbsMean GibbsStd _________ __________ _________ __________拦截-24.249 8.7821 -24.293 8.748 IPI 4.3913 0.1414 4.3917 0.13941ë0.0011202 0.00032931 0.0011229 0.00032875 WR 2.4683 0.34895 2.4654 0.34364西格玛-2 44.135 7.802 44.011 7.7816

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

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

假定这些先验分布 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 } 它表示具有离散均匀分布随机变量模型 - 包裹体状态变量。

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

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

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

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

计算从包括和在模型中不包括变量导致组合可能机制的数目,即,数。

cardRegime = 2 ^ (PriorMdl。我ntercept + 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 E 0.098 WR 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 )

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

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

生成 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);y = b0 + b1*x + sigma*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 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 | y , x , λ 。缩小观测值 λ 中,创建具有两个回归系数漫先验模型,并画出了一组从后参数。第一回归系数对应于拦截,所以指定bayeslm不包括拦截。

  2. 计算残差。

  3. 从条件后得出的值 λ

运行吉布斯采样20000次迭代,并应用老化的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 - [one (n,1) x]*estBeta(:,j + 1);sp = (nu + 1)/2;sc = 2。/(nu + ep.^2/estSigma2(1,j + 1)); lambda(:,j + 1) = 1./gamrnd(sp,sc);结束

一个好的做法是通过检查跟踪地块诊断MCMC采样。为了简便起见,该示例跳过此任务。

计算回归系数后验值的平均值。移除老化周期的绘制。

postEstBeta =平均值(estBeta(:,(老化+ 1):结束),2)
postEstBeta =2×11.3971 - 1.7051

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

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

H = GCA;XLIM = h.XLim';PLOTY = [一(2,1)XLIM] * postEstBeta;图(XLIM,PLOTY,'行宽',2);hl.String {4} =“稳健Bayes”;

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

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

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

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

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

建立线性回归参数的正-反-共轭先验模型。指定预测器的数量p变量名。

p = 3;PriorMdl = bayeslm (p,'ModelType',“共轭”,“VarNames”,varNames)
PriorMdl =共轭blm与属性:NumPredictors: 3 Intercept: 1 varname: {4x1 cell} Mu: [4x1 double] V: [4x4 double] A: 3b: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 = Summary.Covariances {1:(结束 -  1),1:(结束 -  1)};

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

从后验分布中提取10000个参数值。

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

BetaSim是随机抽取的回归系数的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);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 独立,正常反伽玛semiconjugate模型通过返回bayeslm
diffuseblm 扩散先验模型由归国bayeslm
empiricalblm 先验模型,其特征在于从先验分布的样品,通过返回bayeslm要么估计
customblm 该声明由归国之前分布函数bayeslm
mixconjugateblm 相关的,用于SSVS预测变量选择的gaussi -mix -inverse-gamma共轭模型,由bayeslm
mixsemiconjugateblm 独立,为SS VS移至预测变量选择高斯混合物逆伽马semiconjugate模型,通过返回bayeslm
lassoblm 贝叶斯lasso回归模型由bayeslm

注意

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

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

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

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

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

数据类型:

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

数据类型:

名称-值对的观点

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

例:“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'和一个正的数字标量。默认,Sigma2Start是OLS剩余均方误差。

提示

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

例:“Sigma2Start”4

数据类型:

为的SSVs型号选项

全部折叠

采样器的潜伏期的起始值,指定为由'RegimeStart'和一个逻辑列向量与(Mdl.Intercept+Mdl.NumPredictors)元素。RegimeStart (k)=真正的表示该变量的夹杂物Mdl.VarNames(k),RegimeStart (k)=表示该变量的排斥。

提示

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

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

数据类型:

有关自定义模式选项

全部折叠

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

价值 描述
模拟不重新参数σ2
真正的 模拟reparameterizesσ2日志(σ2)。模拟将结果转换回原始比例,并且不更改的函数形式PriorMdl.LogPDF

提示

如果在后验估计或模拟过程中出现数值不稳定σ2,然后指定“Reparameterize”,真的

例:“Reparameterize”,真的

数据类型:逻辑

MCMC采样器,指定为逗号分隔的一对组成的“取样”和表中的一个值。

价值 描述
'切片' 片取样器
'都会' 随机游走都市采样
'HMC' 哈密​​顿蒙特卡洛(HMC)采样

提示

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

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

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

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

      “选项”,选择

  • 如果指定HMC采样器,那么最佳实践是至少为某些变量提供梯度。模拟求任何缺失的偏导数的数值计算(值)在梯度向量中。

例:'采样', “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,而列对应于从分布中单独、连续、独立的抽取。

模拟返回政权除非Mdlmixconjugateblm要么mixsemiconjugateblm模型对象。

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的观测值的行向量p预测。为了适应模型截距,x1t= 1t

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

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

    ( β , σ 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黑色矩形构成的样品。

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

    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是小于还是等于numel(Mdl.Sigma2Draws), 然后模拟返回第一个NumDraws的元素Mdl.BetaDrawsMdl.Sigma2Draws作为随机抽取的对应参数。否则,模拟随机重新取样NumDraws从要素Mdl.BetaDrawsMdl.Sigma2Draws

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

  • HMC采样器需要对数密度和梯度。梯度应该是a(NumPredictors +截距+ 1)1的向量。如果某些参数的导数很难计算,那么,在梯度的相应位置上,供给值来替代。模拟内容替换与数值衍生物值。

  • 如果Mdllassoblm,mixconjugateblm, 要么mixsemiconjugateblm模型对象和您提供Xy, 然后模拟应用吉布斯采样器从后验分布中取样。如果你不提供数据,然后模拟从分析的,无条件的先验分布样本。

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

  • 如果Mdlmixconjugateblm要么mixsemiconjugateblm, 然后模拟首先,给定链的当前状态(的值RegimeStart,BetaStart,Sigma2Start)。如果你画一个样本,并没有为指定值RegimeStart,BetaStart,Sigma2Start, 然后模拟使用默认值并发出警告。

介绍了R2017a