生成具有正常协变量的相关二进制数据

时间:2019-07-17 23:52:58

标签: r correlation dataset simulation binary-data

我有一个带有二元响应向量的模型 $(Y_1,Y_2)$ $ Y_1 $ $ Y_2 $ 是伯努利。另外,我有一个协变量 $ X \ sim N(0,1)$ 。由于 $$ P(Y_1 = y_1,Y_2 = y_2 | X)= P(Y_2 = y_2 | Y_1 = y_1,X)P(Y_1 = y_1 | X),$$ < / span>我提出了一个模型,其中

$$ P(Y_2 = 1 | Y_1 = 0,X)= \ frac {e ^ {\ beta_ {010} + X \ beta_ {011}}} {1 + e ^ {\ beta_ {010} + X \ beta_ {011}}} = \ pi_ {01}(X)$$ $$ P(Y_2 = 1 | Y_1 = 1,X)= \ frac {e ^ {\ beta_ {110} + X \ beta_ {111}}} {1 + e ^ {\ beta_ {110} + X \ beta_ {111}}} = \ pi_ {11}(X)$$ $$ P(Y_1 = 1 | X)= \ frac {e ^ {\ beta_ {10} + X \ beta_ {11}}} {1 + e ^ {\ beta_ { 10} + X \ beta_ {11}}} = \ pi_ {1}(X)。$$

我想进行仿真,在其中设置 $ \ beta $ 的真实值。 如果以此方式生成数据是否正确?谢谢

N <- 1000
covar <- rnorm(N, 0, 1)
beta010 <- -0.5
beta011 <- 0.5
beta110 <- -0.7
beta111 <- 1.5
beta10 <- -1
beta11 <- 1
pi01 <- exp(beta010+covar*beta011)/(1+exp(beta010+covar*beta011))
pi11 <- exp(beta110+covar*beta111)/(1+exp(beta110+covar*beta111))
pi1 <- exp(beta10+covar*beta11)/(1+exp(beta10+covar*beta11))
Y1 <- rbinom(N,1,pi1)
n0 <- sum(Y1==0)
n1 <- sum(Y1==1)
Y2 <- numeric(N)
Y2[Y1==0] <- rbinom(n0,1,pi01)
Y2[Y1==1] <- rbinom(n1,1,pi11)

0 个答案:

没有答案