我的模型有三个参数,比如theta_1、theta_2和nu。
我想从后部采样theta_1,theta_2 , nu边缘化(可以分析完成),即从p(theta_1, theta_2 | D)而不是p(theta_1, theta_2, nu | D)其中D是数据。之后,我想根据theta_1和theta_2的新值重新采样nu。因此,一次采样扫描将包括以下步骤
- 从p(theta_1, theta_2 | D)绘制theta_1和theta_2(将nu边缘化)
- 从p(nu | theta_1, theta_2, D)绘制nu(nu被边缘化)
换句话说,一个折叠的 Gibbs 采样器。
我将如何使用 PyMC3 来解决这个问题?我认为我应该实现一个单独的阶跃函数,但我不确定如何在这里构建可能性。在 PyMC3 中实现阶跃函数时,如何访问模型规范?