问题标签 [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 投票
0 回答
37 浏览

r - R2jags :: JAGS“初始化模型”

我通过包“R2jags”为占用模型运行 JAGS。

我的模型运行良好,但大部分时间花在控制台读取“初始化模型”的阶段,即 1.05 小时的总运行时间。40分钟。以下是此阶段发生的情况(根据 JAGS 文档):

  • 选择初始值(我通过 R 中的列表将它们传递给 JAGS)
  • RNG = 选择随机数生成器。(我使用默认设置)
  • 采样器被选中。(我对此没有直接影响,但可以加载某些“模块”,需要尝试这是否加快了进程,但对此表示怀疑)

我的“初始化”需要这么长时间?我对这种行为感到很困惑......

0 投票
0 回答
17 浏览

r - 错误:运行 HMM 时替换的长度为零 R

我正在尝试使用包 MHMM BAYES 运行 HMM。我已经按照教程中的说明设置了我的代码(https://cran.r-project.org/web/packages/mHMMbayes/vignettes/tutorial-mhmm.html)见下文

但是,当我尝试运行模型时,出现以下错误:

我尝试检查类似的问题,但它们似乎没有帮助。

0 投票
0 回答
38 浏览

python - 选择不标准化分层贝叶斯回归(pymc3)中的自变量时如何缩放超先验

背景

社区中有很多关于如何标准化自变量(减去平均值然后除以标准差)有利于提高 MCMC 采样效率的讨论,而不是数学要求(John K. Kruschke,https: //stats.stackexchange.com/q/273209 . Andrew Gelman 等人 (2008, p. 4-5) 和 Osvaldo Martin (2018, p. 96) 提到的其他主要好处是自变量允许我们使用相同的弱信息先验/超先验,随后意味着所有系数都可以用 z 分数来解释。

因此,我们有两个选择:i)标准化自变量,在这种情况下先验的规模可以保持不变,或者 ii)不标准化自变量,在这种情况下,需要手动设置先验的规模. 这是我的问题所指的第二个选项。

业务问题

我正在为购物类别(即男士沐浴露)构建一个层次模型。因变量是数量,其中每个观察值都是每周的 SKU(库存单位)水平。层次结构使得产品线中的每个 SKU 与该产品线中的所有其他 SKU 共享相同的系数。产品线是同一品牌内的一组 SKU,它们是几乎相同的产品,只有不同的气味/颜色等。我们还将因变量除以 SKU 级别的平均值,以便模型可以估计当您在同一产品线中有一些小批量 SKU 和一些大批量 SKU 时,这些系数是有意义的。

在下面的简单示例中,有 3 个变量和截距。变量的比例如下: rrp - 推荐零售价。大多数 SKU 是 $20-$60 discount_amount - 此变量经过 atan 转换以形成“S”形;比例为 0-1 mu_comp_launch_steal - 此变量的值是竞争对手产品发布蚕食的数量(数量);比例从 0 到 ~5000 不等,具体取决于产品

Question: how do I scale the hyperpriors when choosing not to standardize the independent variables?

使用 pm.Model() 作为分层模型:

参考

[1] John K. Kruschke ( https://stats.stackexchange.com/users/16592/john-k-kruschke),MCMC贝叶斯方法 - 居中和标准化,URL(版本:2017-04-11):https: //stats.stackexchange.com/q/273209

[2] Andrew Gelman、Aleks Jakulin、Maria Grazia Pittau、Yu-Sung Su。“逻辑和其他回归模型的信息量较弱的默认先验分布。” 应用统计年鉴,2(4) 1360-1383 2008 年 12 月。第 1363 页。

[3] 奥斯瓦尔多·马丁。使用 Python 进行贝叶斯分析:使用 PyMC3 和 ArviZ 进行统计建模和概率编程的介绍。第 2 版。2018. 第 96 页奥斯瓦尔多·马丁。“使用 Python 进行贝叶斯分析”。第 96 页。

0 投票
0 回答
13 浏览

svm - 我可以使用多类 SVM 来解决推理问题吗?

我有一个问题,我想找到属于每个班级的概率,我有 3 个班级。我知道我们可以考虑贝叶斯推理并解决它,但我想也许我可以使用多类 SVM 代替?您一般建议如何改进贝叶斯推理方法?

0 投票
1 回答
199 浏览

r - 错误:所有列表元素必须是列表本身:在 tidybayes 中使用 spread_draws 函数时出错

在玩 tidybayes 包时(我从小插图中模拟的代码复制了数据:http://mjskay.github.io/tidybayes/articles/tidybayes.html ,我继续偶然发现错误:错误:全部使用 spread_draws 函数(或 tidybayes 中的任何其他函数,就此而言)时,列表元素必须是列表本身。这是来自小插图的模拟数据:

这是拟合模型的代码:

但是,即使在尝试使用 get_variables 函数时,我也会遇到与上述相同的错误。有没有其他人遇到过类似的问题或能够解决这个问题?

这是会话信息。

如果您需要任何其他信息,或者如果我监督提供了某些信息,请告诉我!

非常感谢您的帮助,一切顺利。

0 投票
0 回答
31 浏览

tensorflow - 更改 tensorflow_probability Convolution3DFlipout 层中的默认先验和后验

默认先验Convolution3DReparametrization()tfp.layers.default_multivariate_normal_fn均值 0 和标准差 1 的各向同性高斯。后面是tfp_layers_util.default_mean_field_normal_fn()。例如,是否可以为先验和后验指定分层模型,prior~N(0,sigma)并且sigma~Gamma(a1,b1)?我怎样才能在 Tensorflow 概率中实现这一点,可能是tfd.JointDistributionSequential?的源代码tfp_layers_util.default_mean_field_normal_fn()如下:

0 投票
0 回答
16 浏览

bayesian - 如何从形状 > 1 的 PyMC3 参数中获取所有值?

我在 PyMC3 中建立了一个未合并的模型:

我知道如果 的形状beta为 1,我可以使用以下方法获得最大概率估计:

但由于形状大于 1,我应该得到更多的 1 值。如何提取该值?

0 投票
0 回答
53 浏览

model - 如何将营销组合建模中每个渠道的先前 LAG 设置到此代码中

这是一个 MARKETING MIX MODEL 考虑 adstock 效应,其中 Delta 和 Peak 受先验影响,而 Lag 固定为 8。我想知道如何更改 STAN CODE 以便为每个频道提供不同的 LAG(我会修复滞后的先前 beta (2,6)。

有兴趣的可以在这里阅读文章。 https://towardsdatascience.com/python-stan-implementation-of-multiplicative-marketing-mix-model-with-deep-dive-into-adstock-a7320865b334

https://github.com/sibylhe/mmm_stan/blob/main/mmm_stan.py

0 投票
1 回答
34 浏览

data-manipulation - stan 操作和修复数据的语法

max_lag 是所有媒体的固定整数。我需要为每种媒体设置特定的延迟。那么,如何才能为每种媒体设置不同的延迟,以及数据和参数必须如何更改为语法?例如:max_lag_channel_media1 = 10;max_lag_channel_media2 = 4; max_lag_channel_media3 = 6

0 投票
0 回答
13 浏览

r - 无法在 JAGS/rjags 的分层漂移扩散模型中获得单独条件的参数估计

我在 JAGS 中运行分层漂移扩散模型,我改编自:Pleskac et al., 2018该实验是一个二选一的反应时间任务。

我的目标是为 3 个实验条件获得单独的参数估计值(muAlpha、muBeta、muDelta 和 muNDT)。此外,估计 muAlpha 和 muBeta 依赖于对 con1 (factor1) 的主体操作,而 muDelta 和 muNDT 取决于对 con2 (factor1*factor2) 的主体操纵。

我的问题是,只有第一个实验条件的后验估计(muAlpha、muBeta、muDelta 和 muNDT)在形状上看起来是合理的,而第二个和第三个实验条件的后验估计看起来像是均匀分布。

我发现另一个类似问题的问题,据我了解,模型中的嵌套索引存在错误。不幸的是,我无法弄清楚我在模型中错误指定的内容(见下文),如果有人能帮助我,我将不胜感激!

(如果要运行模型,则需要为 JAGS 安装JAGS Wiener 模块扩展。)