模拟贝叶斯线性回归模型的回归系数和扰动方差
(
还从潜势分布中抽取若BetaSim
,sigma2Sim
,RegimeSim
] =模拟(___)Mdl
是贝叶斯线性回归模型随机搜索变量选择(SS VS移至),即,如果Mdl
是mixconjugateblm
要么mixsemiconjugateblm
模型对象。
考虑多元线性回归模型,预测美国的实际国内生产总值(GNPR
),以工业生产指数(IPI
),总就业(E
)和实际工资(WR
)。
对所有人 , 是具有0和方差的平均一系列独立的高斯干扰的 。
假定这些先验分布:
。 是的手段一个4×1向量,以及 是一个4×4正定协方差矩阵。
。 和 为反伽马分布的形状和比例尺。
这些假设和数据的可能性意味着一个正常-反向-伽马共轭模型。
加载纳尔逊 - 普洛瑟数据集。创建响应和预测序列变量。
负载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 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 = {数据表:,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)
摘要
是包含统计信息的表估计
显示在命令行。
虽然边缘和有条件的后验分布 和 有分析听话,这个例子的重点是如何实现Gibbs抽样重现已知结果。
再次估计模型,而是使用吉布斯采样。从参数的条件后验分布采样之间交替。样品10000次,创造了预分配的变量。通过从条件后延开始采样 特定 。
米= 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变化占的差异。
考虑回归模型模拟先验分布和后验分布的参数值。
假定这些先验分布 = 0,...,3:
,其中 和 是独立的标准正态随机变量。因此,系数呈高斯混合分布。假设所有系数都是先验的条件独立的,但它们依赖于扰动方差。
。 和 为反伽马分布的形状和比例尺。
它表示具有离散均匀分布随机变量模型 - 包裹体状态变量。
创建执行的SSVs采用现有的模型。假使,假设
和
是相关的(共轭混合模型)。指定预测器的数量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分布扰动方差具有一个轮廓的自由度参数 。
。
这些假设意味着:
是潜在标度参数的一个向量,它将较低的精度归因于远离回归线的观测值。 是一种超参数控制的影响 在观察。
对于这个问题,Gibbs sampler非常适合估计系数,因为您可以模拟贝叶斯线性回归模型的参数 ,然后模拟 从它的条件分布。
生成 的回应 哪里 和 。
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 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 =图例;保持上;
模拟的离群值似乎会影响拟合的回归线。
实现这个吉布斯采样器:
从后验分布的参数绘制
。缩小观测值
中,创建具有两个回归系数漫先验模型,并画出了一组从后参数。第一回归系数对应于拦截,所以指定bayeslm
不包括拦截。
计算残差。
从条件后得出的值 。
运行吉布斯采样20000次迭代,并应用老化的5000期。指定 ,预分配的后得出,并初始化 到的人的向量。
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)
估计的边际后验分布 和 。
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矢量
。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估计。
因为 是对称的,单峰,后均值和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
这两个估计值相当接近。
的后验分析模式 。比较它的估计MAP 。
igMode = 1 /(B *(A + 1))
igMode = 41.4079
sigma2MAP
sigma2MAP = 41.4075
这些估计也相当接近。
Mdl
- - - - - -贝叶斯线性回归模型conjugateblm
模型对象|semiconjugateblm
模型对象|diffuseblm
模型对象|mixconjugateblm
模型对象|lassoblm
模型对象标准贝叶斯线性回归模型或模型预测变量的选择,指定为在该表中的模型对象。
模型对象 | 描述 |
---|---|
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 |
通常情况下,模型对象通过返回估计
表示边缘后验分布。当您通过使用估算后估计
如果您指定的条件后验的估计,然后估计
返回先前的模式。
如果你提供lassoblm
,mixconjugateblm
, 要么mixsemiconjugateblm
模型对象,提供数据X
和y
和从后绘制一个值,那么最好的做法是通过指定初始化Gibbs抽样BetaStart
和Sigma2Start
名称-值对参数。
y
- - - - - -响应数据对于多元线性回归模型的响应数据,指定为与数字向量numObservations
元素。
数据类型:双
指定可选的逗号分隔的对名称,值
参数。名称
参数名和价值
是对应的值。名称
必须出现在引号内。可以以任意顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
“Sigma2”, 2
指定由给定数据和指定扰动方差的回归系数的条件后验分布进行模拟2
。
“燃烧”
- - - - - -从样本开始抽取的抽取次数0
(默认)|负的标量数绘制以从样品的开头删除,以减少瞬态效应,指定为逗号分隔的一对组成的“燃烧”
和一个非负的标量。有关如何模拟
减少整个样本,见算法。
帮助您指定适当的老化周期大小:
通过指定确定样本中的瞬态行为的程度'燃尽的,0
。
通过使用模拟几千个观察值模拟
。
画迹图。
例:'燃尽的,0
数据类型:双
'BetaStart'
- - - - - -开始回归系数的值采样开始回归系数的值的采样器,指定为逗号分隔的一对组成的'BetaStart'
和一个带(Mdl.Intercept
+Mdl.NumPredictors
)元素。默认,BetaStart
是普通最小二乘(OLS)估计。
一个好的做法是将运行模拟
多次使用不同的参数起始值。验证每次运行你的估计收敛到类似的值。
例:'BetaStart',[1;2;3]
数据类型:双
'Sigma2Start'
- - - - - -开始干扰方差值采样开始干扰方差为取样器的值,指定为逗号分隔的一对组成的'Sigma2Start'
和一个正的数字标量。默认,Sigma2Start
是OLS剩余均方误差。
一个好的做法是将运行模拟
多次使用不同的参数起始值。验证每次运行你的估计收敛到类似的值。
例:“Sigma2Start”4
数据类型:双
'RegimeStart'
- - - - - -采样器潜伏期的起始值真(Mdl.Intercept + Mdl.NumPredictors)
(默认)|逻辑列向量采样器的潜伏期的起始值,指定为由'RegimeStart'
和一个逻辑列向量与(Mdl.Intercept
+Mdl.NumPredictors
)元素。RegimeStart (
=k
)真正的
表示该变量的夹杂物Mdl.VarNames(
,k
)RegimeStart (
=k
)假
表示该变量的排斥。
一个好的做法是将运行模拟
多次使用不同的参数初始值。验证每次运行你的估计收敛到类似的值。
例:'RegimeStart',逻辑(兰迪([0 1],Mdl.Intercept + Mdl.NumPredictors,1))
数据类型:双
“Reparameterize”
- - - - - -的重新参数σ2日志(σ2)假
(默认)|真正的
的重新参数σ2日志(σ2)后估计和模拟,指定为逗号分隔的一对组成的期间“Reparameterize”
和表中的一个值。
价值 | 描述 |
---|---|
假 |
模拟 不重新参数σ2。 |
真正的 |
模拟 reparameterizesσ2日志(σ2)。模拟 将结果转换回原始比例,并且不更改的函数形式PriorMdl.LogPDF 。 |
如果在后验估计或模拟过程中出现数值不稳定σ2,然后指定“Reparameterize”,真的
。
例:“Reparameterize”,真的
数据类型:逻辑
“取样”
- - - - - -MCMC采样'切片'
(默认)|'都会'
|'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
)假
表明变量的抽奖模式排除
。d
模拟
无法从分配不当,即分布,其密度不集成到1。
如果Mdl
是一个empiricalblm
模型对象,那么你可以不指定β
要么Sigma2
。你不能用经验分布来模拟条件后验分布。
一个贝叶斯线性回归模型治疗参数β和σ2在多元线性回归(MLR)模型yt=xtβ+εt为随机变量。
对于倍t= 1,...,T:
yt是观察到的响应。
xt是一个1 - (p的观测值的行向量p预测。为了适应模型截距,x1t= 1t。
β是(p的各列所对应的回归系数的列向量xt。
εt是零和冠状病毒平均随机干扰(ε)=σ2我T×T,而ε是T×1包含所有的干扰向量。这些假设意味着数据可能是
φ(yt;xtβ,σ2)是具有均值的高斯概率密度xtβ和方差σ2评估在yt;。
在考虑中的数据,并处联合先验分布假设上(β,σ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命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。金宝app
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。