2

我通过 API 调用生成数据,一次一个数据点。我想将每个点提供给 Stan 模型,保存更新的模型,然后丢弃数据点。

斯坦有可能吗?

如果是这样,您如何处理组级参数?例如,如果我的模型有 J 个组级参数,但我一次只输入一个数据点,这不会产生错误吗?

4

1 回答 1

1

我认为您的问题可以概念化为贝叶斯更新。换句话说,您对参数的信念当前由某个联合分布表示,然后您又获得了一个数据点,并且您希望根据该数据点更新您的信念。然后重复这个过程。

如果是这样,那么您可以做一个只有一个数据点的 Stan 模型,但是您需要某种方式来表示您当前的信念,并使用概率分布作为先验。这通常可以通过无约束空间中参数的一些多元正态分布来完成。您可以使用unconstrain_parsrstan 包中的函数来获得不受约束的后验矩阵,然后查看它接近的多元法线。如果您有很多参数,您可能希望对多元正态使用一些缩小的协方差估计器。然后,在您的 Stan 程序中,对参数使用多元正态先验,并执行您需要做的任何转换,以在受限空间中获取转换后的参数(许多此类转换记录在 Stan 用户手册中)。

确实,当您估计只有一个数据点的层次模型时,该数据点基本上没有关于特定数据点不在的组的信息。但是,在这种情况下,参数的后验分布的边际被省略的组将与之前的分布基本相同。那也行。

于 2016-10-25T18:15:25.760 回答