I understand how to create a multivariate normal distribution to handle multiple sources of continuous data, and I understand how to create a multivariate categorical distribution to handle the discrete data. But I can't find any information on distributions over both continuous and discrete data at the same time.

Can someone point me to a book/paper/blog that describes how to do this?

  • $\begingroup$ couldn't you just randomly sample from a multivariate normal and a multinomial and create a mixture distribution? Apologies, if you mean something else, I don't know a large amount about this area I'm afraid $\endgroup$ – richiemorrisroe Nov 13 '12 at 20:21
  • 3
    $\begingroup$ You can use a copula to construct the joint distribution. $\endgroup$ – user10525 Nov 13 '12 at 20:23
  • $\begingroup$ Take a look here: Ruscio, J., & Kaczetow, W. (2008). Simulating multivariate nonnormal data using an iterative technique. Multivariate Behavioral Research, 43, 355-381. $\endgroup$ – Valerian Nov 28 '12 at 11:01
  • $\begingroup$ Can't you just break it into stages: first sample the categorical variables using a decision tree, then at each leaf of the tree sample your multivariate normal (or T, whatever). That's what we do in sampling demographic covariates for clinical trial simulation. $\endgroup$ – Mike Dunlavey Nov 28 '12 at 15:39
  1. Simulate $(x_1,x_2,x_3)' \sim N(\mu,\Sigma)$, which you said you can do.
  2. You can keep $y_1=x_1$ to get a continuous data.
  3. You can generate $y_2 \sim {\rm Poisson}[ \exp(x_2) ]$, i.e., with the rate given by $\exp(x_2)$, to get count data.
  4. You can generate $y_3 = \left\{ \begin{array}{ll} 1, & x_3<\kappa_1 \\ 2, & \kappa_1 < x_3 \le \kappa_2 \\ \vdots & \\ K-1, & x_3 > \kappa_K \end{array} \right.$ to get an ordinal variable (binary is a special case with $K=2$, although arguably a more traditional coding would be with 0 and 1 rather than 1 and 2).

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.