贝叶斯尖峰和平板与惩罚方法

机器算法验证 r 贝叶斯 特征选择 正则化 bsts
2022-03-02 06:38:37

我正在阅读 Steven Scott 的关于 BSTS R 包的幻灯片(您可以在此处找到它们:slides)。

在某些时候,当谈到在结构时间序列模型中包含许多回归量时,他介绍了回归系数的尖峰和平板先验,并说它们与惩罚方法相比更好。

Scott 提到了一个包含 100 个预测变量的数据集示例:

  • 惩罚方法对包含/排除哪些变量做出单一决定,这意味着它们决定预测变量的一个子集,即可能的模型中的一个模型。2100
  • “套索(和相关的)先验并不稀疏,它们在模态而不是后验分布中引起稀疏”

在这一点上,他介绍了 Spike 和 Slab 先验。

我想我有直觉,但我想确定一下:

  • 从某种意义上说,它们是否更好,因为它们基本上使用蛮力方法来测试要包含的每个可能的回归量子集?
  • 这样做的缺点是计算时间吗?
  • 你认为他在说“套索(和相关)......但不是后验分布”时是什么意思?
2个回答

我会先回答你的第三个问题,稍后再解决你的其他两个问题。

  1. 你认为他在说“套索(和相关)......但不是后验分布”时是什么意思?

他幻灯片中的这个数字显示了他的意思。将 lasso 正则化器表示为先验分布意味着您的先验分布将采用拉普拉斯或双指数分布的形式。该分布在均值处有一个特征性的非平滑峰,将其设置为 0 以实现稀疏正则化效果。要直接获得套索正则化结果,您应该采用后验分布的模式。

测试

图中,蓝色虚线表示拉普拉斯先验分布。实心黑色的后验分布在左侧的众数为 0,似然性较弱,而右侧的众数为非零,似然性强。

然而,完整的后验分布并不是稀疏的,因为如果你从中采样,你很少会得到接近 0 的值,事实上,因为它是一个连续分布,你永远不会得到精确的 0。

为了使用 lasso 方法实现稀疏性,您通常需要在后验模式上设置一些截止阈值。理想的情况是,如果您的后验模式等于 0,但是如果在取绝对值后其后验模式小于 0.2,您可以放松这一点并消除您的变量。

在 lasso 下执行这种稀疏化会给出一组特定的消除和保留回归量,这是关于包含或排除哪些回归量的“单一决定”。

变量选择的完全贝叶斯方法,即尖峰和平板先验,保留了在整个模型中应该包含或排除哪些变量的不确定性。

因此,要解决您的第一个问题:

  1. 从某种意义上说,它们是否更好,因为它们基本上使用蛮力方法测试要包含的每个可能的回归量子集?

这是一种误解,因为这两种方法都没有测试要包含的所有可能的回归量子集。

  1. 这样做的缺点是计算时间吗?

这也是一种误解,因为计算时间并不受暴力测试每个可能的回归量子集的支配。

为了澄清 Scott 的观点,给定一些数据,如果您使用惩罚似然稀疏化方法,您将获得一组包含和排除的回归量。但是,如果您使用尖峰和平板稀疏化方法,则每个回归量都有完整的后验分布,每个回归量都有单独的被包含或排除的可能性。一些回归变量可能有 70% 的机会被包括在内,其他回归变量则有 25% 的机会。这在许多应用程序中可能更可取,因为给定单个数据集,我们仍然不确定哪些回归器重要或不重要。

直观地说,与 lasso 等惩罚似然方法相比,尖峰和平板先验更好地表示包含/排除回归量的可能空间。

我喜欢上面的大部分答案。我唯一担心的是:“如果您使用尖峰和平板稀疏化方法,则每个回归量都有完整的后验分布,每个回归量都有单独的被包含或排除的可能性”。如果你应用 lasso 或 ridge,你也会有一个完整的后验分布。此外,对于尖峰和平板,您可能还需要应用阈值以将回归量完全设置为零,这实际上会删除这些变量。主要区别在于尖峰和平板在将变量缩小到零方面的效果要大得多,这使得它更适合高维设置。