模拟贝叶斯线性回归模型的回归系数和扰动方差
(
也返回距潜政权分布,如果平BetaSim
,sigma2Sim
,RegimeSim
)=模拟(___)Mdl
是随机搜索变量选择(SSVS)的贝叶斯线性回归模型吗Mdl
是一个mixconjugateblm
或mixsemiconjugateblm
模型对象。
考虑预测美国实际国民生产总值的多元线性回归模型(GNPR
),用工业生产指数(新闻学会
),总就业(E
)和实际工资(WR
)。
对所有 , 一系列独立的高斯扰动的均值和方差是0吗 。
假设这些先验分布:
。 是一个4×1的均值向量,和 是缩放4乘4正定协方差矩阵。
。 和 为反伽马分布的形状和比例。
这些假设和数据似然性意味着一个正-反-伽马共轭模型。
加载Nelson-Plosser数据集。为响应和预测序列创建变量。
负载Data_NelsonPlosservarNames = {'IPI''E''WR'};X = DataTable {: 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 Log边际似然:-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
betaSimPost
和sigma2SimPost
有相同的尺寸吗betaSimPrior
和sigma2SimPrior
,但都是从后面画出来的。
考虑回归模型从此前与后验分布模拟参数值。
加载数据并为回归系数和扰动方差创建一个共轭先验模型。然后,估计后验分布,返回估计汇总表。
负载Data_NelsonPlosservarNames = {'IPI''E''WR'};X = DataTable {: varNames};Y = {数据表:,“GNPR”};p = 3;PriorMdl = bayeslm (p,“ModelType”,“共轭”,“VarNames”,varNames);[PosteriorMdl,总结] =估计(PriorMdl,X,Y);
方法:解析后验分布观测数:62预测因子数:4 Log边际似然:-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)
总结
是包含统计信息的表吗估计
显示在命令行。
虽然边际和条件后验分布 和 都是易分析处理的,这个例子的重点是如何实现吉布斯采样器,以再现已知的结果。
再次估计模型,但使用吉布斯采样器。交替从参数的条件后验分布中采样。采样10,000次并为预分配创建变量。从条件后验开始采样 特定 。
m = 1 e4;= 0 (p + 1,m);sigma2draw = 0 (1,m + 1);sigma2Draws (1) = 2;rng (1);%的再现性为j = 1:m BetaDraws(:,j) =模拟(PriorMdl,X,y,“西格玛-2”sigma2Draws (j));[~, sigma2draw (j + 1)] =模拟(PriorMdl,X,y,“β”BetaDraws (:, j));结束sigma2Draws = sigma2Draws(2:结束);从MCMC样本中移除初始值
绘制参数的轨迹图。
图;为J = 1:(P + 1);副区(2,2,j)的;图(BetaDraws(J,:))ylabel(“获得画”)包含(“模拟指数”)标题(的sprintf('跟踪图 - %S',PriorMdl.VarNames {Ĵ}));结束
图;情节(sigma2Draws) ylabel (“获得画”)包含(“模拟指数”)标题(“轨迹曲线 - 西格玛-2”)
马尔科夫链蒙特卡洛(MCMC)样品出现会聚并拌匀。
使用1000个绘制的老化周期,然后计算MCMC样本的平均值和标准差。将它们与估算值进行比较估计
。
英国石油(bp) = 1000;=平均(BetaDraws(:,(bp + 1):end),2);postSigma2Mean = mean(sigma2draw (:,(bp + 1):end));postBetaStd =性病(BetaDraws (:, (bp + 1):结束),[],2);postSigma2Std = std(sigma2draw ((bp + 1):end));[摘要:1:2),表([postBetaMean;postSigma2Mean),...[postBetaStd;postSigma2Std]'VariableNames',{“GibbsMean”,“GibbsStd”})]
ANS =5×4表平均标准分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分长臂猿分
这些估计都非常接近。MCMC变化占的差异。
考虑回归模型从此前与后验分布模拟参数值。
假定这些先验分布 = 0,…,3:
,其中 和 是独立的,标准正态分布随机变量。因此,系数具有高斯混合分布。假设所有的系数是有条件独立的,先验的,但它们都依赖于扰动变化。
。 和 为反伽马分布的形状和比例。
它表示具有离散均匀分布随机变量模型 - 包裹体状态变量。
创建执行的SSVs采用现有的模型。假使,假设
和
取决于(共轭混合模型)。指定预测的数量p
以及回归系数的名称。
p = 3;PriorMdl = mixconjugateblm (p,“VarNames”,(“IPI”“E”“福”]);
加载Nelson-Plosser数据集。为响应和预测序列创建变量。
负载Data_NelsonPlosserX = {数据表:,PriorMdl.VarNames(2:结束)};Y = {数据表:,“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 WR 0.1692
考虑包含一个预测贝叶斯线性回归模型,和一个t分布式干扰方差与异形自由度参数 。
。
这些假设暗示:
是低精度从回归线远属性来观察潜尺度参数的向量。 是超参数控制的影响吗 在观察。
对于这个问题,吉布斯采样器非常适合于估计系数,因为你可以模拟一个贝叶斯的参数的线性回归模型对空调 ,然后模拟 从它的条件分布。
生成 从反应 哪里 和 。
rng (“默认”);n = 100;x = linspace (0 2 n) ';b0 = 1;b1 = 2;σ= 0.5;e = randn (n, 1);y = b0 + b1*x + sigma*e;
通过膨胀下面的所有响应来引入外围响应 是原来的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 =传奇;持有在;
模拟的异常值似乎会影响拟合的回归线。
实施这个吉布斯采样器:
从后验分布中提取参数
。缩小观测值
,建立一个具有两个回归系数的扩散先验模型,并从后验中提取一组参数。第一个回归系数对应于截距,所以指定它bayeslm
不包括拦截。
计算残差。
的条件后验值 。
运行Gibbs sampler进行20,000次迭代,并应用一个5000次的老化周期。指定 ,预分配的后得出,并初始化 变成一个向量。
米= 20000;NU = 1;老化= 5000;拉姆达=酮(N,M + 1);estBeta =零(2,M + 1);estSigma2 =零(1,M + 1);为J = 1:米yDef = y./sqrt(lambda(:,j));xDef = [一(N,1)X] ./ SQRT(拉姆达(:,J));PriorMdl = bayeslm(2,“模型”,“扩散”,'截距'、假);[estBeta(:,j + 1),estSigma2(1,j + 1)] =模拟(PriorMdl,xDef,yDef);ep = y - [ones(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采样器。为了简单起见,这个示例跳过了这个任务。
从回归系数的后验值计算其均值。移除老化期间的绘图。
=平均值(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)估计是后验模式,即产生最大后验pdf的参数值。如果后验是分析棘手的,那么你可以使用蒙特卡罗抽样来估计地图。
考虑线性回归模型从此前与后验分布模拟参数值。
加载Nelson-Plosser数据集。为响应和预测序列创建变量。
负载Data_NelsonPlosservarNames = {'IPI''E''WR'};X = DataTable {: 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)
估计的边际后验分布 和 。
rng (1);%的再现性PosteriorMdl =估计(PriorMdl, X, y);
方法:解析后验分布观测数:62预测因子数:4 Log边际似然:-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:(end - 1),1:(end - 1)};
estBetaMean
一个4×1的向量是否代表的是后缘的平均值
。EstBetaCov
是代表的后的协方差矩阵的4乘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);
betaMAP
和sigma2MAP
是地图的估计值。
因为后面 是对称的,单峰,后均值和MAP应该是相同的。比较的图估计 它的后均值。
表(betaMAP、PosteriorMdl.Mu'VariableNames',{'地图',“的意思是”},...“RowNames”PriorMdl.VarNames)
ANS =4×2表地图的意思是……,……拦截……,……,
估计是相当接近彼此。
估计的后验的分析模式 。将其与估算的地图进行比较 。
igMode = 1 / (b * (+ 1))
igMode = 41.4079
sigma2MAP
sigma2MAP = 41.4075
这些估计也相当接近。
Mdl
- - - - - -贝叶斯线性回归模型conjugateblm
模型对象|semiconjugateblm
模型对象|diffuseblm
模型对象|mixconjugateblm
模型对象|lassoblm
模型对象标准贝叶斯线性回归模型或预测变量选择模型,在此表中指定为模型对象。
模型对象 | 描述 |
---|---|
conjugateblm |
依赖性,正逆伽马共轭模型返回由bayeslm 或估计 |
semiconjugateblm |
由。返回的独立、正反-伽玛半聚门模型bayeslm |
diffuseblm |
漫反射先验模型返回bayeslm |
empiricalblm |
先验模型的特征是样本来自先验分布,由bayeslm 或估计 |
customblm |
声明返回的先验分布函数bayeslm |
mixconjugateblm |
依赖性的,高斯混合物-逆伽马共轭模型预测的SSVs变量选择,通过返回bayeslm |
mixsemiconjugateblm |
独立,为SS VS移至预测变量选择高斯混合物逆伽马semiconjugate模型,通过返回bayeslm |
lassoblm |
贝叶斯lasso回归模型由bayeslm |
通常,模型对象由估计
表示边缘后验分布。当你用估计
,如果指定条件后验估计,则估计
返回先前的模式。
如果你提供lassoblm
,mixconjugateblm
,或mixsemiconjugateblm
模型对象,提供数据X
和y
和从后绘制一个值,那么最好的做法是通过指定初始化Gibbs抽样BetaStart
和Sigma2Start
名称 - 值对的参数。
y
- - - - - -响应数据对于多元线性回归模型的响应数据,指定为与数字向量numObservations
元素。
数据类型:双
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
是对应的值。的名字
必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家
。
'西格玛-2',2
指定由给定数据和指定扰动方差的回归系数的条件后验分布进行模拟2
。
“燃尽”
- - - - - -从样品开始抽取的次数0
(默认)|负的标量为减少瞬态效应,从样本的开始删除的绘制次数,指定为逗号分隔对组成“燃尽”
和一个非负的标量。参阅有关如何模拟
减少整个样本,看算法。
为了帮助您指定适当的老化期大小:
通过指定确定瞬态行为的程度与样品中“燃烧”,0
。
通过使用模拟几千次观察模拟
。
画跟踪情节。
例子:“燃烧”,0
数据类型:双
“BetaStart”
- - - - - -采样器回归系数的起始值采样器的回归系数的起始值,指定为逗号分隔的对“BetaStart”
和一个带(Mdl.Intercept
+Mdl.NumPredictors
)元素。默认情况下,BetaStart
为普通最小二乘估计。
一个好的做法是将运行模拟
多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。
例子:“BetaStart”, [1;2;3]
数据类型:双
“Sigma2Start”
- - - - - -开始干扰方差值采样开始干扰方差为取样器的值,指定为逗号分隔的一对组成的“Sigma2Start”
和一个正的数字标量。默认情况下,Sigma2Start
为OLS残差的均方误差。
一个好的做法是将运行模拟
多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。
例子:'Sigma2Start',4
数据类型:双
“RegimeStart”
- - - - - -采样器潜伏期的起始值真正的(Mdl。我ntercept + Mdl.NumPredictors)
(默认)|逻辑列向量采样器潜伏期的起始值,指定为逗号分隔对,由“RegimeStart”
和一个逻辑列向量(Mdl.Intercept
+Mdl.NumPredictors
)元素。RegimeStart (
=k
)真正的
表示包含该变量Mdl.VarNames (
,k
)RegimeStart (
=k
)假
指示该变量的排除。
一个好的做法是将运行模拟
多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。
例子:“RegimeStart”,逻辑(randi ([0, 1], Mdl。拦截+ Mdl.NumPredictors, 1))
数据类型:双
“重新参数化”
- - - - - -Reparameterization的σ2为log(σ2)假
(默认)|真正的
Reparameterization的σ2为log(σ2)时,指定为逗号分隔对组成“重新参数化”
这个表中有一个值。
价值 | 描述 |
---|---|
假 |
模拟 不reparameterizeσ2。 |
真正的 |
模拟 reparameterizesσ2为log(σ2)。模拟 将结果转换回原来的比例,并且不更改的功能形式PriorMdl.LogPDF 。 |
如果在后验估计或模拟过程中出现数值不稳定σ2,然后指定“Reparameterize”,真的
。
例子:“Reparameterize”,真的
数据类型:逻辑
的取样器
- - - - - -密度取样器'切片'
(默认)|“大都市”
|'HMC'
MCMC采样器,指定为逗号分隔对,由的取样器
这个表中有一个值。
价值 | 描述 |
---|---|
'切片' |
片取样器 |
“大都市” |
随机游走都市采样 |
'HMC' |
哈密顿式蒙特卡罗(HMC)采样器 |
为了提高MCMC质量平局,调整采样。
在调用之前模拟
中,指定的调谐参数和它们的值通过使用sampleroptions
。例如,以指定切片采样宽度宽度
, 用:
选项= sampleroptions(的取样器,“切片”,“宽度”、宽度);
指定包含由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]
BetaSim
-模拟回归系数模拟回归系数,以(Mdl.Intercept
+Mdl.NumPredictors
)———NumDraws
数字矩阵。行对应的变量Mdl.VarNames
和列对应于个体,连续的,独立的从分配绘制。
sigma2Sim
-模拟扰动方差模拟扰动方差,以1乘-的形式返回NumDraws
正值的数值向量。列对应于个体,连续的,独立的从分配绘制。
RegimeSim
——模拟政权模拟制度表示从模型变量包括或排除,返回一个(Mdl.Intercept
+Mdl.NumPredictors
)———NumDraws
逻辑矩阵。行对应的变量Mdl.VarNames
和列对应于个体,连续的,独立的从分配绘制。
模拟
返回政权
只有在Mdl
是一个mixconjugateblm
或mixsemiconjugateblm
模型对象。
RegimeSim(
=k
,d
)真正的
表示包含该变量Mdl.VarNames (
在平局的模型k
)
,d
RegimeSim(
=k
,d
)假
表示在draw模型中排除该变量
。d
模拟
无法从分配不当,即密度不等于1的分布。
如果Mdl
是一个empiricalblm
模型对象,则无法指定Beta版
或Sigma2
。你不能从条件后验分布通过使用经验分布模拟。
一个贝叶斯线性回归模型将参数β和σ2在多元线性回归(MLR)模型yt=xtβ+εt为随机变量。
为次t= 1,…,T:
yt是所观察到的响应。
xt是一个1 - (p+ 1)观测值的行向量p预测。为了适应模型截距,x1t= 1t。
β是(p+ 1)×1对应于该构成的列中的变量回归系数的列向量xt。
εt为均值为0的随机扰动,Cov(ε)=σ2我T×T,而ε是一个T包含所有扰动的-乘1向量。这些假设意味着数据的可能性是
ϕ(yt;xtβ,σ2)是高斯概率密度与平均xtβ和方差σ2在评估yt;。
在考虑数据之前,您先施加a联合先验分布假设(β,σ2)。在贝叶斯分析中,通过使用从数据的可能性中获得的参数信息来更新参数的分布。结果是联合后验分布(β,σ2) 或者有条件的后验分布的参数。
每当模拟
必须估计后验分布(例如,什么时候Mdl
代表先验分布和您提供X
和y
)和后部是易处理的分析,模拟
直接从后面模拟。除此以外,模拟
采用蒙特卡罗模拟方法进行后验估计。有关更多细节,请参见后验估计与推理。
如果Mdl
是一个联合后验模型,然后模拟
不同地时相比,从它模拟数据Mdl
你们提供的是联合先验模型吗X
和y
。因此,如果你设置了相同的随机种子和生成的随机值两种方式,那么你可能无法获得相同的值。然而,基于足够数量的绘制对应经验分布实际上等同。
该图显示了模拟
通过使用的值来减少样本NumDraws
,瘦
,燃烧
。
矩形表示连续从分配绘制。模拟
去除来自样品的白色矩形。剩余的NumDraws
黑色矩形构成了样本。
如果Mdl
是一个semiconjugateblm
模型对象,然后模拟
应用吉布斯采样器对后验分布进行采样。
模拟
使用默认值Sigma2Start
为σ2的值β从π(β|σ2,X,y)。
模拟
绘制的值σ2从π(σ2|β,X,y)使用之前生成的值β。
函数重复第1步和第2步,直到收敛。为了评估收敛性,绘制样本的跟踪图。
如果您指定BetaStart
,然后模拟
绘制的值σ2从π(σ2|β,X,y)启动吉布斯采样器。模拟
不返回此生成的值吗σ2。
如果Mdl
是一个empiricalblm
模型对象,您不提供X
和y
,然后模拟
从Mdl.BetaDraws
和Mdl.Sigma2Draws
。如果NumDraws
是小于还是等于numel(Mdl.Sigma2Draws)
,然后模拟
返回第一个NumDraws
的元素Mdl.BetaDraws
和Mdl.Sigma2Draws
随机绘制为相应的参数。除此以外,模拟
随机重复采样NumDraws
从要素Mdl.BetaDraws
和Mdl.Sigma2Draws
。
如果Mdl
是一个customblm
模型对象,然后模拟
使用MCMC采样器从后验分布中提取。在每次迭代时,软件将回归系数和扰动方差的当前值串联成一个(Mdl.Intercept
+Mdl.NumPredictors
+ 1)×1向量,并将它传递给Mdl.LogPDF
。扰动方差的值是这个向量的最后一个元素。
HMC采样器需要对数密度和梯度。梯度应该是a(NumPredictors +拦截+ 1)
1的向量。如果某些参数的导数难以计算,则在梯度的相应位置上提供导数南
值来代替。模拟
内容替换南
数值微分。
如果Mdl
是一个lassoblm
,mixconjugateblm
,或mixsemiconjugateblm
模型对象和你的供应X
和y
,然后模拟
应用吉布斯采样器对后验分布进行采样。如果您不提供数据,那么模拟
从分析的,无条件的先验分布样本。
模拟
不返回默认的初始值,它生成。
如果Mdl
是一个mixconjugateblm
或mixsemiconjugateblm
,然后模拟
首先从状态分布中提取,给定当前状态的链(的值)RegimeStart
,BetaStart
,Sigma2Start
)。如果只绘制一个样本而不指定值RegimeStart
,BetaStart
,Sigma2Start
,然后模拟
使用默认值并发出警告。
conjugateblm
|customblm
|diffuseblm
|empiricalblm
|lassoblm
|mixconjugateblm
|mixsemiconjugateblm
|semiconjugateblm
MATLABのコマンドを実行するリンクがクリックされました。
このリンクは,网络ブラウザーでは动作しません.MATLABコマンドウィンドウに以下を入力すると,このコマンドを実行できます。
您还可以选择从下面的列表中的网站:
选择中国网站(中文或英文),以获得最佳的网站表现。其他MathWorks国家站点没有针对您所在位置的访问进行优化。