问题标签 [pymc]

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 回答
396 浏览

python - 使用 PyMC 进行双重积分

我需要使用MCMC 方法执行双重积分。我已经使用rombergdoublequad集成完成了它,结果正确。我还需要使用 MCMC 集成来比较结果。我发现很难理解PyMC

大纲是这样的:我有一些时间序列数据,我需要找出适合它的分布。我有一组方程式告诉我该做什么涉及双重积分。

希望得到一些指导。

0 投票
1 回答
2646 浏览

python - 使用 pymc 用 MCMC 拟合两个正态分布(直方图)?

我正在尝试拟合 CCD 上的光谱仪检测到的线轮廓。为了便于考虑,我提供了一个演示,如果解决了,它与我实际想要解决的非常相似。

我看过这个: https ://stats.stackexchange.com/questions/46626/fitting-model-for-two-normal-distributions-in-pymc 和其他各种问题和答案,但他们正在做一些根本不同的事情比我想做的。

真实值和测量值图

我的问题: PyMC(或一些变体)可以给我上面使用的两个组件的平均值、幅度和 sigma 吗?

请注意,我真正适合我真正问题的函数不是高斯函数——所以请提供使用通用函数的示例(如我的示例中的 GaussFunc),而不是“内置” pymc.Normal() 类型功能。

此外,我了解模型选择是另一个问题:因此,对于当前的噪声,1 个组件(配置文件)可能是统计上合理的。但我想看看 1、2、3 等组件的最佳解决方案是什么。

我也不赞同使用 PyMC 的想法——如果 scikit-learn、astroML 或其他一些包看起来很完美,请告诉我!

编辑:

我在很多方面都失败了,但我认为正确的事情之一是:

但我无法构建一个有效的 mc.model。

0 投票
0 回答
1007 浏览

matplotlib - 在屏幕上运行 matplotlib/pymc 时出错

当我在 pymc 中运行 Matplot.plot 时,我使用 screen 来暂停它。完成后,出现一些错误:

我已经尝试过 ioff(),但它没有用。有没有其他方法可以解决它?

0 投票
1 回答
189 浏览

python - PyMC 在 Ubuntu 12.10 上测试

我在 Ubuntu 12.10 上安装了 PyMC。

Python 2.7.3 32 位。

当我尝试运行时:

我得到:

我也安装了最新的 HDF5 和 PyTables。

测试不起作用是否有原因?

0 投票
1 回答
933 浏览

python - 许多回归的PyMC回归?

我使用 PyMC 的时间不长,但我很高兴能够以多快的速度实现线性回归(这段代码应该在 IPython 中无需修改即可运行):

在这个模型中,有 40 个主题(观察)和每个主题的 5 个协变量。由于随机数据,该模型不会收敛,但它的采样没有错误(我的真实数据确实会收敛到准确的结果)。

我遇到问题的模型是这个的扩展。每个受试者实际上有 3 个(或 N 个)观察结果,因此我需要为这些观察结果拟合一条线,然后使用该线的截距作为“数据”或最终回归节点的输入。我认为这是一个经典的层次模型,但如果我以错误的方式思考它,请纠正我。

我的解决方案是设置一系列 40 个线性回归(每个主题一个),然后使用截距参数向量作为最终回归的数据。

该模型在采样步骤失败。错误似乎是在尝试将 offsetArr 转换为 dtype=float64 而不是它的 dtype=object 时。这样做的正确方法是什么?我是否需要另一个确定性节点来帮助将我的 offsetArr 转换为 float64?我需要一种特殊的 pymc.Container 吗?谢谢你的帮助!

0 投票
1 回答
2382 浏览

python - pymc 如何表示先验分布和似然函数?

如果 pymc 实现 Metropolis-Hastings 算法以从感兴趣的参数上的后验密度中提取样本,那么为了决定是否移动到马尔可夫链中的下一个状态,它必须能够评估与后验成比例的东西所有给定参数值的密度。

后验密度与基于观察数据乘以先验密度的似然函数成比例。

这些在 pymc 中是如何表示的?它如何从模型对象中计算出每一个数量?

我想知道是否有人可以给我该方法的高级描述或指出我在哪里可以找到它。

0 投票
1 回答
106 浏览

python - 如何保存/恢复 AdaptiveMetropolis 步骤方法状态?

我一直在运行一些相当昂贵的模型,而且老化时间很长。我想保存和恢复 AdaptiveMetropolis 步骤方法的状态(至少)以减少老化时间。有没有推荐的方法来做到这一点,或者我应该只是腌制dict 并在我想重新启动时step_method.current_state()尝试从腌制数据中更新step_method.C,和其他人?step_method.proposal_sd

(来自已弃用的 Google Group 论坛的交叉帖子:https ://groups.google.com/forum/#!topic/pymc/6U72WuuXmMo )

0 投票
2 回答
1816 浏览

python - 用 PyMC 解决逆问题

假设我们有一个关于X的先验(例如 X ~ Gaussian)和一个前向算子y = f(x)。进一步假设我们通过一个实验观察了y,并且这个实验可以无限重复。假设输出Y为高斯 (Y ~ Gaussian) 或无噪声 (Y ~ Delta(observation))。

给定观察结果,如何持续更新我们对X的主观知识程度?我用 PyMC 尝试了以下模型,但似乎我遗漏了一些东西:

后验没有收敛到xtrue

0 投票
0 回答
383 浏览

python - PyMC 中的伪实验

是否可以使用 PyMC 执行“伪实验”?

通过伪实验,我的意思是通过从先验抽样生成随机“观察”,然后,给定每个伪实验,从后验抽取样本。之后,将每个参数的轨迹与从后验抽样中使用的样本(从先验获得)进行比较。

一个更具体的例子:假设我想知道进程 X 的速率。我计算在某个时间段内发生了多少次。但是,我知道过程 Y 有时也会发生并且会污染我的计数。过程 Y 的速率是已知的,但存在一定的不确定性。所以,我建立了一个模型,包括我的观察结果,并从后验样本:

但是,在我进行实验之前(或在我“揭开”我的分析并查看我的数据之前),我想知道我期望的敏感度——我的 rate_x 测量的不确定性是什么?

为了回答这个问题,我可以从之前的样本中

但这仅对rate_x,rate_y和计算进行采样total_rate。但是一旦这些值由 设置draw_from_prior(),我可以绘制一个伪实验:

这只是返回一个数字,所以我必须将值设置Mod.data为随机样本。因为设置Mod.dataobserved标志,我也必须“强制”它:

现在我可以再次从后部采样

所有这些都有效,所以我想我的问题的简单答案是“是”。但感觉非常hacky。有没有更好或更自然的方法来实现这一点?

0 投票
1 回答
4214 浏览

python - 定义自定义 PyMC 分布

这也许是一个愚蠢的问题。

我正在尝试使用 PyMC 中的 MCMC 评估将数据拟合到一个非常奇怪的 PDF 中。对于这个例子,我只想弄清楚如何适应我手动输入正常 PDF 的正态分布。我的代码是:

我发现的示例都使用 mc.Normal 或 mc.Poisson 之类的东西,但我想适应注释掉的密度函数。

任何帮助,将不胜感激。