Stan和PyMC3中的影响图/决策模型

时间:2018-11-17 23:55:40

标签: pymc3 stan markov-decision-process probabilistic-programming

是否可以在Stan或PyMC3中编写决策模型?我的意思是:我们不仅定义随机变量的分布,还定义决策和效用变量的定义,并确定使预期效用最大化的决策。

我的理解是,Stan比PyMC3更像是一个通用的优化器,因此建议在其中更直接地实现决策模型,但我想听听人们怎么说。

编辑:虽然可以枚举所有决策并计算其相应的预期效用,但我想知道一种更有效的方法,因为决策的数量组合起来可能太多(例如,从列表中购买多少商品数千种产品)。影响图算法利用模型中的分解来识别独立性,这些独立性仅允许对较小的一组相关随机变量进行决策计算。我想知道Stan还是PyMC3是否可以做这种事情。

1 个答案:

答案 0 :(得分:2)

贝叶斯决策理论的基本步骤是:

  1. 列举一组可以做出的有限决定
  2. 指定决策的效用函数以及其他可能的东西
  3. 从给定已知数据的所有未知数的后验分布中提取
  4. 为每个可能的决定和每个后验图评估效用函数
  5. 做出最高预期效用的决策,平均后验抽奖。

您可以使用任何软件(包括Stan和PyMC3)执行这五个步骤,该软件可以从后验分布中产生(有效)绘图。在Stan中,应在generated quantities块中评估效用函数。