问题标签 [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.
tensorflow - 使用 JointDistributionSequential 的 Tensorflow 概率分层模型
我试图了解如何在 Tensorflow 概率中实现以下模型。
- 角度 ,
theta
在 范围内具有一致的先验概率[-pi / 2, +pi / 2]
; - 方向翻转概率 ,
beta
在 范围内具有一致的先验概率[0, 1]
; theta'
设置为:theta' = theta + pi
有概率beta
; 或者theta' = theta
有概率(1 - beta)
;
- 浓度
c
具有HalfCauchy先验概率;和 - 从von Mises 分布
alpha
中得出一个观察结果,以集中为中心。theta'
c
到目前为止,我尝试过的是
调用它会在二项式部分出现错误:TypeError: __init__() missing 1 required positional argument: 'total_count'
. 我究竟做错了什么?
2020-03-17 更新
最新代码如下。我仍在尝试找出如何实现模型的第 (3) 部分,即theta
通过添加pi
概率来翻转我的角度方向beta
。对此的任何帮助将不胜感激!到目前为止我所拥有的不起作用,因为我无法将伯努利对象乘以浮点数。
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 i和y j组成. 在论文中,Kennedy-O'Hagan 模型 f, g 使用高斯过程:
f ~ GP{m 1 (.,.), 西格玛1 [(.,.),(.,.)] }
g ~ GP{m2 (.), Sigma2[(.),(.)] }
除其他外,目标是获取未知校准参数 theta 的后验样本。
到目前为止我所做的:
到这里为止,一切都很好。我的全科医生 f 是根据计算机模型进行训练的。现在,我想测试我是否可以将这个训练有素的 GP 拟合到我观察到的数据中:
这个公式正确吗?我得到非常不稳定的结果......根据 KOH 的完整配方应该是这样的:
有人可以给我一些建议如何用 pymc3 正确地制定 KOH 吗?我很绝望......将不胜感激任何帮助。谢谢!
python - 从生成的数据中对三个有偏见的硬币进行建模
这是我为了更好地理解 pymc3 而进行的一个实验。我有三个有偏见的硬币,我进行了以下实验:
问题是从上面的实验中给出的数据,我们可以对这三个硬币进行建模吗?
代码:数据生成器:
型号代码:
结果:
- 发现coin1的模型很好
- coin2 似乎接近原始值
- coin3 很遥远
疑点:
- 上面的实验有什么问题吗?
- 有没有更好的方法来模拟这个实验?
python - 使用 pymc3 计算具有多个似然函数的模型的 WAIC
我尝试根据进球数预测足球比赛的结果,并使用以下模型:
当我对模型进行采样时,跟踪图看起来很好。
之后当我想计算 WAIC 时:
waic = pm.waic(trace, model)
我收到以下错误:
当我在 pymc3 中有两个似然函数时,有什么方法可以计算 WAIC 和比较模型?(1:主队进球数 2:客队进球数)
r - 对于 R 包 MCMCglmm 贝叶斯回归中的先验定义,如何通过参数 nu 传达不同的相信强度?
我知道先验的强度是通过参数 nu 设置的,但是,我找不到 nu 用统计术语表达的信息,例如,在这个例子中,与变量 x 的数量相似的先验有多强?
我还看到了很多 nu=0.01 的弱先验示例,这是否意味着与后验相比,我们对先验的信任度为 1/100?
python - 具有 N 维样本的分层线性回归
在 PyMC3 ( https://docs.pymc.io/notebooks/GLM-hierarchical.html ) 的这个例子中,用一维样本估计后验分布(数据集中的样本只有一个特征)。
如果我的数据集样本具有N 维特征,如何概括?我试图用
但它不起作用
r - R - 如何正确解释分层贝叶斯 VAR (BVAR) 中的结构中断?
我有兴趣使用bvar
R 中的新包来预测一组内生时间序列。但是,由于 COVID 大流行,我的时间序列经历了结构性中断。在模型中解释这一点的最佳方法是什么?一些假设:
- 添加外生虚拟变量(好像包没有这个功能)
- 添加具有强先验的内生虚拟变量,使其他变量对其的影响系数为零(即“人工”外生变量)
- 创建两个单独的模型(结构中断之前与之后)
我尝试了 2+3 的混合。我测试了一个(i)模型,只有最近的数据(结构中断后),没有虚拟变量,而(ii)另一个模型有完整的历史,有一个额外的内生(虚拟)变量,但没有强虚拟先验(我不明白如何正确配置它)。模型 (ii) 在测试集中表现得更好。
python-3.x - 在运行贝叶斯层次模型时使用 pymc3 和 theano 编译错误
我在 pymc3 和 theano 上运行贝叶斯层次模型。当我开始训练我的模型时,我收到了这个错误:
有人可以帮我调试吗?一位同事尝试在他的机器上运行它并且它有效,所以我猜它与我的机器或可能与 theano 或 pymc3 的版本有关。
或者也许它与形状参数有关,但我再次怀疑,因为它已经在我同事的机器上工作了。我也尝试运行以下命令,但我不确定它的作用,我担心它只是隐藏了警告和重要消息
最后,对于贝叶斯程序员(也许它可以帮助)非中心 Cholesky 重新参数化工作和编译没有错误。请帮我
谢谢
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?如果是这样,也许我可以为我的模型的两个不同版本计算它,然后改为这样做?