问题标签 [dirichlet]

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

theano - PyMC3 狄利克雷分布

我在 pymc3 中实现了一个线性回归模型,其中未知的权重向量被限制为概率质量函数,因此被建模为 Dirichlet 分布,如下面的代码所示:

通过运行对后验进行采样后:

我分析了狄利克雷变量的踪迹,发现它们的值不相加(下面是一个例子):

我不熟悉 theano 变量,并且发现很难探索 Dirichlet RV 在 pymc3 中的表达方式......我做错了什么,还是应该将跟踪中返回的值归一化以便它们总和为一个?

快速更新 看起来该函数pm.find_MAP()采用了一种梯度下降优化。这没有考虑到表示从狄利克雷分布中抽取的向量是概率质量函数(其值应为正且它们的总和应为 1)这一事实所产生的约束。这种约束显然也没有在算法的采样阶段强制执行,并且随着似然分布的精度向零漂移,会导致收敛问题。

0 投票
1 回答
543 浏览

java - AnyLogic:狄利克雷分布的实现?

全部:

任何人都知道在 AnyLogic 中从 Dirichlet 分布中实现绘图的方法吗?

我有三个相互关联的概率,例如 p1 + p2 + p3 = 1,我想为每一个绘制值。

我目前正在使用以下代码实现这一点:

我在a和上的c先验知识在哪里?p1p2

谢谢!

0 投票
1 回答
438 浏览

scikit-learn - DPGMM 将所有值聚类到单个聚类中

所以我已经将我的语料库转换成一个不错的 word2vec 矩阵。该矩阵是具有负数和正数的浮点矩阵。

我似乎无法得到无限的狄利克雷过程来给我任何有凝聚力的答案。

示例输出 [for 2 steps] 如下所示:

可以观察到,看起来 z、gamma 和 mu 都爆炸了,最终系统收敛到仅 1 个集群,这并不准确。我曾尝试为 DPGMM 摆弄 alpha,但它并没有真正改变太多。

我正在尝试做的是使用自治聚类系统自动聚类更接近含义的单词。K-Means 需要我不想提供的“K”。

0 投票
1 回答
934 浏览

r - rdirichlet 分布在 R 中不起作用

我正在尝试运行我一年多前编写的一些代码,但由于某种原因,这次它无法正常工作。以前我将矩阵变量 alpha 和 prob 输入到 R 中。但是这次我将它们作为 csv 文件导入,因此每次迭代都可以更轻松地修改它们。我目前正在运行 R x64 2.12.2。我加载了 gtools、splines 和 stat4 包。

在 rdirichlet 行之后,我收到以下错误。

有谁知道这个错误是什么意思以及如何解决它?谢谢

0 投票
0 回答
659 浏览

r - d'Hondt 法逆计算器

我从 Carlos Gil Bellosta 那里找到了这段代码,用于使用 d'Hondt 方法在选举系统中分配席位。

现在我想知道如何反转这个函数,即从他们的席位开始估计n个政党的投票百分比。

显然,这需要一种概率方法。我试图模拟许多可能的结果,并发现它们的座位等价,构建类似于概率表的东西。解决方案?为我感兴趣的座位分布找到最近的 n 元组。看起来很老式,我知道。这是我的代码。

想知道是否有人建议这可以以更优雅和直接的方式完成。

0 投票
1 回答
482 浏览

python - 狄利克雷分布混合物的归一化常数无界

我需要在 python 中计算 Dirichlet 分布混合的 PDF。但是对于每个混合分量,都有一个归一化常数,它是以超参数和的伽马函数为分子的反贝塔函数。因此,即使对于大小为“60”的超参数的总和,它也是无界的。请建议我解决此问题。当我忽略归一化常数时会发生什么?

首先,问题不是NC本身的计算。对于单个狄利克雷,我没有问题。但是我这里有一个狄利克雷产物的混合物,所以每个混合物成分都是许多狄利克雷的产物,每个狄利克雷都有自己的NC。所以这些的产品是无限的。关于我的目标,我有一个 p(s,T,O) 的联合分布,其中“s”是离散的,“T”和“O”是狄利克雷变量,即一组参数向量总和为“1” . 现在因为's'是离散的和有限的,我有|S| 每个 's' 的一组狄利克雷成分的产品混合物。现在我的目标是找到 p(s|T,O)。所以我直接代入一个特定的 (T,O) 并计算每个 p('s'|T,O) 的值。为此,我需要计算 NC。如果只有一个混合成分,那么我可以忽略范数常数 calc。最后重新归一化,但由于我有几个混合成分,每个成分都会有不同的缩放比例,所以我不能重新归一化。这是我的难题。

0 投票
1 回答
1448 浏览

python - Python 包:用于 Dirichlet 分发的 MLE

我想知道是否有人知道一个 python 包,它实现了 MLE 来估计 Dirichlet 分布的参数。

0 投票
0 回答
773 浏览

r - JAGS - 无法找到合适的采样器

我正在尝试在 JAGS 中开发分层 Dirichlet-多项式过程隐藏马尔可夫模型,以根据民意调查结果估计多方、主要投票意图。我还使用主要投票估计来计算澳大利亚优先投票制度下的两党优先投票份额。

dmulti() 多项分布失败并显示运行时错误消息:无法找到合适的采样器。我有一个使用一系列二项式分布和总和到 N 约束的解决方法。从理论上讲,这应该会产生相同的结果,但会在模型中造成空间和时间效率低下。

我的问题是我是否可以在下面模型的隐藏的时间部分中做一些事情来使多项分布工作。

模型(和周围的 R 代码)如下:

六个月内模型的输入数据如下。

下面是输出的比较(与我拥有的其他模型相比)。下一张图表中的红线是从上面生成的。

在此处输入图像描述

0 投票
1 回答
468 浏览

python-2.7 - 傅里叶域中格林函数卷积的狄利克雷边界条件

我目前正在研究 python 中的 3D 热扩散方程。

我正在用这个方程的格林函数与源方程的卷积来求解热扩散方程,它变成了傅里叶域的乘法。

G * S ---> TF --- > G x S

由于我使用了傅立叶变换,我有边界条件,这意味着我的 3D 模拟空间周围都有二次源。

在此处输入图像描述

为了抵消那些次要虚源的影响,我想应用 Dirichlet 边界条件,这将在边缘应用 0 值,并阻止热量扩散回我感兴趣的区域。

你做过了吗?你知道如何编码和实现它吗?也许还有另一种方法可以否定这些问题?

谢谢 !

0 投票
2 回答
208 浏览

r - 具有总和统一和等式约束的正权重采样

假设我有一个正权重向量,a=(a1, a2, a3, a4)使得a2=a3a1+a2+a3+a4=1。有没有办法使用 R 对这种权重进行采样?我试图考虑使用 Dirichlet 分布,但它没有提供强制两个变量相等的机制。