问题标签 [pystan]
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 - PyStan: CompileError: command 'gcc' failed with exit status 1 (macos)
这是我正在尝试运行的 PyStan 模型。但是,一旦我尝试运行它,就会遇到以下错误:
CompileError:命令“gcc”失败,退出状态为 1
知道如何在 macOS 上修复此错误吗?
python - 如何修复通过 pip install 安装 pystan 时弹出的这个错误?
这是我在 Windows 命令提示符中输入的内容:
这是我的输出:
谢谢!
stan - Estimating the posterior of a parameter vector which is only observed after linear transformation
I have a known matrix M
(square of dimension D
) and a parameter vector v
(of length D
) which is unknown to me and whose posterior distribution I am trying to estimate. My prior on v
is that each of its components is standard normal.
For example, let's say that M
looks like this:
My observed data is a of the form R * M * v
where R
is a "reduction" (non-square) matrix that effectively only allows me to observe some of the components of M * v
. For example, R might look like this (keeping the first and second components of M * v
):
What's the right way to set up a problem like this in STAN?
python - 代码在 Spyder 中逐行运行,但不是在整个脚本运行时
我已经安装了 pystan 并正在尝试验证安装是否正常工作。
当我转到 Spyder 中的 IPython 控制台并逐行运行以下代码时,它会生成正确的答案。
线路调用pystan.StanModel
大约需要 30 秒,而其他线路立即执行。最后我得到了正确的结果(大约为 0,例如 0.01 或 -0.01)。
但是,当我在 Spyder 中将代码作为单个脚本运行时,它不起作用,而是控制台永远运行,不会产生结果,我必须手动关闭 Anaconda。这是为什么?
python - 在 Windows 上导入 PyStan 时 DLL 加载失败
我正在尝试在 Windows 10 中导入 PyStan,但我不断收到以下错误:
我已经卸载了 PyStan 并重新安装了 Pip,但我似乎遇到了同样的错误。我使用以下 Python 版本:
当我不在虚拟环境中工作时,我也会遇到同样的错误。
提前致谢。
multithreading - C++ Windows 中的多线程
我在 Windows 中使用 pystan 模块,其中模块中的 Windows 不支持多线程。pystan 模块部分是用 C++ 编写的,由于我试图减少模块的运行时间,我想知道是否有办法在模块的 C++ 部分中手动编写多线程代码以减少运行时间所以我可以增加迭代次数吗?下面是代码:
我对 C++ 不是很精通,因为我一直在使用 python,而 pystan 模块需要用 C++ 编写代码。我希望有一种方法可以对我的 Windows 上不同内核的迭代次数进行多线程处理。
python - Pystan 后不确定区间
我在另一个论坛上看到 PyStan 没有与他们使用的 RStan 相同的功能posterior_interval()
,但我们可以使用numpy.percentile()
。我目前正在使用pystan.StanModel.optimizing()
PyStan 中的函数来获取最大化后验似然的参数集。我现在还想获得后验结果的外部 95% 置信区间,所以我想知道该numpy.percentile()
函数是否会与该optimizing
函数一起使用?
我尝试找到参数分布的 95% 区间,但这并没有给出围绕结果的良好置信区间。特别是,我不认为这很好,因为当我期望后验呈现多峰分布时,我使用的置信区间numpy.percentile()
位于后验二维高斯补丁内。
我认为 95% 的间隔必须取自后部。我会使用百分位数函数和优化函数来获得 95% 置信度的后验结果吗?
python - 后验分布 Pystan 的最高密度区间 (HDI)
我看到在 Pystan 中,HDI 函数可用于提供围绕后验分布的 95% 可信区间。然而,他们说它只适用于单峰分布。如果我的模型可能具有多峰分布(最多 4 个峰),有没有办法在 Pystan 中找到 HDI?谢谢!
bayesian - 用于离散混合模型的 Stan 与 PYMC3
我正在研究零膨胀计数时间数据。我已经建立了一个模型,该模型使用块中的语句stan
来处理这种零膨胀数据。正如他们在 Stan 参考指南中所建议的那样。例如,if
model
这个if
声明显然是必要的,因为 Stan 使用 NUTS 作为不处理离散变量的采样器(因此我们正在边缘化这个离散随机变量而不是从中采样)。我没有太多经验,pymc3
但我的理解是它可以处理吉布斯更新步骤(从离散的伯努利可能性中采样)。然后以零膨胀值为条件,它可以对依赖于泊松可能性的参数执行 Metropolis 或 NUTS 更新。
我的问题是:可以(如果可以的话)pymc3
以这样的方式使用从离散的零膨胀变量中采样,并通过 NUTS 更新对连续变量进行更新?如果可以,性能是否比上述实现显着提高stan
(边缘化了离散随机变量)?此外,如果pymc3
只能支持 Gibbs + Metropolis 更新,那么这种远离 NUTS 的变化是否值得考虑?