pymc3模型在具有默认init的采样器中失败,但可与“地图”一起使用

用户名

解决“统计反思”中的问题时-我正在使用pymc3解决“萨拉曼德斯”问题10H4。(下面的代码)

采样器总是失败,并显示以下错误:

RV alpha.ravel()[0]的导数为零。

但是,当我将init ='map'选项传递给采样器时,与使用R代码的其他人得到的结果相似强烈建议不要在采样器的输出中使用“ map” init选项,但许多其他init选项也存在问题。

数据在这里

我曾尝试根据与错误消息相关的网络搜索中的建议更改先验条件。

with pm.Model() as hw_10_4:
    alpha = pm.Normal('alpha',mu=0,sd=5)
    beta = pm.Normal('beta',mu=0,sd=5)
    l = pm.Deterministic('lambda',pm.math.exp(alpha + beta*pctcover))
    s = pm.Poisson('salam',l,observed=salaman)
    trace_10_4 = pm.sample(1000, tune=1000, init='map')

我得到了想要的结果,但是我有兴趣进一步了解为什么我首先遇到了问题。我是PYMC3的新手,我想完全了解发生了什么。

谢谢!

梅尔

是的,PyMC3确实似乎无法很好地处理全局扩展。很高兴Stan似乎不会像PyMC3那样受阻,但实际上在两种情况下,只要将回归预测器标准化就可以进行理想的采样。对于PyMC3,一些统计重新思考代码的非官方移植恰好解决了这个问题FWIW,我通常scale导入sklearn.preprocessing,其行为与scale文本中使用的R相同

至于使用MAP初始化,这在高维预测变量空间中主要是一个问题。在这里,我不会只使用一个预测变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无掉头采样器 (NUTS) 的 PyMC3 性能问题:简单模型每秒迭代次数少于 2 次

带有Java的JSR233采样器可与Selenium Webdriver一起使用(javax.script.ScriptException:在文件中:内联评估)

pymc3:具有多个混淆变量的层次模型

在统一分支中具有非绑定采样器

Pymc3中的分类混合模型

使用 pymc3 拟合 lomax 模型

Samba网络发现通过文件管理器失败,但可与smbtree一起使用

Sublime REPL中具有Input()的Python代码给出了语法错误,但可与Python Shell一起使用

UIButton约束失败,但可与UILabel一起使用

python只是导入失败,但可与from一起使用

在PyMC3中从用户提供的目标密度采样

如何在PyMC3中采样多个链

具有ActiveMQ的JMeter JMS点对点采样器

JUnit 采样器无法与多个线程 Jmeter 的 CSV 数据集配置一起正常工作

Google Cast SDK无法在具有wifi的Xcode 9.4模拟器上使用,但可以与以太网一起使用

在PyMC3中使用BetaBinomial

如何将资源路由与嵌套控制器(具有父模型)一起使用

PYMC3:NUTS难以从分层零膨胀伽玛模型进行采样

使用PyMC3进行增量模型更新

使用新的观察数据更新 PyMC3 上的模型

在D3中具有Contenteditable的ForeignObject无法与Chrome一起使用

具有主机名的URL不起作用,但可以与IP地址一起使用

Jmeter。具有JSON中的随机数和字符串收集元素的HTTP采样器

pymc3:使用 NUTS

如何将set方法与具有默认值的Input vatiables一起使用?

正则表达式在C中不匹配,但可与在线解释器一起使用

具有视图模型的DialogFragment无法与数据绑定一起使用

Python过采样将多个采样器组合在一个管道中

PyMC3高斯混合模型