问题标签 [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.
python - 在 PyMC3 中访问随机变量的值
在 PyMC2 中,有 random() 和 value() 方法来生成随机值,并获取随机变量的当前值。在 PyMC3 中有什么方法可以做同样的事情吗?
python - PyMC3 中隐马尔可夫模型的问题
为了学习 PyMC,我正在尝试做一个简单的隐马尔可夫模型,如下所示:
我认为这个模型应该是正确的,但是当我尝试从这个模型中采样时,我真的很奇怪InvalidValueError
:
我已经用完整的代码上传了 ipython 笔记本。关于我做错了什么的任何提示?
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
pymc - 为什么 find_MAP 在这个模型上抛出错误?
我正在 pymc3 中尝试一个简单的模型,但是当我尝试使用该find_MAP
方法时它会抛出以下错误。:
非常相似的代码使用 Beta 和 Binomial 分布而不是 Dirichlet 和 Multinomial 分布工作,但以下代码失败:
如何调整模型推理设置使其不会爆炸?
python - 可以在 PyMC 确定性函数中使用“if”语句吗?
在阅读了 Cam Davidson-Pilon 的Probabilistic Programming & Bayesian Methods for Hackers之后,我决定尝试使用 PyMC解决隐马尔可夫模型 (HMM)学习问题。到目前为止,代码不配合,但是通过排查,感觉已经缩小了问题的根源。
将代码分解成更小的块并专注于 t=0 时的初始概率和发射概率,我能够学习 t=0 时单个状态的发射/观察参数。但是,一旦我添加另一个状态(总共两个状态),无论数据输入如何,参数学习的结果都是相同的(并且不正确)。所以,我觉得我一定在代码部分做错了@pm.deterministic
,这不允许我从Init
初始概率函数中采样。
通过这部分代码,我的目标是学习初始概率 p_bern
和发射概率 p_0
,p_1
分别对应于状态 0 和 1。发射取决于状态,这是我试图用我的@pm.deterministic
函数来表达的。我可以在这个确定性函数中使用“if”语句吗?这似乎是问题的根源。
我已经尝试了以下无济于事:
编辑:根据克里斯的建议,我已经将伯努利节点移到了确定性之外。我还将代码更新为更简单的模型(伯努利观察而不是多项式),以便于排除故障。
感谢您的时间和关注。任何反馈都会受到热烈欢迎。另外,如果我缺少任何信息,请告诉我!
ipython - ipython api的稳定性
在 ipython4 中使用 pymc3 我得到一些与 ipython 的 api 有关的错误:
这部分 api 是否足够稳定,值得我尝试稳定其上的代码,还是仍在大力开发?
pymc - pymc 一次拟合多个观察值
我正在尝试使用 pymc 来适应振荡数据的时间演变。在这里,每个时间步我不仅有一个点,而且还有几个。
我根本找不到在 pymc3 中进行这项工作的有效方法,因为它总是会引发一些输入值错误。所以我想知道是否有一个很好的解决方案。我附上了代码,但它也可以在此处作为 ipython 笔记本找到。
python - 是否可以使用分类随机变量在 PyMC3 中创建分层模型?
我正在尝试使用 PyMC3 比较两个模型(来自 Jake Vanderplas 博客的示例),但我无法让我修改后的代码正常工作(这些函数best_theta()
并logL()
在 Jake 的博客文章中进行了解释,该文章以IPython Notebook形式提供):
这引发了一个例外,因为变量choice
是一个 RV 对象,而不是一个整数(与 PyMC2 不同),正如在这个问题中所讨论的那样。但是,在我的代码中, 的值choice
对于使其工作很重要。
我的问题是,有没有办法访问 RV 的值choice
,或者更一般地使用分类随机变量建立一个层次模型(即使用分类 RV 的值来计算另一个 RV 的对数似然)?
pymc3 - Pymc3 中的分类混合模型
我是 Pymc3 的新手,我正在尝试创建https://en.wikipedia.org/wiki/Mixture_model#Categorical_mixture_model中显示的分类混合模型。我很难连接“x”变量。我认为这是因为我必须使 z 变量确定性,但我在分配“x”的行收到一条错误消息:“ValueError:我们期望 3 个输入,但得到 2 个。”。看起来 p 函数只接受 2 个输入,所以我被卡住了。我已经尝试了很多不同的东西,但还不能让它工作。