Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Generate a Multivariate Random Variable

  1. Jul 20, 2013 #1
    Hi,

    I'm an economics graduate student doing some work on a nested logit model.

    I am trying to generate random variables that follow the following CDF:
    [itex] F(x_1, x_2) =\textrm{exp}[ -(e^{-2x_1}+e^{-2x_2}) ^{1/2}] [/itex]
    (This is an extreme-value distribution)

    With a single random variable, I know that (assuming you can invert the CDF), you can just draw ##u## from the Uniform [0,1] distribution and do ##x=F^{-1}(u)## to get a random variable that follows the distribution described by ##F(x)##.

    With the multivariate case, I think what I need to do is:

    1) Find ## F_{x_1}(x_1, x_2)##, the marginal distribution of ##F(x_1, x_2)##. I do this by taking the limit as ##x_2## goes to infinity, so ## F_{x_1}(x_1, x_2)=\textrm{exp}[ -(e^{-2x_1}) ^{1/2}]##

    2) Find ## F(x_1, x_2 | x_1)##, the conditional distribution of ##F(x_1, x_2)## given ##x_1##. This is calculated this way: ## F(x_1, x_2 | x_1)= {\frac{F(x_1, x_2)}{F_{x_1}(x_1, x_2)}} ##

    3) Invert ## F_{x_1}(x_1, x_2)=u_1## to get ## F_{x_1}^{-1}(u)=x_1 ##. This gives us a random ##x_1## for an value of ##u_1 \in (0,1) ##

    4) Use the value of ##x_1## generated in the previous step in this step. Invert ## F(x_1, x_2 | x_1)=u_2 ## to get ## F^{-1}(u_2)=x_2##

    Here are the formulas I use for determining the random variables (Sorry they're not all pretty and Latex-y... I pulled them from Excel)

    x_1=(LN((LN(u_1))^2))/-2

    x_2=(LN(((LN(u_2*(EXP(-1*((EXP(-2*x_1))^(1/2))))))/-1)^2-(EXP(-2*x_1))))/-2

    I did all of these steps and, at first, thought I got a decent result; As long as I pick ##u##'s that are between 0 and 1, I get a real answer; larger u's generate larger x's; and u's that are arbitrarily close to zero (one) give x's that are very small (large). However, when I ran a simulation and looked at average values of each, my ##x_1##'s tend to be much larger than my ##x_2##'s (about .66 for ##x_1## and -.1 for ##x_2##. Since the CDF is symmetric, I think that these variables should have the same average.

    Any help will be much appreciated. This is my first post ever on this site!
     
  2. jcsd
  3. Jul 21, 2013 #2

    chiro

    User Avatar
    Science Advisor

    Hey Jeffack and welcome to the forums.

    A key question you need to answer: Are x1 and x2 independent variables or are they dependent? (If the limits of integration are tied up or if you have correlation or one variable has the property of being a function of the other then you have dependence).
     
  4. Jul 21, 2013 #3
    I think that, based on the CDF, the variables are dependent, correct? The conditional density of ##x_2## depends on the value of ##x_1##.
     
  5. Jul 21, 2013 #4

    chiro

    User Avatar
    Science Advisor

    Yes I agree with you but once you find the relationship between X1 and f(X1) = X2 then you calculate Cov(X1,X2) = E[X1*X2] - E[X1]E[X2] = E[X1*f(X1)] - E[X1]*E[f(X1)] using only the PDF for X1.
     
  6. Jul 22, 2013 #5
    Thanks for your help. The variables are definitely correlated. Now I just need to figure out how to generate the random variables.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook