问题标签 [emcee]
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 - 具有高斯先验的主持人给出 NaN
我一直在使用 emcee 对我的参数进行采样,起初我之前的都是统一的
它工作得很好。然后,我在高斯之前更改 rd,
程序给了我这个错误
谁能告诉我为什么会这样,以及如何解决?我会感谢你的回答,谢谢
python - 如何在角图中以不同方式格式化中位数和误差?
我正在尝试使用corner
Python 中的包格式化角图。据我所知,有 command title_fmt = *arg
,但是它为中位数和误差提供相同的格式,这对于报告测量误差不方便。我需要用 2 个有效数字显示错误,然后在最后一个 sig.fig 处舍入中位数。其错误。这是我可以做的一个例子
这使
我可以输入这样的title_fmt = '.2g'
行
正如预期的那样显示较少的 sig.fig。对于错误,但后来我错过了 sig.fig。在中位数和一些错误不显示最后一个 sig.fig。当它为0时。对于我的例子,我需要得到类似的东西
title_fmt
我已经阅读了 API,除了选项之外,它没有提供任何更多的解释。如果有人可以提供帮助,请提前致谢。
python - ValueError:使用emcee包时概率函数返回NaN
我正在使用 emcee 包来确定应遵循泊松分布的测量数据集的最佳参数。我使用的代码是
但是,在运行此代码时,它会返回
该代码在使用高斯对数似然时确实有效。我猜它与某个地方的概率为 0 然后除以这个值有关。但是,我不知道如何解决这个问题。有人有这方面的经验吗?
python - 如何为 GetDist 图保存 EMCEE chian
我正在尝试使用 EMCEE 进行一个简单的练习。代码运行,我可以得到一个图,但现在我想保存链以用 Getdist 绘制它。我附上了一个最小的代码。
如果我使用角落,我可以得到一个情节(带有切割轴,但这是另一个故事)。我试图将样本保存为 .txt 但没有。你知道我如何使用 GetDist 分割或绘制链吗?先感谢您。
python - MCMC 或 HMC 中的加速特征值问题
简要背景:我正在使用贝叶斯推理方法,如 MCMC 或 HMC。到目前为止,我一直在使用emcee
包来使用 MCMC 推断模型参数。我使用的主要原因emcee
是因为它允许 MPI 并行化对后验分布进行采样的步行者。因此,每个 walker 在单独的核心上运行。emcee
可以在链接中找到使用线性回归的简单示例: https ://emcee.readthedocs.io/en/stable/tutorials/line/
问题:对于我的具体问题,我需要解决一个特征值问题,并将特征值与每个 MCMC 步骤的数据进行比较。我们必须找到其特征值的矩阵 M 是一个平均大小 (2500 x 2500) 的复 Hermitian 矩阵。每个在单独核心上工作的 walker 都必须解决这个特征值问题。我可以使用numpy.linalg.eigh()或辣味.linalg.eigh()或scipy.sparse.linalg.eigsh()作为特征值求解器,我知道它们每个都在不通过 MPI 运行时使用所有可用的内核执行。但是,由于我正在并行化 walker,每个 walker 被限制为单个核心,因此特征值求解器不会使用所有其他核心(即使我提供的核心数量超过 walker 的数量)。
我的问题:回答以下任何或所有问题都会有很大帮助。
- 我该如何解决这个问题?
- 有没有办法可以在 GPU 上完成以加快计算速度?
- 有没有人使用 MCMC 或 HMC 来解决使用多个 walker 并且需要解决特征值问题的问题?
我对特征值问题的运行时测试可以在 GitHub 存储库中找到,用于对不同的特征值问题求解器进行基准测试,可以在以下链接中访问:https ://github.com/srijaniiserprinceton/test_eigprob
python - 使用 lmfit 时将参数传递给 emcce 示例
我正在尝试使用 lmfit 和 emcee minner 将函数拟合到两个数据集
我的代码如下所示:
这适用于某些数据集,但有时我会收到如下所示的错误:
“ValueError:初始状态的条件数很大。确保你的步行者是线性独立的以获得最佳性能”
从我搜索的内容来看,跳过此错误的解决方案似乎是在 emcce示例skip_initial_state_check
中设置参数True
我试图通过这种方式将此设置传递给最小化器来做到这一点:
但是我得到一个错误:
“TypeError:emcee() 得到了一个意外的关键字参数‘skip_initial_state_check’”
但是,当我尝试通过将任何其他参数传递给司仪来做到这一点时,它似乎可以工作。例如,这很好用:
所以我的结论是,我没有将参数传递给 emcee 样本,而是一般地传递给 emcee。有人会这么好心地提出解决方案吗?不幸的是,我不能使用最小二乘拟合,因为它往往会经常卡在局部最小值上。
parameters - 使用 EMCEE 进行星系分布参数估计的问题
我目前正在使用 Python 3.8.5、Emcee 3.0.2 和 CAMB 1.3.0 来估计与星系红移分布相关的参数。这个想法是通过拟合星系的自功率谱来估计参数,给定它们的红移分布的特定函数。我是 MCMC 研究的新手,我的程序效率不高。例如,估计三个参数需要将近 7 个小时,考虑到 4 个步行者和 2000 次迭代(我在 emcee.EnsembleSampler 中使用 move = emcee.moves.GaussianMove())。我还尝试按照文档中的建议使用多处理(https://emcee.readthedocs.io/en/stable/tutorials/parallel/) 但我读到这种方法几乎没有问题(我正在使用 Windows 10)。有人能帮我吗?代码花费大量时间进行宇宙学参数估计是正常的吗?
python - 如何限制 Emcee 采样器可以选择的值?
我正在尝试使用emcee
python 包从分布中提取样本并最大化我的数据来自采样参数的可能性。
例如,我有一个参数N
,我试图为 N 找到一个最大化后验似然的值。(我实际上使用了 3 个参数,但为了简单起见,我在此示例中使用了 1)。
我跑了:
sampler = emcee.EnsembleSampler(100, 3, logL, args=[new_data])
我为我的参数选择了初始位置p0
。
然后我跑了:
它大部分都在工作,但有时采样器会为 N 选择非物理的值。
那么如何对采样器选择的值范围进行限制呢?例如,也许我希望采样器停止尝试N
作为负数或停止N
大于 100。
我知道我可以更改自己的似然函数,以使非物理值付出很大的代价并不受青睐——但我不希望采样器一开始就被允许选择它们。
我现在认为我应该建立我的似然函数,以便我不希望采样器选择的数字(例如负数)受到惩罚并给予非常低的可能性。
我只是希望有人确认这是我应该做的,以防我错过了一种更简单的方法来限制Emcee
本身选择哪些数字。
python-3.x - 在代码中添加“导入希望”会给我编译错误
我正在使用 ScalPy python 包。当我在代码中不添加“import hope”和“@hope.jit”行的情况下运行代码时,程序运行顺利。添加这些行会给我带来编译错误。但这是我的程序可以在多个处理器上运行的唯一方法,它可以加快运行速度。否则需要几天时间才能完成。我有 5 天的集群时间。我应该怎么做才能摆脱这个错误?谁能帮我这个..?我已经浪费了很多天来让这个代码在集群上运行。现在这是我遇到的问题。任何形式的帮助将不胜感激。先感谢您。
以下是错误:
python - 多处理 Python 模块“emcee”,但并非机器上所有可用的内核都在使用
我正在使用 emcee 文档中所述的多处理模块并行化 emcee。但是,htop 显示该程序一直使用有限数量的内核 (26-27)。我正在运行我的代码的计算机有 80 个可用内核,我想利用所有这些内核来加速代码。
有人可以帮我吗?我在文档中没有找到任何解决方案。