问题标签 [hierarchical-bayesian]
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.
hierarchical-data - 带有贝叶斯的分层贝叶斯:两个二级
目前,我正在为具有 T 周的 I 商店实施具有面板数据的分层贝叶斯模型,其中我的因变量是品牌的销售额。我的目标是将商店特征与我正在使用的解释变量联系起来,但我希望有两个单独的二级。我的模型如下所示:
y = 截距 + alpha * X + beta * W + 误差项,
我想介绍第二个级别:
alpha = lambda1 * Z + 误差
beta = lambda2 * Z + 误差,
其中 Z 包含商店特征。rhierLinearModel
但是,据我所知,在使用in时只能使用一级二级bayesm
。
有谁知道我如何指定模型或调整代码以获得两个二级?
非常感谢您!
r - 在 R 中实现 MCMC 算法
假设我进行了一个实验,其中数据具有 $Poisson(\lambda)$ 采样密度。我对使用带有参数 $\alpha$ 和 $\beta$ 的 Gamma 先验密度的 $\lambda$ 的不确定性。我还使用独立的 Gamma 先验密度描述了我们关于 $\alpha$ 和 $\beta$ 的不确定性。
我正在尝试实现一个 MCMC 算法来计算 $\lambda$、$\alpha$ 和 $\beta$ 的后验密度。我下面的代码有什么问题?我的接受率为0。
r - 什么是可从“rstanarm”包中的 stan_glm() 对象中提取的“linear.predictors”?
我写信是为了找出对象"linear.predictors"
返回的
内容stan_glm()
。
显然,"linear.predictors"
与用户提供的预测变量不同(文档没有帮助)。
无论如何,有没有办法从stan_glm()
对象中获取预测值?
这是一个单一的预测器(即 mom_iq)示例:
r - 基于来自`rstanarm`包中`stan_glm()`的分组变量的后验预测?
stan_glm()
我想知道如何根据包中的分组变量获得后验预测rstanarm
?
例如,如果我的数据中有一个二进制(0, 1)
编码的分组变量"vs"
(基本 R 数据:)mtcars
,我如何获得何时vs == 0
和何时的预测vs == 1
?
这是我的 R 代码:
stan - Stan 中的分层混合模型
我正在尝试在 Stan 中实现分层混合模型,该模型描述了任务的性能如何随时间变化。在模型中(参见下面的代码),假定从两个法线(dperf_int、dperf_sd 和 sf)的混合中提取三个较低级别的参数。为了实现这些,我只是假设这些较低级别参数的先验是混合的。还有两个参数(perf1_int 和 perf1_sd)仅在组级别进行估计。对于这些,我假设观察本身是从法线的混合中提取的。
我很确定我已经正确地实现了组级参数的混合,因为我刚刚完成了 Stan 手册中的内容。但是,我想检查我是否正确完成了模型的分层混合组件。该模型非常低效。我在 4000 次迭代中运行了 4 个链,并且许多参数的 n_eff < 10。所以我怀疑我错过了一些东西。
以下是用于运行模型的代码:
...数据在这里:https ://www.dropbox.com/s/eqzw1lou6uba8i3/wide_data.RData?dl=0
任何帮助将非常感激!
machine-learning - 将分层贝叶斯与 OLS 进行比较
我做了两个模型。分层贝叶斯模型和最小二乘/OLS 模型,我想比较两者。
我知道对于 OLS 结果,我可以简单地打印摘要:
这会给我一些统计数据,如 F 统计量、AIC、BIC 等。
据我所知,我无法为我的分层贝叶斯模型打印类似的摘要,但我不确定。
你有什么建议适合比较的统计数据以及我如何计算这些统计数据?
任何帮助都感激不尽!非常感谢!
python-2.7 - 在 PyMC3 中保存跟踪图中的数据
下面是简单贝叶斯线性回归的代码。在我获得参数的轨迹和图之后,有什么方法可以将创建图的数据保存在文件中,这样如果我需要再次绘制它,我可以简单地从文件中的数据中绘制它而不是再次运行整个模拟?
python-2.7 - 使用 PyMC3 进行贝叶斯推理。编译错误。
以下两个代码使用 PyMC3 在 python 中进行简单的贝叶斯推理。虽然指数模型的第一个代码编译并运行得非常好,但简单 ode 模型的第二个代码给出了错误。我不明白为什么一个工作,另一个不工作。请帮忙。
代码 #1
代码 #2
错误是
请帮忙。
python - 错误:非常量表达式不能从类型“npy_intp”缩小到“int”
我正在尝试运行以下模型,但在编译过程中失败:
有这些错误:
我是 PyMC3 的新手。运行现有 PyMC3 示例时,我没有看到这些错误。我怀疑我看到这些是因为我使用的是多维格式(即,(G,K)
),因为我还没有看到其他人使用这种格式(我可能是在强加我对 Stan 的熟悉程度)。
一般来说,我很难理解如何实现具有多个维度的多级模型。
知道是什么导致了我看到的错误吗?
版本
- 蟒蛇3.6.3
- numpy 1.14.5
- Theano 1.0.2
- pymc3 3.4.1
- Mac OS 10.13.5
更新
我在 HPC 节点(CentOS 7)上安装了相同的软件包版本(通过conda
),并且能够运行@colcarroll 建议的模型的修改版本。然而,在我的 OS X 机器上,我仍然看到上面指出的 Theano 编译错误,即使模型发生了变化。这可能是个clang
问题吗?可以指定 Theano 使用的编译器吗?
python - Metropolis-specific TypeError:输入的可广播模式对于此操作不正确
我正在尝试在 PyMC3 中构建一个多层次、多维的贝叶斯模型。对于这个问题,我将使用具有以下图形结构的较小玩具模型:
其中G
代表基因、K
细胞类型和C_k
细胞类型的细胞k
。总体而言,该模型表示从不同细胞类型的细胞集合中采样的基因转录物,其中存在一些由细胞类型平均表达水平参数化的二项式分布mu_gk
,以及细胞特异性捕获效率,p_kc
。
当我用 NUTS 对这个玩具模型进行采样时,它表现良好并恢复了合理的后验分布:
但是,当我尝试使用 Metropolis 进行采样时,例如,
我收到以下堆栈跟踪和错误消息:
我确实发现了一个 GitHub issue 提交了一些类似的内容,但我不清楚有人为他们的特定模型提出的“解决方法”在我的案例中将如何转化。
我怀疑这个模型与遇到的错误最相关的方面是在实例化二项式随机变量时手动广播参数:
它将 2D 张量“挤压”成与所需输出形状匹配的 3D 张量。
这个模型应该如何实现才能避免在运行 Metropolis 时出现错误?