- #1
Jeffack
- 14
- 0
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!
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!