Let $X_1, X_2$ and $X_3$ are independent random variables and $X_i\sim N(\mu_i, \sigma_i^2)$. Let $Y$ be a normal mixture random variable that its cummulative distribution function (CDF) is given by $$ F(x) = \sum_{i=1}^3 w_i F_i(x) $$ where $w_1, w_2$ and $w_3$ are weights and $F_i(x)$ are CDF of $X_i$.

It is easy to simulate a random sample of $Y$ on $\mathbb{R}$. But I want to restrict the support of Y to interval $[a,b]$. I know that the density of a truncated normal random variable X is given by $$\frac{\phi(x)}{\Phi(b) - \Phi(a)}1_{[a,b]}(x) $$ where $\phi(x)$, $\Phi(x)$ are density function and cummulative distribution function of standard normal random variable. Based on the truncated distribution, we can simulate the values of the truncated normal random variable, let us call TX.

So, let TY be the truncated normal mixture random variable on [a,b], my question is: is it true if we set $$ F_T(x) = \sum_{i=1}^3 w_i F_{i,T}(x)$$

where $F_{i,T}(x)$'s are CDF of $T_i$ on $[a,b]$? If it's true, we can simualate values of TY by simulating values of $TX_i$. If it's not correct, how can we determine the distribution of TY on [a,b] or simulate values of TY?

Thank you very much for any answer, suggestion or reference.

  • 2
    $\begingroup$ Mixture distribution is something different, see wiki. In your case, $Y$ is just a weighted sum of random variables. $\endgroup$ – iiivooo Mar 20 '15 at 16:46
  • $\begingroup$ Thank you very much iiivooo, I misunderstood the definition of mixture distribution. I corrected my question with respect to the definition of mixture distribution. $\endgroup$ – Black Paul Mar 20 '15 at 17:10

A mixture distribution of $X_1, X_2, X_3$ would satisfy the property $$f_Y(y) = \sum_{i=1}^3 w_i f_{X_i}(y), \quad w_1 + w_2 + w_3 = 1, \quad w_1, w_2, w_3 \ge 0.$$ That is to say, a mixture is a weighted sum of the densities, not the outcomes.

For a true mixture as described above, the truncation of $Y$ to some support $[a,b]$ would immediately apply to each of the $X_i$s in an obvious way. But with respect to simulation, the problem is that you cannot directly simulate $Y$ from observations of the truncated $X_i$s using the mixture because, again, what is being "mixed" here are the densities and not the outcomes--that is to say, simulating the $X_i$s won't help you generate $Y$.

To generate realizations of a mixture distribution, you'd either need to use one of two approaches:

  1. Compute the mixture density, integrate to get the CDF, then use the inverse transform of a uniformly distributed random variable on [0,1].
  2. If the above option is not analytically tractable, use Metropolis-Hastings or some other MCMC algorithm.

If, however, you really mean $Y = \sum w_i X_i$, that is, $Y$ is a linear combination of $X_i$s, then it is much easier to simulate $Y$ in this case. Simply use a form of rejection sampling: generate non-truncated realizations of $X_i$, then calculate $Y$, then reject the result if $Y \not\in [a,b]$; otherwise, keep it. This approach will be inefficient if $|b-a|$ is very small or is in a region with low probability density (as determined by the $X_i$s), but it does work. More sophisticated approaches (again, MCMC) can improve the simulation efficiency. But you cannot "pre-truncate" realizations of the $X_i$s. That absolutely does not work for very obvious algebraic reasons.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.