在 R 中生成具有双变量伽马分布的随机数

Generate random numbers with bivariate gamma distribution in R

如何使用二元伽马分布生成随机数。密度为:

F(X,Y)(x, y) = αp+qxp-1(y-x)q-1e-αy / [Γ(p) Γ(q)], 𝕀0≤ x≤ y

y>x>0,α>0,p>0,q>0。

我没有在 R 上找到任何包可以做到这一点,而且在文献中也没有。

这很简单:

  1. 生成 X~ Gamma(p,alpha)(alpha 是公式中的速率参数)

  2. 生成W~ Gamma(q,alpha),独立于X

  3. 计算Y=X+W

  4. (X,Y) 具有所需的双变量分布。

在 R 中(假设 p、q、alpha 和 n 已经定义):

x <- rgamma(n,p,alpha)
y <- x + rgamma(n,q,alpha)

从参数为 p、q、alpha 的双变量分布生成 n 个值