2

我需要一个 Dirichlet 分布,我正在使用 numpy.random.dirichlet。当我根据 Dirichlet PDF 公式给出 alpha=[1,1,1,1] 时,它应该产生一个统一的函数。但它没有给我一个统一的向量。有人知道为什么吗?

4

1 回答 1

2

据我所知,该numpy.random.dirichlet功能按预期工作。我想你可能对 Dirichlet 分布有一点误解。

k 维 Dirichlet 分布将具有 k 个参数(x_1 到 x_k),它们的总和必须为 1。如果您尝试sum(np.random.dirichlet([1, 1, 1, 1])),结果将始终为 1(给出或接受一些舍入误差)。因此,虽然np.random.dirichlet([1, 1, 1, 1]))它的支持确实是统一的,但这种支持受到 x_1 + x_2 + x_3 + x_4 = 1 的要求的约束,并且输出数组不会是 Unif(0, 1) 分布的。

本文对该概念进行了相对简单且非技术性的解释。

于 2020-01-10T01:24:47.000 回答