主要内容gydF4y2Ba

贝叶斯随机搜索变量选择gydF4y2Ba

这个例子展示了如何实现随机搜索变量选择(SSVS),一种用于线性回归模型的贝叶斯变量选择技术。gydF4y2Ba

简介gydF4y2Ba

考虑这个贝叶斯线性回归模型。gydF4y2Ba

ygydF4y2Ba tgydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba βgydF4y2Ba kgydF4y2Ba xgydF4y2Ba tgydF4y2Ba kgydF4y2Ba +gydF4y2Ba εgydF4y2Ba tgydF4y2Ba .gydF4y2Ba

  • 回归系数gydF4y2Ba βgydF4y2Ba kgydF4y2Ba |gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba ∼gydF4y2Ba NgydF4y2Ba (gydF4y2Ba μgydF4y2Ba jgydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba VgydF4y2Ba kgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

  • kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba .gydF4y2Ba .gydF4y2Ba .gydF4y2Ba ,gydF4y2Ba pgydF4y2Ba .gydF4y2Ba

  • 的干扰gydF4y2Ba εgydF4y2Ba tgydF4y2Ba ∼gydF4y2Ba NgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba .gydF4y2Ba

  • 扰动方差gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba ∼gydF4y2Ba 我gydF4y2Ba GgydF4y2Ba (gydF4y2Ba 一个gydF4y2Ba ,gydF4y2Ba BgydF4y2Ba )gydF4y2Ba ,在那里gydF4y2Ba 我gydF4y2Ba GgydF4y2Ba (gydF4y2Ba 一个gydF4y2Ba ,gydF4y2Ba BgydF4y2Ba )gydF4y2Ba 逆分布是否具有形状gydF4y2Ba一个gydF4y2Ba和规模gydF4y2BaBgydF4y2Ba.gydF4y2Ba

变量选择的目标是在最终回归模型中只包括那些得到数据支持的预测因子。金宝app一种方法是分析gydF4y2Ba 2gydF4y2Ba pgydF4y2Ba 模型的排列,称为gydF4y2Ba政权gydF4y2Ba,其中模型因所包含的系数而不同。如果gydF4y2Ba pgydF4y2Ba 则可以将模型的所有排列拟合到数据中,然后通过使用性能度量来比较模型,例如拟合优度(例如赤池信息准则)或预测均方误差(MSE)。然而,即使是中等的值gydF4y2Ba pgydF4y2Ba ,估计所有模型的排列是低效的。gydF4y2Ba

变量选择的贝叶斯观点是一个系数,被排除在模型之外,具有退化后验分布。也就是说,排除系数具有狄拉克δ分布,其概率质量集中于零。为了避免退化变量引起的复杂性,例如,被排除的系数的先验是一个均值为0且方差较小的高斯分布gydF4y2Ba NgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 0gydF4y2Ba .gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba .因为先验集中在0附近,所以后验也必须集中在0附近。gydF4y2Ba

所包含系数的先验可以为gydF4y2Ba NgydF4y2Ba (gydF4y2Ba μgydF4y2Ba ,gydF4y2Ba VgydF4y2Ba )gydF4y2Ba ,在那里gydF4y2Ba VgydF4y2Ba 是否足够远离零和gydF4y2Ba μgydF4y2Ba 通常为零。这个框架意味着每个系数的先验是一个高斯混合模型。gydF4y2Ba

考虑潜在的二进制随机变量gydF4y2Ba γgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba .gydF4y2Ba .gydF4y2Ba .gydF4y2Ba ,gydF4y2Ba pgydF4y2Ba ,使:gydF4y2Ba

  • γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 表明gydF4y2Ba βgydF4y2Ba kgydF4y2Ba ∼gydF4y2Ba NgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba VgydF4y2Ba 1gydF4y2Ba kgydF4y2Ba )gydF4y2Ba 这gydF4y2Ba βgydF4y2Ba kgydF4y2Ba 包含在模型中。gydF4y2Ba

  • γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 表明gydF4y2Ba βgydF4y2Ba kgydF4y2Ba ∼gydF4y2Ba NgydF4y2Ba (gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba VgydF4y2Ba 2gydF4y2Ba kgydF4y2Ba )gydF4y2Ba 这gydF4y2Ba βgydF4y2Ba kgydF4y2Ba 从模型中排除。gydF4y2Ba

  • γgydF4y2Ba kgydF4y2Ba ∼gydF4y2Ba BgydF4y2Ba egydF4y2Ba rgydF4y2Ba ngydF4y2Ba ogydF4y2Ba ugydF4y2Ba lgydF4y2Ba lgydF4y2Ba 我gydF4y2Ba (gydF4y2Ba ggydF4y2Ba kgydF4y2Ba )gydF4y2Ba .gydF4y2Ba

  • 的样本空间gydF4y2Ba γgydF4y2Ba kgydF4y2Ba 基数是gydF4y2Ba 2gydF4y2Ba pgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba ,每个元素为agydF4y2Ba pgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba -D 0或1的向量。gydF4y2Ba

  • VgydF4y2Ba 2gydF4y2Ba kgydF4y2Ba 是一个小的正数和gydF4y2Ba VgydF4y2Ba 1gydF4y2Ba kgydF4y2Ba >gydF4y2Ba VgydF4y2Ba 2gydF4y2Ba kgydF4y2Ba .gydF4y2Ba

  • 系数gydF4y2Ba βgydF4y2Ba jgydF4y2Ba 而且gydF4y2Ba βgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba jgydF4y2Ba ≠gydF4y2Ba kgydF4y2Ba 都是独立的,先验的。gydF4y2Ba

SSVS的一个目标是估计后验状态概率gydF4y2Ba ggydF4y2Ba kgydF4y2Ba ,即决定是否应将相应系数纳入模型的估计值。鉴于gydF4y2Ba βgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba γgydF4y2Ba kgydF4y2Ba 条件独立于数据。因此,对于gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba .gydF4y2Ba .gydF4y2Ba .gydF4y2Ba ,gydF4y2Ba pgydF4y2Ba ,此方程表示该变量概率的全条件后验分布gydF4y2BakgydF4y2Ba包含在模型中:gydF4y2Ba

PgydF4y2Ba (gydF4y2Ba γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba |gydF4y2Ba βgydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba γgydF4y2Ba ≠gydF4y2Ba kgydF4y2Ba )gydF4y2Ba ∝gydF4y2Ba ggydF4y2Ba kgydF4y2Ba ϕgydF4y2Ba (gydF4y2Ba βgydF4y2Ba kgydF4y2Ba ;gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba VgydF4y2Ba 1gydF4y2Ba kgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba ϕgydF4y2Ba (gydF4y2Ba μgydF4y2Ba ,gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba )gydF4y2Ba 带标量均值的高斯分布的pdf是多少gydF4y2Ba μgydF4y2Ba 和方差gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

计量经济学工具箱™有两个贝叶斯线性回归模型,指定SSVS的先验分布:gydF4y2BamixconjugateblmgydF4y2Ba而且gydF4y2BamixsemiconjugateblmgydF4y2Ba.前面介绍的框架描述了gydF4y2BamixconjugateblmgydF4y2Ba模型。模型之间的区别在于gydF4y2Ba βgydF4y2Ba 而且gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba 是独立的,先验的,为什么gydF4y2BamixsemiconjugateblmgydF4y2Ba模型。的先验方差gydF4y2Ba βgydF4y2Ba kgydF4y2Ba 是gydF4y2Ba VgydF4y2Ba kgydF4y2Ba 1gydF4y2Ba (gydF4y2Ba γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba )或gydF4y2Ba VgydF4y2Ba kgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ).gydF4y2Ba

决定使用哪个先验模型后,调用gydF4y2BabayeslmgydF4y2Ba创建模型并指定超参数值。金宝app支持的超参数包括:gydF4y2Ba

  • 拦截gydF4y2Ba,一个逻辑标量,指定是否在模型中包含一个截距。gydF4y2Ba

  • μgydF4y2Ba, a (gydF4y2BapgydF4y2Ba+ 1)-by-2矩阵,指定的先验高斯混合均值gydF4y2Ba βgydF4y2Ba .第一列包含对应于的组件的方法gydF4y2Ba γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,第二列为对应的均值gydF4y2Ba γgydF4y2Ba kgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba .缺省情况下,所有means为0,表示实现SSVS。gydF4y2Ba

  • VgydF4y2Ba, a (gydF4y2BapgydF4y2Ba+ 1)-by-2矩阵,指定的先验高斯混合方差因子(或方差)gydF4y2Ba βgydF4y2Ba .列对应于的列gydF4y2BaμgydF4y2Ba.默认情况下,第一个分量的方差为gydF4y2Ba10gydF4y2Ba第二个分量的方差是gydF4y2Ba0.1gydF4y2Ba.gydF4y2Ba

  • 相关gydF4y2Ba, a (gydF4y2BapgydF4y2Ba+ 1)————(gydF4y2BapgydF4y2Ba+ 1)正定矩阵,指定的先验相关矩阵gydF4y2Ba βgydF4y2Ba 对于两个组件。默认是单位矩阵,这意味着回归系数是不相关的,先验的。gydF4y2Ba

  • 概率gydF4y2Ba, a (gydF4y2BapgydF4y2Ba+ 1)-D变量包含先验概率向量(gydF4y2Ba ggydF4y2Ba kgydF4y2Ba , k = 0,…,_p_)或自定义函数的函数句柄。gydF4y2Ba γgydF4y2Ba jgydF4y2Ba 而且gydF4y2Ba γgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba jgydF4y2Ba ≠gydF4y2Ba kgydF4y2Ba ,是独立的,先验的。然而,使用函数句柄(gydF4y2Ba@functionnamegydF4y2Ba),您可以提供一个自定义的先验分布,指定之间的依赖关系gydF4y2Ba γgydF4y2Ba jgydF4y2Ba 而且gydF4y2Ba γgydF4y2Ba kgydF4y2Ba .例如,您可以指定强制gydF4y2Ba xgydF4y2Ba 2gydF4y2Ba 跳出模型,如果gydF4y2Ba xgydF4y2Ba 4gydF4y2Ba 包括在内。gydF4y2Ba

创建模型后,将模型和数据传递给gydF4y2Ba估计gydF4y2Ba.的gydF4y2Ba估计gydF4y2Ba函数使用吉布斯采样器从完整的条件中采样,并估计的后验分布的特征gydF4y2Ba βgydF4y2Ba 而且gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba .同时,gydF4y2Ba估计gydF4y2Ba返回的后验估计gydF4y2Ba ggydF4y2Ba kgydF4y2Ba .gydF4y2Ba

对于这个例子,考虑为美国失业率创建一个预测线性模型。你需要一个能很好概括的模型。换句话说,您希望通过删除所有冗余预测因子和所有与失业率不相关的预测因子来最小化模型的复杂性。gydF4y2Ba

加载和预处理数据gydF4y2Ba

加载美国宏观经济数据集gydF4y2BaData_USEconModel.matgydF4y2Ba.gydF4y2Ba

负载gydF4y2BaData_USEconModelgydF4y2Ba

数据集包括MATLAB®时间表gydF4y2BaDataTimeTablegydF4y2Ba,其中包含从1947年第一季度到2009年第一季度测量的14个变量;gydF4y2BaUNRATEgydF4y2Ba是美国的失业率。请输入gydF4y2Ba描述gydF4y2Ba在命令行。gydF4y2Ba

将所有系列画在同一个图中,但在不同的子图中。gydF4y2Ba

图tiledlayout (4, 4)gydF4y2Ba为gydF4y2Baj = 1:size(DataTimeTable,2) nexttile plot(DataTimeTable. time,DataTimeTable{:,j});标题(DataTimeTable.Properties.VariableNames (j));gydF4y2Ba结束gydF4y2Ba

图中包含14个轴对象。带有标题COE的Axes对象1包含一个line类型的对象。标题为CPIAUCSL的Axes对象2包含一个类型为line的对象。标题为FEDFUNDS的Axes对象3包含一个类型为line的对象。标题为GCE的Axes对象4包含一个类型为line的对象。标题为GDP的坐标轴对象5包含一个类型为line的对象。标题为GDPDEF的Axes对象6包含一个类型为line的对象。标题为GPDI的Axes对象7包含一个line类型的对象。标题为GS10的Axes对象8包含一个类型为line的对象。标题为HOANBS的Axes对象9包含一个类型为line的对象。 Axes object 10 with title M1SL contains an object of type line. Axes object 11 with title M2SL contains an object of type line. Axes object 12 with title PCEC contains an object of type line. Axes object 13 with title TB3MS contains an object of type line. Axes object 14 with title UNRATE contains an object of type line.

所有系列除外gydF4y2BaFEDFUNDSgydF4y2Ba,gydF4y2BaGS10gydF4y2Ba,gydF4y2BaTB3MSgydF4y2Ba,gydF4y2BaUNRATEgydF4y2Ba似乎呈指数增长趋势。gydF4y2Ba

对那些具有指数趋势的变量应用对数变换。gydF4y2Ba

hasexpotrend = ~ismember(datatitable . properties . variablenames,gydF4y2Ba...gydF4y2Ba[gydF4y2Ba“FEDFUNDS”gydF4y2Ba“GD10”gydF4y2Ba“TB3MS”gydF4y2Ba“UNRATE”gydF4y2Ba]);DataTimeTableLog = varfun(@日志,DataTimeTable,gydF4y2Ba“数据源”gydF4y2Ba,gydF4y2Ba...gydF4y2BaDataTimeTable.Properties.VariableNames (hasexpotrend));DataTimeTableLog = [DataTimeTableLog .gydF4y2Ba...gydF4y2BaDataTimeTable (:, DataTimeTable.Properties.VariableNames (~ hasexpotrend)];gydF4y2Ba

DataTimeTableLoggydF4y2Ba时间表就像gydF4y2BaDataTimeTablegydF4y2Ba,但那些具有指数趋势的变量是对数尺度。gydF4y2Ba

在套索回归目标函数中,具有较大幅度的系数往往占惩罚的主导地位。因此,在实现套索回归时,变量具有相似的规模是很重要的。比较DataTimeTable中变量的规模gydF4y2Ba日志gydF4y2Ba通过在同一轴上绘制它们的箱形图。gydF4y2Ba

图;箱线图(DataTimeTableLog。变量,gydF4y2Ba“标签”gydF4y2Ba, DataTimeTableLog.Properties.VariableNames);H = gcf;h.位置(3)= h.位置(3)*2.5;标题(gydF4y2Ba“可变箱形图”gydF4y2Ba);gydF4y2Ba

图中包含一个轴对象。标题为Variable Box Plots的axis对象包含98个类型为line的对象。一行或多行仅使用标记显示其值gydF4y2Ba

这些变量有相当相似的尺度。gydF4y2Ba

要调整先验高斯混合方差因子,请遵循以下步骤:gydF4y2Ba

  1. 将数据划分为估计样本和预测样本。gydF4y2Ba

  2. 将模型与估计样本相匹配并指定gydF4y2Ba kgydF4y2Ba ,gydF4y2Ba VgydF4y2Ba 1gydF4y2Ba kgydF4y2Ba =gydF4y2Ba {gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 5gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba }gydF4y2Ba 而且gydF4y2Ba VgydF4y2Ba 2gydF4y2Ba kgydF4y2Ba =gydF4y2Ba {gydF4y2Ba 0gydF4y2Ba .gydF4y2Ba 0gydF4y2Ba 5gydF4y2Ba ,gydF4y2Ba 0gydF4y2Ba .gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 0gydF4y2Ba .gydF4y2Ba 5gydF4y2Ba }gydF4y2Ba .gydF4y2Ba

  3. 使用拟合模型来预测预测范围内的响应。gydF4y2Ba

  4. 估计每个模型的预测MSE。gydF4y2Ba

  5. 选择预测MSE最低的模型。gydF4y2Ba

George和McCulloch提出了另一种调整先验方差的方法gydF4y2Ba βgydF4y2Ba 在gydF4y2Ba[1]gydF4y2Ba.gydF4y2Ba

为响应和预测数据创建估计和预测样本变量。指定4年(16个季度)的预测期限。gydF4y2Ba

Fh = 16;y = DataTimeTableLog。UNRATE(1:(end - fh)); yF = DataTimeTableLog.UNRATE((end - fh + 1):end); isresponse = DataTimeTable.Properties.VariableNames ==“UNRATE”gydF4y2Ba;X = DataTimeTableLog{1:(end - fh),~isresponse};XF = DataTimeTableLog{(end - fh + 1):end,~isresponse};p = size(X,2);gydF4y2Ba%预测因子的数量gydF4y2Bapredictornames = DataTimeTableLog.Properties.VariableNames(~isresponse);gydF4y2Ba

创建先验贝叶斯线性回归模型gydF4y2Ba

为SSVS创建先验贝叶斯线性回归模型gydF4y2BabayeslmgydF4y2Ba并指定预测因子的数量、模型类型、预测因子名称和组件方差因子。假设gydF4y2Ba βgydF4y2Ba 而且gydF4y2Ba σgydF4y2Ba 2gydF4y2Ba 都是相关的,先验的(gydF4y2BamixconjugateblmgydF4y2Ba模型)。gydF4y2Ba

V1 = [10 50 100];V2 = [0.05 0.1 0.5];numv1 = nummel (V1);numv2 = numel(V2);PriorMdl = cell(numv1,numv2);gydF4y2Ba% PreallocategydF4y2Ba为gydF4y2BaK = 1:numv2gydF4y2Ba为gydF4y2Baj = 1: numv1 V = (V1 (j) * (p + 1, - 1)的V2 (k) * 1 (p + 1, - 1)];PriorMdl{j,k} = bayeslm(p,gydF4y2Ba“ModelType”gydF4y2Ba,gydF4y2Ba“mixconjugateblm”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“VarNames”gydF4y2Bapredictornames,gydF4y2Ba“V”gydF4y2Ba, V);gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

PriorMdlgydF4y2Ba是一个3 × 3单元格数组,每个单元格包含一个gydF4y2BamixconjugateblmgydF4y2Ba模型对象。gydF4y2Ba

的先验分布gydF4y2Balog_GDPgydF4y2Ba对于其中的模型gydF4y2BaV2gydF4y2Ba是0.5。gydF4y2Ba

为gydF4y2Baj = 1:numv1 [~,~,~,h] = plot(PriorMdl{j,3},gydF4y2Ba“VarNames”gydF4y2Ba,gydF4y2Ba“log_GDP”gydF4y2Ba);标题(sprintf (gydF4y2BaLog GDP, V1 = %g, V2 = %ggydF4y2BaV1 (j), V2 (3)));h.Tag = strcat(gydF4y2Ba“图”gydF4y2Banum2str (V1 (j)), num2str (V2 (3)));gydF4y2Ba结束gydF4y2Ba

图中包含一个轴对象。标题为Log GDP, V1 = 10, V2 = 0.5的坐标轴对象包含一个类型为line的对象。gydF4y2Ba

图中包含一个轴对象。标题为Log GDP, V1 = 50, V2 = 0.5的坐标轴对象包含一个类型为line的对象。gydF4y2Ba

图中包含一个轴对象。标题为Log GDP, V1 = 100, V2 = 0.5的坐标轴对象包含一个类型为line的对象。gydF4y2Ba

的先验分布gydF4y2Ba βgydF4y2Ba 有gydF4y2Baspike-and-slabgydF4y2Ba形状。当gydF4y2BaV1gydF4y2Ba值较低时,更多的分布集中在0附近,这使得算法更难为beta属性一个高值。然而,算法识别为重要的变量是正则化的,因为算法不会将高量级归因于相应的系数。gydF4y2Ba

当gydF4y2BaV1gydF4y2Ba是高的,更多的密度发生在远离零的地方,这使得算法更容易将非零系数归因于重要的预测因子。然而,如果gydF4y2BaV1gydF4y2Ba过高,那么重要的预测因子会有膨胀的系数。gydF4y2Ba

执行SSVS变量选择gydF4y2Ba

为了进行SSVS,估计后验分布使用gydF4y2Ba估计gydF4y2Ba.使用吉布斯采样器的默认选项。gydF4y2Ba

PosteriorMdl = cell(numv1,numv2);PosteriorSummary = cell(numv1,numv2);rng (1);gydF4y2Ba%用于再现性gydF4y2Ba为gydF4y2BaK = 1:numv2gydF4y2Ba为gydF4y2Baj = 1:numv1 [PosteriorMdl{j,k},PosteriorSummary{j,k}] =估计(PriorMdl{j,k},X,y,gydF4y2Ba...gydF4y2Ba“显示”gydF4y2Ba、假);gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

中的每个单元格gydF4y2BaPosteriorMdlgydF4y2Ba包含一个gydF4y2BaempiricalblmgydF4y2Ba模型对象存储从吉布斯采样器提取的完整条件后验。中的每个单元格gydF4y2BaPosteriorSummarygydF4y2Ba包含一个后验估计表。的gydF4y2Ba政权gydF4y2Ba表变量表示变量包含的后验概率(gydF4y2Ba ggydF4y2Ba kgydF4y2Ba ).gydF4y2Ba

显示的后验估计表gydF4y2Ba ggydF4y2Ba kgydF4y2Ba .gydF4y2Ba

RegimeTbl = table(0 (p + 2,1),gydF4y2Ba“RowNames”gydF4y2Ba, PosteriorSummary {1} .Properties.RowNames);gydF4y2Ba为gydF4y2BaK = 1:numv2gydF4y2Ba为gydF4y2BaJ = 1:numv1 vname = strcat(gydF4y2Ba“V1_”gydF4y2Banum2str (V1 (j)),gydF4y2Ba“_”gydF4y2Ba,gydF4y2Ba“V2_”gydF4y2Banum2str (V2 (k)));Vname = replace(Vname,gydF4y2Ba“。”gydF4y2Ba,gydF4y2Ba“p”gydF4y2Ba);tmp = table(PosteriorSummary{j,k}。政权,gydF4y2Ba“VariableNames”gydF4y2Ba, vname);RegimeTbl = [RegimeTbl tmp];gydF4y2Ba结束gydF4y2Ba结束gydF4y2BaRegimeTbl。Var1 = []; RegimeTbl
RegimeTbl =gydF4y2Ba15×9表gydF4y2BaV1_10__V2_0p05 V1_50__V2_0p05 V1_100__V2_0p05 V1_10__V2_0p1 V1_50__V2_0p1 V1_100__V2_0p1 V1_10__V2_0p5 V1_50__V2_0p5 V1_100__V2_0p5  ______________ ______________ _______________ _____________ _____________ ______________ _____________ _____________ ______________ 截距0.9692 - 1 1 1 1 0.9487 0.9999 0.9501 1 log_COE 0.4686 0.4586 0.5102 0.4487 0.3919 0.4785 0.4575 0.4147 0.4284 log_CPIAUCSL 0.9713 0.3713 0.4088 0.971 0.3698 0.3856 0.962 0.3714 0.3456 0.9999 log_GCE 1 1 0.9959 0.9978 1 1 1 1log_GDP 1 0.7895 0.9921 0.9982 0.7859 0.9959 0.7908 0.9975 0.9999 log_GDPDEF 0.9977 0.9996 1 1 1 1 1 1 1 log_GPDI 1 1 1 1 1 1 1 1 1 log_GS10 1 1 1 1 0.9992 0.9991 0.9887 0.9992 0.994 log_HOANBS 0.9996 1 1 1 1 0.9763 - 1 1 log_M1SL 1 1 1 1 1 1 1 1 1 log_M2SL 0.9989 0.9993 0.9913 0.9996 0.9998 0.9754 0.9951 0.9983 0.9856 0.4457 log_PCEC FEDFUNDS 0.6366 0.8421 0.4435 0.6226 0.8342 0.4614 0.624 0.85 0.0762 0.0386 0.0237 0.0951 0.0465 0.0343 0.1856 0.0953 0.068 0.2473 0.1788 0.1467 0.2014 TB3MS0.1338 0.1095 0.2234 0.1185 0.0909 Sigma2楠楠楠楠楠楠楠楠楠gydF4y2Ba

使用0.10的任意阈值,所有模型都同意这一点gydF4y2BaFEDFUNDSgydF4y2Ba是一个无关紧要或多余的预测器。当gydF4y2BaV1gydF4y2Ba高,gydF4y2BaTB3MSgydF4y2Ba近乎微不足道。gydF4y2Ba

使用估计的模型预测响应并计算预测的mse。gydF4y2Ba

Yhat = 0 (fh,numv1*numv2);Fmse = 0 (numv1,numv2);gydF4y2Ba为gydF4y2BaK = 1:numv2gydF4y2Ba为gydF4y2BaJ = 1:numv1 idx = ((k - 1)*numv1 + J);yhat(:,idx) = forecast(PosteriorMdl{j,k},XF);fmse(j,k) =√(mean(yF - yhat(:,idx)).^2));gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

确定产生最小预测MSE的方差因子设置。gydF4y2Ba

Minfmse = min(fmse,[],gydF4y2Ba“所有”gydF4y2Ba);[idxminr,idxminc] = find(abs(minfmse - fmse) < eps);bestv1 = V1(idxminr)gydF4y2Ba
Bestv1 = 100gydF4y2Ba
bestv2 = V2(idxminc)gydF4y2Ba
Bestv2 = 0.0500gydF4y2Ba

使用整个数据集和产生最小预测MSE的方差因子设置来估计SSVS模型。gydF4y2Ba

XFull = [X;XF);yFull = [y;yF];EstMdl =估计(PriorMdl{idxminr,idxminc},XFull,yFull);gydF4y2Ba
方法:MCMC抽样10000张,观测数:20114 |意味着性病CI95积极的分配制度  ------------------------------------------------------------------------------------- 拦截| 29.4598 - 4.2723[21.105,37.839]1.000经验1 log_COE | 3.5380 - 3.0180[-0.216, 9.426] 0.862经验0.7418 log_CPIAUCSL | -0.6333 - 1.7689[-5.468, 2.144] 0.405经验0.3711 log_GCE | -9.3924 - 1.4699[-12.191, -6.494] 0.000经验1 log_GDP | 16.5111 - 3.7131[9.326, 23.707] 1.000经验1 log_GDPDEF | 13.0146 - 2.3992 (9.171,19.131] 1.000 Empirical 1 log_GPDI | -5.9537 0.6083 [-7.140, -4.756] 0.000 Empirical 1 log_GS10 | 1.4485 0.3852 [0.680, 2.169] 0.999 Empirical 0.9868 log_HOANBS | -16.0240 1.5361 [-19.026, -13.048] 0.000 Empirical 1 log_M1SL | -4.6509 0.6815 [-5.996, -3.313] 0.000 Empirical 1 log_M2SL | 5.3320 1.3003 [2.738, 7.770] 0.999 Empirical 0.9971 log_PCEC | -9.9025 3.3904 [-16.315, -2.648] 0.006 Empirical 0.9858 FEDFUNDS | -0.0176 0.0567 [-0.125,0.098] 0.378 Empirical 0.0269 TB3MS | -0.1436 0.0762 [-0.299, 0.002] 0.026 Empirical 0.0745 Sigma2 | 0.2891 0.0289 [0.238, 0.352] 1.000 Empirical NaNgydF4y2Ba

EstMdlgydF4y2Ba是一个gydF4y2BaempiricalblmgydF4y2Ba表示执行SSVS结果的模型。你可以使用gydF4y2BaEstMdlgydF4y2Ba例如,用未来预测数据来预测失业率。gydF4y2Ba

参考文献gydF4y2Ba

[1]gydF4y2Ba乔治,e。I。和r。e。麦卡洛克。"通过吉布斯抽样的变量选择"gydF4y2Ba美国统计协会杂志gydF4y2Ba.第88卷,第423号,1993年,第881-889页。gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba

相关的话题gydF4y2Ba