我需要一个Dirichlet发行版,并且我使用的是numpy.random.dirichlet。当我根据Dirichlet PDF公式给出alpha=1,1,1,1时,它应该得到一个一致的函数。但它没有给我一个统一的向量。有人知道为什么吗?
发布于 2020-01-10 09:24:47
据我所知,numpy.random.dirichlet函数可以正常工作。我认为您可能稍微误解了什么是Dirichlet分布。
K维狄利克雷分布将有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)分布的。
This article对这一概念进行了相对简单和非技术性的解释。
https://stackoverflow.com/questions/59674211
复制相似问题