我想知道是否有可能生成 2 个相关的随机变量?
换句话说,我想生成两个 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:
PS 显然有一种原则性的方法可以做到这一点,如图所示。