问题标签 [stan]

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

r - 如何在 STAN 中获得最大似然估计的标准误?

我在 Stan 中使用最大似然优化,但不幸的是该optimizing()函数不报告标准错误:

如何获得估计值(或置信区间 - 分位数)的标准误差,以及可能的 p 值?

编辑:我按照@Ben Goodrich 的建议做了:

但是这些“不受约束的”标准错误似乎与真实错误有很大不同 - 这里是贝叶斯拟合的输出,使用stan()

0 投票
0 回答
926 浏览

r - 向斯坦提供种子并不能保证相同的链

我试图比较两个非常等效但略有不同的模型的运行时间。但是根据采样的随机数,链总是需要非常不同的时间。所以我试图解决这个问题,seedstan().

我试过两次运行相同的模型。不幸的是,我发现即使是相同的种子也不能保证该过程会产生相同的样品!并且两次运行中链的运行时间也有很大不同!

  1. 种子怎么可能不保证 Stan 中的相同链?

  2. 这怎么能保证?

以下选项用于运行 Stan(rstan 版本 2.5.0):

0 投票
1 回答
1776 浏览

mcmc - 如何在 STAN 中监控局部变量?

我目前正在尝试将一些 JAGS 模型移植到 STAN。我收到一些奇怪的错误“stan::prob::exponential_log(N4stan5agrad3varE): Random variable is nan:0, but must not be nan!” 并调试那些我想知道一些本地参数的值。

在 JAGS 中,我可以为任何变量设置监视器。STAN 仅监控参数。但是参数不能有赋值(如果我理解正确的话)。

那么如何监控中间变量呢?

我还粘贴了模型代码,以防有人看到我犯的愚蠢错误。但是请注意,我知道可以将相同的模型表示为双指数(具有两个速率)的 CDF。这是我计划的简化形式。

这是一些虚拟数据:

0 投票
1 回答
982 浏览

bayesian - 包含离散值总和的 JAGS 模型的 Stan 版本 - 可能吗?

我试图在 Stan 中运行这个模型。我有一个正在运行的 JAGS 版本(返回高度自相关的参数),并且我知道如何将其公式化为双指数的 CDF(具有两个速率),这可能会毫无问题地运行。但是,我想将此版本用作类似但更复杂模型的起点。

到目前为止,我怀疑这样的模型在 Stan 中是不可能的。可能由于采用布尔值之和引入的离散性,Stan 可能无法计算梯度。

有谁知道是这种情况,还是我在这个模型中以错误的方式做了其他事情?我将得到的错误粘贴到模型代码下方。

非常感谢提前一月

这是一些虚拟数据:

以下是错误:

在运行时:

这是此模型的工作 JAGS 版本:

关于 min() 和 max():见这篇文章https://stats.stackexchange.com/questions/130978/observed-node-inconsistent-when-binomial-success-rate-exactly-one?noredirect=1 #comment250046_130978

0 投票
1 回答
322 浏览

cluster-computing - 在集群上安装 rstan

在集群上安装 rstan 时,应该如何选择用于构建的核心数量(在文档Sys.setenv(MAKEFLAGS = "-j4"中描述的行中)?如果集群中的每个节点都有 16 个核心,那么将值设置为 16 是否有意义?如果用户想使用 MPI 跨多个节点运行 stan 怎么办?或者在任何情况下将值保持在 4 是否最有意义,因为大多数人无论如何都会并行运行不超过 4 个链?我非常感谢有关此设置的任何建议。

0 投票
2 回答
574 浏览

r - 如何在 Stan 中为每条链使用不同的数据集?

我有一个包含许多缺失观察的数据集,我使用 Amelia 包来创建估算数据集。我想知道是否可以在每个链上使用不同的数据集并行运行相同的模型,并将结果组合到一个 Stan 对象中。

我的问题是如何同时在两个数据集上运行最后一行代码,运行 2 个链并将输出与相同的 stan() 函数结合起来。有什么建议么?

0 投票
3 回答
797 浏览

r - 混合 Pareto 和 Normal Stan 模型不起作用

我正在尝试通过 rstan 学习 Stan(因为我熟悉 R)。我试过运行一个简单的混合 Pareto 和 Normal 模型。它编译得很好(据我所知),但它无法采样,给我错误:

“(-2, 2) 之间的初始化在 100 次尝试后失败。尝试指定初始值、减小约束值的范围或重新参数化模型。

调用采样器时出错;采样未完成”

可以说我已经尝试了各种方法来参数化事物,并尝试设置初始值,但都无济于事。

我的 R+rstan 代码如下:

此示例适用于 JAGS(因此我也标记了 JAGS),我可以发布该代码是否有帮助。

顺便说一句,如果我将帕累托分布更改为额外的正态分布,它运行良好(但当然会给我一个无意义的答案)。

任何关于我做错了什么的建议将不胜感激!我担心不知何故我仍然认为 JAGS 而不是 Stan,但我找不到任何将 Pareto 模型与 Stan 拟合的例子,所以我很难交叉验证我的方法。

0 投票
0 回答
742 浏览

r - 用于可视化 Stan 轨迹的 Coda

我使用Stan(特别是 rstan)和贝叶斯单变量线性回归 $y = \beta_0 + \beta_1 x + \varepsilon$。我正在尝试使用 Coda 包来可视化 $\beta$s 的生成轨迹和分布。但是,这会产生错误Error in plot.new() : figure margins too largetraceplot并且densplot似乎工作正常。问题似乎出在plot.mcmc,它应该产生一个不错的面板输出。您可以在幻灯片“Traceplots and Density Plots”上 看到预期输出的示例

这是使用数据集的最小(非)工作示例mtcars

0 投票
1 回答
442 浏览

graphviz - 如何将 STAN 模型文件转换为 graphviz DOT 文件或其他图形表示?

我有一个描述分层模型的 STAN 文件。我想通过将 STAN 代码转换为 Graphviz DOT 文件来用所有参数可视化这个层次结构。另一个图形表示也可以。

考虑以下小例子:

有没有办法解析它并将其转换为类似 DOT 语言的文件,我可以绘制该文件以可视化层次结构?

我用谷歌搜索了很多,我能找到的最接近解析器的东西是在http://gephi.github.io/项目中。不知道这是否有帮助。

我想要结束的是类似于这样的东西: 克鲁施克

0 投票
1 回答
1795 浏览

r - R 版本 3.1.3 的 Rstan?

我无法获得 Rstan,因为我的 R 版本太新。

反正有下载这个版本的rstan吗?我是否需要降级我的 R 版本才能使用 rstan?