主要内容

估计

执行预测变量选择贝叶斯线性回归模型

自从R2018b

描述

估计一个标准的贝叶斯线性回归模型的后验分布,明白了估计

例子

PosteriorMdl=估计(PriorMdl,X,y)返回的联合后验分布特征的模型βσ2贝叶斯线性回归模型。估计还执行预测变量的选择。

PriorMdl指定了关节参数的先验分布,线性回归模型的结构,变量选择算法。X预测数据和吗y响应数据。PriorMdlPosteriorMdl是不一样的对象类型。

生产PosteriorMdl,估计更新信息的先验分布的参数获取的数据。

在数据显示缺失值,估计使用list-wise删除删除。

例子

PosteriorMdl=估计(PriorMdl,X,y,名称,值)使用附加选项指定一个或多个参数名称-值对。例如,“λ”,0.5指定为贝叶斯套索回归收缩参数值0.5对于所有系数除了拦截。

如果您指定βSigma2,然后PosteriorMdlPriorMdl是相等的。

例子

(PosteriorMdl,总结)=估计(___)使用任何输入参数组合在前面的语法并返回一个表,对每个参数包括以下:后验估计,标准错误,95%可信区间,后验概率参数大于0。

例子

全部折叠

我们考虑的多元线性回归模型预测实际国民生产总值(GNPR)使用工业生产指数的线性组合新闻学会)、就业总人数(E),实际工资(或者说是)。

GNPR t = β 0 + β 1 新闻学会 t + β 2 E t + β 3 或者说是 t + ε t

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

假设先验分布:

  • k= 0,…,3, β k | σ 2 拉普拉斯分布平均值为0和规模 σ 2 / λ ,在那里 λ 是收缩参数。系数是条件独立的。

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

为贝叶斯套索回归之前创建一个模型。指定数量的预测,先前的模型类型,变量名。指定这些铸件热:

  • 0.01的拦截

  • 10新闻学会或者说是

  • 1 e5E因为它有好几个数量级的规模超过了其他变量

铸件的顺序遵循的顺序指定的变量名,但第一个元素是拦截的收缩。

p = 3;PriorMdl = bayeslm (p,“ModelType”,“套索”,“λ”,(0.01;10;1 e5;10),“VarNames”,(“他们”“E”“福”]);

PriorMdl是一个lassoblm贝叶斯线性回归模型对象代表回归系数的先验分布和扰动方差。

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosserX = DataTable {: PriorMdl.VarNames(2:结束)};y = DataTable {:,“GNPR”};

执行贝叶斯套索回归之前通过模型和数据估计,即估计的后验分布 β σ 2 。贝叶斯套索回归使用马尔可夫链蒙特卡罗(密度)后的样品。再现性,设定一个随机种子。

rng (1);PosteriorMdl =估计(PriorMdl, X, y);
方法:拉索与10000年获得了数量的观察:62年的预测数量:4 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -1.3472 - 6.8160[-15.169,11.590]0.427经验IPI | 4.4755 - 0.1646[4.157, 4.799] 1.000经验E | 0.0001 - 0.0002[-0.000, 0.000] 0.796经验或者说是| 3.1610 - 0.3136[2.538,3.760]1.000经验Sigma2 | 60.1452 - 11.1180[42.319, 85.085] 1.000经验

PosteriorMdl是一个empiricalblm模型对象存储的后验分布 β σ 2 考虑到数据。估计显示一个总结边缘后验分布的MATLAB®命令行。行总结对应回归系数和扰动变化,和列对应于后验分布的特征。特点包括:

  • CI95,其中包含参数的贝叶斯equitailed 95%可信区间。例如,后验概率的回归系数新闻学会0.95在[4.157,4.799]。

  • 积极的,其中包含参数的后验概率大于0。例如,拦截的可能性大于00.427

后验分布。

情节(PosteriorMdl)

图包含5轴对象。坐标轴对象1标题拦截包含一个类型的对象。坐标轴对象2标题IPI包含一个类型的对象。坐标轴对象与标题3 E包含一个类型的对象。坐标轴对象4标题或者说是包含一个类型的对象。5轴对象与标题Sigma2包含一个类型的对象。

考虑到铸件的分布E是相当密集的0左右。因此,E可能不是一个重要的预测指标。

默认情况下,估计平,丢弃5000年老化的样本大小。然而,一个良好的实践是检查跟踪的情节吸引了足够的混合和缺乏无常。画一个跟踪每个参数的情节吸引了。您可以访问了组成分布(属性BetaDrawsSigma2Draws使用点符号)。

图;j = 1: (p + 1)次要情节(2,2,j);情节(PosteriorMdl.BetaDraws (j,:));标题(sprintf (' % s ',PosteriorMdl.VarNames {j}));结束

图包含4轴对象。坐标轴对象1标题拦截包含一个类型的对象。坐标轴对象2标题IPI包含一个类型的对象。坐标轴对象与标题3 E包含一个类型的对象。坐标轴对象4标题或者说是包含一个类型的对象。

图;情节(PosteriorMdl.Sigma2Draws);标题(“Sigma2”);

图包含一个坐标轴对象。坐标轴对象与标题Sigma2包含一个类型的对象。

跟踪情节似乎表明了混合好。故事情节没有检测到无常或序列相关性,和州之间的吸引不跳。

考虑的回归模型使用贝叶斯套索选择变量回归

创建一个模型执行随机搜索之前变量选择(科学)。假设 β σ 2 是依赖(共轭混合模型)。指定数量的预测p和回归系数的名称。

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

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosserX = DataTable {: PriorMdl.VarNames(2:结束)};y = DataTable {:,“GNPR”};

实现科学的估计边际的后验分布 β σ 2 。因为科学使用马尔可夫链蒙特卡罗估计,设置一个随机数种子繁殖的结果。

rng (1);PosteriorMdl =估计(PriorMdl, X, y);
方法:与10000年获得了数量的观察:62年的预测数量:4 |意味着性病CI95积极分配制度- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -18.8333 - 10.1851[-36.965,0.716]0.037经验0.8806 IPI | 4.4554 - 0.1543 E[4.165, 4.764] 1.000经验0.4545 | 0.0010 - 0.0004[0.000,0.002]0.997经验0.0925 WR | 2.4686 - 0.3615[1.766, 3.197] 1.000经验0.1734 Sigma2 | 47.7557 - 8.6551[33.858, 66.875] 1.000经验NaN

PosteriorMdl是一个empiricalblm模型对象存储的后验分布 β σ 2 考虑到数据。估计显示一个总结边缘后验分布的命令行。行总结对应回归系数和扰动变化,和列对应于后验分布的特征。特点包括:

  • CI95,其中包含参数的贝叶斯equitailed 95%可信区间。例如,后验概率的回归系数E(标准化)在(0.000,0.0.002)是0.95。

  • 政权,其中包含的边缘后验概率变量包含( γ = 1 一个变量)。例如,后验概率E应包括在模型中是0.0925。

假设变量与政权< 0.1应该从模型中删除,结果表明,可以排除失业率从模型。

默认情况下,估计平,丢弃5000年老化的样本大小。然而,一个良好的实践是检查跟踪的情节吸引了足够的混合和缺乏无常。画一个跟踪每个参数的情节吸引了。您可以访问了组成分布(属性BetaDrawsSigma2Draws使用点符号)。

图;j = 1: (p + 1)次要情节(2,2,j);情节(PosteriorMdl.BetaDraws (j,:));标题(sprintf (' % s ',PosteriorMdl.VarNames {j}));结束

图包含4轴对象。坐标轴对象1标题拦截包含一个类型的对象。坐标轴对象2标题IPI包含一个类型的对象。坐标轴对象与标题3 E包含一个类型的对象。坐标轴对象4标题或者说是包含一个类型的对象。

图;情节(PosteriorMdl.Sigma2Draws);标题(“Sigma2”);

图包含一个坐标轴对象。坐标轴对象与标题Sigma2包含一个类型的对象。

跟踪情节似乎表明了混合好。故事情节没有检测到无常或序列相关性,和州之间的吸引不跳。

考虑回归模型和先验分布使用贝叶斯套索选择变量回归

创建一个贝叶斯套索回归之前模型3预测并指定变量名。指定的收缩值0.01,10,1 e5,10拦截和系数新闻学会,E,或者说是

p = 3;PriorMdl = bayeslm (p,“ModelType”,“套索”,“VarNames”,(“他们”“E”“福”),“λ”,(0.01;10;1 e5;10]);

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosserX = DataTable {: PriorMdl.VarNames(2:结束)};y = DataTable {:,“GNPR”};

估计的条件后验分布 β 考虑到数据 σ 2 = 1 0 ,然后返回评估汇总表访问估计。

rng (1);%的再现性[Mdl, SummaryBeta] =估计(PriorMdl, X, y,“Sigma2”10);
方法:拉索与10000年获得了有条件的变量:Sigma2固定的观测数量:10点62的预测数量:4 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -8.0643 - 4.1992[-16.384,0.018]0.025经验IPI | 4.4454 - 0.0679[4.312, 4.578] 1.000经验E | 0.0004 - 0.0002[0.000, 0.001] 0.999经验或者说是| 2.9792 - 0.1672[2.651,3.305]1.000经验Sigma2 | 10 0[10.000, 10.000] 1.000经验

估计显示的条件后验分布的摘要 β 。因为 σ 2 是固定在10估计,推断它是微不足道的。

显示Mdl

Mdl
Mdl = lassoblm属性:NumPredictors: 3拦截:1 VarNames: {4 x1细胞}λ:[4 x1双]A: 3 B: 1 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| 0 100[-200.000,200.000]0.500级混合IPI | 0 0.1000[-0.200, 0.200] 0.500级混合E | 0 0.0000[-0.000, 0.000] 0.500级混合WR | 0 0.1000[-0.200, 0.200] 0.500级混合Sigma2 | 0.5000 - 0.5000[0.138, 1.616] 1.000搞笑(3.00,1)

因为估计计算条件后验分布,它返回模型输入PriorMdl,而不是条件后,在第一位置输出的参数列表。

显示估计汇总表。

SummaryBeta
SummaryBeta =5×6表意味着性病CI95积极协方差分布__________ __________ ________________________ ________ _________________ _______________________________________________________________________拦截-8.0643 4.1992 -16.384 0.01837 0.0254{‘经验’}0 IPI 4.4454 0.067949 4.312 17.633 0.17621 -0.00053724 0.11705 4.5783 - 1{‘经验’}0.00039896 0.00015673 9.4925 0.17621 0.0046171 -1.4103 e-06 -0.0068855 0 E e-05 0.00070697 - 0.9987 -0.00053724 - -1.4103{‘经验’}e-06 2.4564 e-08 -1.8168 e-05 0或者说是2.9792 0.16716 2.6506 3.3046 1{‘经验’}0.11705 -0.0068855 -1.8168 0.027943 e-05 Sigma2 10 0 10 10 1{‘经验’}0 0 0 0 0

SummaryBeta包含条件后验估计。

估计的条件后验分布 σ 2 考虑到 β 的条件后验均值吗 β | σ 2 , X , y (存储在SummaryBeta。的意思是(1:(结束- - - - - -1)))。返回评估汇总表。

condPostMeanBeta = SummaryBeta。意思是(1:结束(- 1));[~,SummarySigma2] =估计(PriorMdl, X, y,“β”,condPostMeanBeta);
方法:拉索与10000年获得了有条件的变量:β固定数量的观察:2.9792 -8.0643 4.4454 0.00039896 62的预测数量:4 |意味着性病CI95积极分配- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -拦截| -8.0643 - 0.0000[-8.064,-8.064]0.000经验IPI | 4.4454 - 0.0000[4.445, 4.445] 1.000经验E | 0.0004 - 0.0000[0.000, 0.000] 1.000经验或者说是| 2.9792 - 0.0000[2.979,2.979]1.000经验Sigma2 | 56.8314 - 10.2921[39.947, 79.731] 1.000经验

估计显示的条件后验分布的评估总结 σ 2 考虑到数据 β condPostMeanBeta。显示,推论 β 是微不足道的。

考虑的回归模型使用贝叶斯套索选择变量回归

创建一个模型执行科学之前。假设 β σ 2 是依赖(共轭混合模型)。指定数量的预测p和回归系数的名称。

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

加载Nelson-Plosser数据集。为响应和预测系列创建变量。

负载Data_NelsonPlosserX = DataTable {: PriorMdl.VarNames(2:结束)};y = DataTable {:,“GNPR”};

实现科学的估计边际的后验分布 β σ 2 。因为科学使用马尔可夫链蒙特卡罗估计,设置一个随机数种子繁殖的结果。抑制估计显示,但返回评估汇总表。

rng (1);[PosteriorMdl,总结]=估计(PriorMdl, X, y,“显示”、假);

PosteriorMdl是一个empiricalblm模型对象存储的后验分布 β σ 2 考虑到数据。总结是一个表列对应于后特征和行对应系数(PosteriorMdl.VarNames)和干扰方差(Sigma2)。

显示估计参数协方差矩阵(协方差)和比例乘以每个预测算法包括(政权)。

协方差=总结(:,“协方差”)
协方差=5×1表协方差______________________________________________________________________拦截IPI 1.0486 0.023815 -1.3637 103.74 1.0486 -0.0031629 0.6791 7.3916 e-05 -8.8792 1.3481 -0.0031629 - -1.3637 -0.030387 - 0.06611 E e-05 e-07 e-05 WR 0.6791 -0.030387 -8.8792 -0.00025044 e-05 Sigma2 0.089039 0.13066 7.3916 0.06611 -0.00025044 0.089039 74.911
政权=总结(:,“政权”)
政权=5×1表政权______拦截0.8806 IPI 0.4545 E 0.0925或者说是0.1734 Sigma2 NaN

政权包含变量包含(的边缘后验概率 γ = 1 一个变量)。例如,后验概率E应该包含在模型中是0.0925。

假设变量与政权< 0.1应该从模型中删除,结果表明,可以排除失业率从模型。

输入参数

全部折叠

贝叶斯线性回归模型预测变量的选择,在这个表指定为一个模型对象。

模型对象 描述
mixconjugateblm 依赖,Gaussian-mixture-inverse-gamma共轭模型科学预测变量选择,返回的bayeslm
mixsemiconjugateblm 学会独立,Gaussian-mixture-inverse-gamma semiconjugate模型预测变量选择,返回的bayeslm
lassoblm 贝叶斯套索返回的回归模型bayeslm

多元线性回归模型的预测数据,指定为一个numObservations——- - - - - -PriorMdl.NumPredictors数字矩阵。numObservations是观察和的数量必须相等的长度吗y

数据类型:

响应数据的多元线性回归模型,指定为一个数值向量numObservations元素。

数据类型:

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“Sigma2”, 2指定了回归系数估计的条件后验分布的数据和指定的扰动方差2

国旗显示贝叶斯估计汇总到命令行指定为逗号分隔组成的“显示”在这个表和一个值。

价值 描述
真正的 估计打印评估信息和一个表总结了贝叶斯估计的命令行。
估计不打印命令行。

估计信息包括估计方法,固定参数、观测的数量,和预测的数量。摘要表包含估计后,标准差(后方差的平方根),95% equitailed可信区间,参数的后验概率大于0,和后验分布的描述(如果已知)。对于执行科学的模型,显示为variable-inclusion概率表包含一个列。

如果您指定βSigma2,然后估计包括显示您的规范。相应的后验估计是微不足道的。

例子:“显示”,假的

数据类型:逻辑

回归系数值扰动的条件后验分布估计方差,指定为逗号分隔组成的“β”和一个(PriorMdl.Intercept+PriorMdl.NumPredictors)1数值向量。估计估计的特点π(σ2|y,X,β=β),yy,XX,β的值是“β”。如果PriorMdl.Intercept真正的,然后β(1)对应于模型拦截。其他值对应的预测变量组成的列Xβ不能包含任何值(即所有的系数必须是已知的)。

你不能指定βSigma2同时进行。

默认情况下,估计不计算条件后的特征σ2

例子:“贝塔”,1:3

数据类型:

条件后验分布的扰动方差值回归系数的估计,指定为逗号分隔组成的“Sigma2”和积极的数字标量。估计估计的特点π(β|y,X,Sigma2),yy,XX,Sigma2的值是“Sigma2”

你不能指定Sigma2β同时进行。

默认情况下,估计不计算条件后的特征β

例子:“Sigma2”, 1

数据类型:

蒙特卡罗模拟调整样本量,指定为逗号分隔组成的“NumDraws”和一个正整数。估计实际上吸引燃烧- - - - - -NumDraws *样本。因此,估计基地的估计NumDraws样本。有关如何估计减少了蒙特卡罗抽样,明白了算法

例子:e7 NumDraws, 1

数据类型:

即将删除从蒙特卡罗采样的开始降低瞬态效应,指定为逗号分隔组成的“燃烧”和一个负的标量。有关如何估计减少了蒙特卡罗抽样,明白了算法

提示

帮助你指定适当的老化时间大小,确定瞬态行为的程度在蒙特卡洛样本通过指定“燃烧”,0,模拟几千观察使用模拟,然后绘制路径。

例子:“燃烧”,0

数据类型:

蒙特卡罗调整样本量乘数,指定为逗号分隔组成的“薄”和一个正整数。

实际的蒙特卡罗样本大小燃烧+NumDraws*薄。丢弃老化后,估计丢弃每- - - - - -1吸引,然后保留下一个。有关如何估计减少了蒙特卡罗抽样,明白了算法

提示

减少潜在的大型蒙特卡罗抽样序列相关,或降低了存储的内存消耗PosteriorMdl,指定一个较大的值

例子:“薄”,5

数据类型:

起始值回归系数的马尔可夫链蒙特卡罗(密度)的样本,指定为逗号分隔组成的“BetaStart”和一个数字列向量(PriorMdl.Intercept+PriorMdl.NumPredictors)元素。默认情况下,BetaStart普通最小二乘(OLS)估计。

提示

一个良好的实践是运行估计多次使用不同的参数值。验证解决方案从每个运行收敛于相似金宝搏官方网站的价值观。

例子:“BetaStart”, [1;2;3]

数据类型:

开始的扰动值获得样本方差,指定为逗号分隔组成的“Sigma2Start”和积极的数字标量。默认情况下,Sigma2StartOLS剩余均方误差。

提示

一个良好的实践是运行估计多次使用不同的参数值。验证解决方案从每个运行收敛于相似金宝搏官方网站的价值观。

例子:“Sigma2Start”4

数据类型:

输出参数

全部折叠

贝叶斯线性回归模型存储分布特征,作为一个返回mixconjugateblm,mixsemiconjugateblm,lassoblm,或empiricalblm模型对象。

  • 如果你不指定βSigma2(他们的价值观[]),然后估计更新之前的模型使用后可能形成的数据分布。PosteriorMdl描述后验分布,是一个empiricalblm模型对象。信息PosteriorMdl商店或显示可以帮助你决定是否预测变量是很重要的。

  • 如果您指定βSigma2,然后PosteriorMdl=PriorMdl(两个模型是相同的对象存储相同的属性值)。估计没有更新前模型形成后的模型。然而,总结存储条件后验估计。

更多细节的显示PosteriorMdl,请参阅总结

摘要贝叶斯估计,作为一个表返回。总结包含相同的信息,评估总结的显示(显示)。行对应参数,和列对应于这些后特点:

  • 的意思是——后的意思是

  • 性病——后标准偏差

  • CI95- 95% equitailed可信区间

  • 积极的——后验概率参数大于0

  • 分布——边际的描述或条件参数的后验分布,当已知

  • 协方差——估计协方差矩阵的系数和扰动方差

  • 政权——Variable-inclusion概率模型,执行科学价值;低的概率表明变量应该排除在模型

行名称的名称PriorMdl.VarNames。最后一行的名字Sigma2

另外,通过PosteriorMdl总结获得贝叶斯估计的摘要。

更多关于

全部折叠

贝叶斯线性回归模型

一个贝叶斯线性回归模型将参数βσ2看不到在多元线性回归(MLR)模型yt=xtβ+εt为随机变量。

为次t= 1,…,T:

  • yt是观察到的反应。

  • xt是一个1 - (p+ 1)的观测值的行向量p预测因子。为了适应拦截模型,x1t= 1为所有t

  • β是(p+ 1)1的列向量回归系数对应的变量组成的列xt

  • εt是均值为零的随机干扰和浸(ε)=σ2T×T,而ε是一个T1向量包含所有干扰。这些假设可能是意味着数据

    ( β , σ 2 | y , x ) = t = 1 T ϕ ( y t ; x t β , σ 2 )

    ϕ(yt;xtβ,σ2)是高斯概率密度的意思xtβ和方差σ2评估在yt;

考虑到数据之前,您征收联合先验分布假设(β,σ2)。在贝叶斯分析,你更新的分布参数通过使用信息参数获得的数据的可能性。结果是联合后验分布(β,σ2)或条件后验分布的参数。

提示

  • 蒙特卡罗模拟是可能变更。如果估计使用蒙特卡罗模拟,那么当你叫估计和推断可能有所不同估计在看似同等条件下多次。复制估计结果,在调用之前估计,设定一个随机数种子通过使用rng

算法

这个图展示了估计减少了蒙特卡罗示例使用的值NumDraws,,燃烧

可视化表示的吸引与价值观NumDraws白色和黑色矩形,燃烧,Thin-1

矩形表示连续分布的吸引。估计删除蒙特卡罗采样的白色矩形。剩下的NumDraws黑色的矩形组成蒙特卡罗抽样。

版本历史

介绍了R2018b