问题标签 [pymc3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
994 浏览

python - 在 PyMC3 中访问随机变量的值

在 PyMC2 中,有 random() 和 value() 方法来生成随机值,并获取随机变量的当前值。在 PyMC3 中有什么方法可以做同样的事情吗?

0 投票
0 回答
874 浏览

python - PyMC3 中隐马尔可夫模型的问题

为了学习 PyMC,我正在尝试做一个简单的隐马尔可夫模型,如下所示:

我认为这个模型应该是正确的,但是当我尝试从这个模型中采样时,我真的很奇怪InvalidValueError

我已经用完整的代码上传了 ipython 笔记本。关于我做错了什么的任何提示?

0 投票
1 回答
620 浏览

python - PyMC3 中分类的 Softmax 选择概率

我正在尝试在以下场景中对 softmax 选择函数的单个参数执行参数估计:

在每个试验中,给出三个选项值(例如,[1,2,3]),并且受试者在选项(0、1 或 2)之间做出选择。softmax 函数将选项值转换为选择概率(3 个概率的向量,总和为 1),具体取决于温度参数(此处限制在 0 和 10 之间)。

每个试验中的选择应该被建模为一个分类分布,其中试验选择概率是从 softmax 计算的。请注意,分类的选择概率取决于选项值,因此在每次试验中都不同。

这是我想出的:

对于大于 50 的 nTrials,此代码将失败,并带有极长的警告/错误消息:

警告:

错误:

我对 PyMC(和 Theano)相当陌生,我觉得我的实现非常笨拙且不理想。非常感谢任何帮助和建议!

菲利克斯

编辑:我已将代码作为笔记本上传,完整显示警告和错误消息:http: //nbviewer.ipython.org/github/moltaire/softmaxPyMC/blob/master/softmax_stackoverflow.ipynb

0 投票
1 回答
508 浏览

pymc - 为什么 find_MAP 在这个模型上抛出错误?

我正在 pymc3 中尝试一个简单的模型,但是当我尝试使用该find_MAP方法时它会抛出以下错误。:

非常相似的代码使用 Beta 和 Binomial 分布而不是 Dirichlet 和 Multinomial 分布工作,但以下代码失败:

如何调整模型推理设置使其不会爆炸?

0 投票
2 回答
1033 浏览

python - 可以在 PyMC 确定性函数中使用“if”语句吗?

在阅读了 Cam Davidson-Pilon 的Probabilistic Programming & Bayesian Methods for Hackers之后,我决定尝试使用 PyMC解决隐马尔可夫模型 (HMM)学习问题。到目前为止,代码不配合,但是通过排查,感觉已经缩小了问题的根源。

将代码分解成更小的块并专注于 t=0 时的初始概率和发射概率,我能够学习 t=0 时单个状态的发射/观察参数。但是,一旦我添加另一个状态(总共两个状态),无论数据输入如何,参数学习的结果都是相同的(并且不正确)。所以,我觉得我一定在代码部分做错了@pm.deterministic,这不允许我从Init初始概率函数中采样。

通过这部分代码,我的目标是学习初始概率 p_bern发射概率 p_0p_1分别对应于状态 0 和 1。发射取决于状态,这是我试图用我的@pm.deterministic函数来表达的。我可以在这个确定性函数中使用“if”语句吗?这似乎是问题的根源。

我已经尝试了以下无济于事:

  1. 使用@pm.potential装饰器创建联合分布
  2. 更改我的位置的Init位置(您可以在代码中看到我的注释,我不确定将它放在哪里)
  3. 使用@pm.stochastic此类似的

编辑:根据克里斯的建议,我已经将伯努利节点移到了确定性之外。我还将代码更新为更简单的模型(伯努利观察而不是多项式),以便于排除故障。

感谢您的时间和关注。任何反馈都会受到热烈欢迎。另外,如果我缺少任何信息,请告诉我!

0 投票
1 回答
1242 浏览

ipython - ipython api的稳定性

在 ipython4 中使用 pymc3 我得到一些与 ipython 的 api 有关的错误:

这部分 api 是否足够稳定,值得我尝试稳定其上的代码,还是仍在大力开发?

0 投票
1 回答
569 浏览

pymc - pymc 一次拟合多个观察值

我正在尝试使用 pymc 来适应振荡数据的时间演变。在这里,每个时间步我不仅有一个点,而且还有几个。

我根本找不到在 pymc3 中进行这项工作的有效方法,因为它总是会引发一些输入值错误。所以我想知道是否有一个很好的解决方案。我附上了代码,但它也可以在此处作为 ipython 笔记本找到。

0 投票
1 回答
1033 浏览

python - 是否可以使用分类随机变量在 PyMC3 中创建分层模型?

我正在尝试使用 PyMC3 比较两个模型(来自 Jake Vanderplas 博客的示例),但我无法让我修改后的代码正常工作(这些函数best_theta()logL()在 Jake 的博客文章中进行了解释,该文章以IPython Notebook形式提供):

这引发了一个例外,因为变量choice是一个 RV 对象,而不是一个整数(与 PyMC2 不同),正如在这个问题中所讨论的那样。但是,在我的代码中, 的值choice对于使其工作很重要。

我的问题是,有没有办法访问 RV 的值choice,或者更一般地使用分类随机变量建立一个层次模型(即使用分类 RV 的值来计算另一个 RV 的对数似然)?

0 投票
0 回答
533 浏览

python - PyMC3 分层模型中的超先验

我正在尝试从 PyMC3 中的学术论文构建一个层次模型,其中包含许多参数。这是这个模型的板图:

在此处输入图像描述

当我尝试为 PyMC3 构建这个模型时,我无法给超先验 p(它是 Beta 分布并提供伯努利分布的先验)一个形状。这个的语法是什么?我的带有内联注释的错误模型说明了我的问题,如下所示:

0 投票
1 回答
793 浏览

pymc3 - Pymc3 中的分类混合模型

我是 Pymc3 的新手,我正在尝试创建https://en.wikipedia.org/wiki/Mixture_model#Categorical_mixture_model中显示的分类混合模型。我很难连接“x”变量。我认为这是因为我必须使 z 变量确定性,但我在分配“x”的行收到一条错误消息:“ValueError:我们期望 3 个输入,但得到 2 个。”。看起来 p 函数只接受 2 个输入,所以我被卡住了。我已经尝试了很多不同的东西,但还不能让它工作。