贝叶斯模型中交叉验证的稳定性

机器算法验证 贝叶斯 交叉验证
2022-02-15 13:12:33

我正在使用 k 折交叉验证 (k=5) 在 JAGS 中拟合贝叶斯 HLM。我想知道参数的估计值是否在所有折叠中都是稳定的。最好的方法是什么?β

一种想法是找出后验的差异,并查看 0 是否在差异的 95% CI 中。换句话说,在的 95% 区间中为 0 (然后对所有折叠对重复)。ββk=1βk=2

另一个想法是将每个折叠的后验视为不同的 MCMC 链,并跨这些伪链R^

其中之一是否更可取,是否有替代方案?

2个回答

我不知道这是否可以作为评论或答案。我放在这里是因为它感觉像是一个答案。

在 k 折交叉验证中,您将数据划分为 k 个组。如果您甚至涵盖“基础知识”,那么您将统一随机选择每个 k 个 bin 的成员。

当我谈到数据时,我将每一行视为一个样本,将每一列视为一个维度。我习惯于使用各种方法来确定变量重要性、列重要性。

如果你,作为一个思考练习,脱离“教科书”统一随机,并确定哪些行是重要的?也许他们一次只通知一个变量,但也许他们通知更多。是否有一些行不如其他行重要?也许很多观点都是有用的,也许很少。

知道变量的重要性,也许您可​​以按重要性对它们进行分类。也许你可以用最重要的样本制作一个箱子。这可以定义你的“k”的大小。通过这种方式,您将确定“信息量最大的”第 k 个存储桶并将其与其他存储桶以及信息最少的存储桶进行比较。

这可以让您了解模型参数的最大变化。它只是一种形式。

分割第 k 个桶的第二种方法是通过影响的大小和方向。因此,您可以将一个或多个参数在一个方向上摇摆的样本放入一个桶中,并将相同参数或多个参数在相反方向上摇摆的样本放入另一个桶中。

这种形式的参数变化可能会对变量进行更广泛的扫描,而不是基于信息密度,而是基于信息品种。

祝你好运。

这可能不是一个完整的答案,但如果 0 不在 95% CI 的几个差异中,那么可以肯定地说它们在 0.05 的水平上并不相同。