*Bounty: 300*

*Bounty: 300*

My ultimate goal is to be able to have a way to generate a vector of size $N$ of correlated Bernoulli random variables. One way I am doing this is to use the Gaussian Coupla approach. However, the Gaussian Coupla approach just leaves me with a vector:

$$

(p_1, ldots, p_N) in [0,1]^N

$$

Suppose that I have generated $(p_1, ldots, p_N)$ such that the common correlation between them is $rho$. Now, how can I transform these into a new vector of $0$ or $1$’s? In other words, I would like:

$$

(X_1, ldots, X_N) in {0,1}^N

$$

but with the same correlation $rho$.

One approach I thought of was to assign a hard cutoff rule such that if $p_i < 0.5$, then let $X_i = 0$ and if $p_i geq 0.5$, then let $X_i = 1$.

This seems to work well in simulations in that it retains the correlation structure but it is very arbitrary to me what cutoff value should be chosen aside from $0.5$.

Another way is to treat each $X_i$ as a Bernoulli random variable with success probability $p_i$ and sample from it. However this approach seems to cause loss of correlation and instead of $rho$, I may get $frac{rho}{2}$ or $frac{rho}{3}$.

Does anyone have any thoughts or inputs into this? Thank you.