借鉴狄利克雷分布

机器算法验证 采样 狄利克雷分布
2022-02-03 23:18:16

假设我们有一个狄利克雷分布K维向量参数α=[α1,α2,...,αK]. 如何绘制样本(aK维向量)从这个分布?我需要一个(可能)简单的解释。

2个回答

一、画K独立随机样本y1,,yK来自每个具有密度的 Gamma 分布

Gamma(αi,1)=yiαi1eyiΓ(αi),

然后设置

xi=yij=1Kyj.

现在,x1,...,xK将遵循狄利克雷分布

Dirichlet 分布的Wikipedia 页面准确地告诉您如何从 Dirichlet 分布中采样。

此外,在RMCMCpack中有一个函数用于从 Dirichlet 分布中采样随机变量。

一个简单的方法(虽然不精确)在于使用绘制 Dirichlet 分布等价于 Polya 的瓮实验这一事实。(从一组彩色球中抽出,每次抽出一个球,用第二个相同颜色的球将其放回骨灰盒中)

考虑您的 Dirichlet 参数αi作为 i 上的非标准化分布。

然后 :

重复N次

--> 使用αi多项分布

--> 加 1αi

结束重复

标准化α得到你的分布

如果我没记错的话,这种方法是渐近精确的。但是由于 N 是有限的,因此您永远不会绘制一些先验概率非常小的分布(而您应该以非常小的频率绘制它们)。我想在大多数情况下 N = K.10 可能会令人满意。