如何生成 2 个相关的 Beta 随机变量

机器算法验证 r 相关性 采样 随机生成 贝塔分布
2022-03-14 04:51:37

我想知道是否有可能生成 2 个相关的随机变量?Beta

换句话说,我想生成两个 Beta 随机变量,可以说它们来自两个已知相关性为“ some number”的 Beta 分布?ρ=

在 R中,我尝试了一种简单的线性变换方法来实现这一点:

set.seed(0)
X1 = rbeta(1e4, 5, 1) ; X2 = rbeta(1e4, 6, 1) ;  X3 = rbeta(1e4, 7, 1) ; a = -.5

Y1 = X1 + (a*X2) ; Y2 = X2 + (a*X3) ## Y1 and Y2 are meant to be correlated

cor(Y1, Y2)

plot(Y1~Y2, col = densCols(Y1, Y2) ) ; abline(lm(Y1~Y2), lty = 3, lwd = 2)

但是上面的线性变换方法特别没有原则。如果您更改a.5,则预期的随机变量将超过 1:Beta

在此处输入图像描述

PS 显然有一种原则性的方法可以做到这一点,如图所示

0个回答
没有发现任何回复~