问题标签 [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.

0 投票
1 回答
100 浏览

jags - 使用 JAGS for R 的分层模型显示错误的均值数

在此处输入图像描述

我有 2 列数据,y并且grp我正在尝试创建一个JAGS如上所示的模型。grp是组,我有 5 个组。以下代码来自这里。我使用这段代码是因为标题下的描述Model and Data看起来几乎像这个分层模型。

但是mu当我查看摘要时,我只得到一个。应该有 5mu's个,每组一个。有人可以更正代码吗?您也可以指出其他地方提供的类似示例,我可以尝试对其进行修改。我在代码中遗漏了一些东西,我相信代码可能就像问题一样,但是当我像这样修改它时,即使有 5 种方法,我似乎也没有得到适当的方法。

不确定这个问题是否属于数学堆栈交换。

0 投票
2 回答
432 浏览

tensorflow - 使用 JointDistributionSequential 的 Tensorflow 概率分层模型

我试图了解如何在 Tensorflow 概率中实现以下模型。

  1. 角度 ,theta在 范围内具有一致的先验概率[-pi / 2, +pi / 2]
  2. 方向翻转概率 ,beta在 范围内具有一致的先验概率[0, 1]
  3. theta'设置为:
    • theta' = theta + pi有概率beta; 或者
    • theta' = theta有概率(1 - beta);
  4. 浓度c具有HalfCauchy先验概率;和
  5. 从von Mises 分布alpha中得出一个观察结果,以集中为中心。theta'c

到目前为止,我尝试过的是

调用它会在二项式部分出现错误:TypeError: __init__() missing 1 required positional argument: 'total_count'. 我究竟做错了什么?

2020-03-17 更新

最新代码如下。我仍在尝试找出如何实现模型的第 (3) 部分,即theta通过添加pi概率来翻转我的角度方向beta。对此的任何帮助将不胜感激!到目前为止我所拥有的不起作用,因为我无法将伯努利对象乘以浮点数。

0 投票
1 回答
296 浏览

python - 使用 PyMC3 进行贝叶斯校准,Kennedy O'Hagan

我对概率编程和 pymc3 很陌生……目前,我想在 pymc3 中实现Kennedy-O'Hagan框架。

根据肯尼迪和奥哈根的论文,设置如下:

我们有n 个观测值z i的形式

z i = f(x i , theta) + g(x i ) + e i ,

其中x i是已知输入,theta是未知校准参数,e i是 iid 误差项。我们还有m个模型评估y j的形式

y j = f(x ' j , theta j ),其中x ' j(不同于上面的x i)和theta j都是已知的。因此,数据由所有z iy j组成. 在论文中,Kennedy-O'Hagan 模型 f, g 使用高斯过程:

f ~ GP{m 1 (.,.), 西格玛1 [(.,.),(.,.)] }

g ~ GP{m2 (.), Sigma2[(.),(.)] }

除其他外,目标是获取未知校准参数 theta 的后验样本。

到目前为止我所做的:

到这里为止,一切都很好。我的全科医生 f 是根据计算机模型进行训练的。现在,我想测试我是否可以将这个训练有素的 GP 拟合到我观察到的数据中:

这个公式正确吗?我得到非常不稳定的结果......根据 KOH 的完整配方应该是这样的:

有人可以给我一些建议如何用 pymc3 正确地制定 KOH 吗?我很绝望......将不胜感激任何帮助。谢谢!

0 投票
0 回答
38 浏览

python - 从生成的数据中对三个有偏见的硬币进行建模

这是我为了更好地理解 pymc3 而进行的一个实验。我有三个有偏见的硬币,我进行了以下实验:

问题是从上面的实验中给出的数据,我们可以对这三个硬币进行建模吗?

代码:数据生成器:

型号代码:

结果:

  • 发现coin1的模型很好
  • coin2 似乎接近原始值
  • coin3 很遥远

疑点:

  • 上面的实验有什么问题吗?
  • 有没有更好的方法来模拟这个实验?
0 投票
1 回答
489 浏览

python - 使用 pymc3 计算具有多个似然函数的模型的 WAIC

我尝试根据进球数预测足球比赛的结果,并使用以下模型:

当我对模型进行采样时,跟踪图看起来很好。

之后当我想计算 WAIC 时:

waic = pm.waic(trace, model)

我收到以下错误:

当我在 pymc3 中有两个似然函数时,有什么方法可以计算 WAIC 和比较模型?(1:主队进球数 2:客队进球数)

0 投票
0 回答
56 浏览

r - 对于 R 包 MCMCglmm 贝叶斯回归中的先验定义,如何通过参数 nu 传达不同的相信强度?

我知道先验的强度是通过参数 nu 设置的,但是,我找不到 nu 用统计术语表达的信息,例如,在这个例子中,与变量 x 的数量相似的先验有多强?

我还看到了很多 nu=0.01 的弱先验示例,这是否意味着与后验相比,我们对先验的信任度为 1/100?

0 投票
0 回答
117 浏览

python - 具有 N 维样本的分层线性回归

在 PyMC3 ( https://docs.pymc.io/notebooks/GLM-hierarchical.html ) 的这个例子中,用一维样本估计后验分布(数据集中的样本只有一个特征)。

如果我的数据集样本具有N 维特征,如何概括?我试图用

但它不起作用

0 投票
1 回答
295 浏览

r - R - 如何正确解释分层贝叶斯 VAR (BVAR) 中的结构中断?

我有兴趣使用bvarR 中的新包来预测一组内生时间序列。但是,由于 COVID 大流行,我的时间序列经历了结构性中断。在模型中解释这一点的最佳方法是什么?一些假设:

  1. 添加外生虚拟变量(好像包没有这个功能)
  2. 添加具有强先验的内生虚拟变量,使其他变量对其的影响系数为零(即“人工”外生变量)
  3. 创建两个单独的模型(结构中断之前与之后)

我尝试了 2+3 的混合。我测试了一个(i)模型,只有最近的数据(结构中断后),没有虚拟变量,而(ii)另一个模型有完整的历史,有一个额外的内生(虚拟)变量,但没有强虚拟先验(我不明白如何正确配置它)。模型 (ii) 在测试集中表现得更好。

0 投票
0 回答
314 浏览

python-3.x - 在运行贝叶斯层次模型时使用 pymc3 和 theano 编译错误

我在 pymc3 和 theano 上运行贝叶斯层次模型。当我开始训练我的模型时,我收到了这个错误:

有人可以帮我调试吗?一位同事尝试在他的机器上运行它并且它有效,所以我猜它与我的机器或可能与 theano 或 pymc3 的版本有关。

或者也许它与形状参数有关,但我再次怀疑,因为它已经在我同事的机器上工作了。我也尝试运行以下命令,但我不确定它的作用,我担心它只是隐藏了警告和重要消息

最后,对于贝叶斯程序员(也许它可以帮助)非中心 Cholesky 重新参数化工作和编译没有错误。请帮我

谢谢

0 投票
0 回答
151 浏览

r - 多级负二项式回归的每个随机因子的 ICC

library(brms)我有一个适合 brms ( )的多级负二项式模型

fit1 <- brm(TOTAL_VIOLATIONS ~ LN_POP + Source_binary + Source_purchased + (1|TYPE_consolidated) + (1|COUNTY), data = Data, family = negbinomial())

这是数据的样子:

我想探索包含第一个随机效应(TYPE_consolidated)与仅具有第二个随机截距(COUNTY)的相同模型的价值,但我一生无法弄清楚如何icc()使用by_group. 无论有没有这个参数,输出都是完全相同的(见下文)。我有一种感觉,这是因为它是一个 brms 对象,因为根据帮助,这些模型的输出是不同的,但我还没有想出另一种方法来获得它。有谁知道获得单个随机效应的方差比的方法(或者可以看到我做错了什么by_group)?如果没有,是否有标准方法来比较嵌套模型之间的 ICC?如果是这样,也许我可以为我的模型的两个不同版本计算它,然后改为这样做?