0
$\begingroup$

I need in particular to generate random numbers from a Four parameters Dagum distribution: http://www.mathwave.com/help/easyfit/html/analyses/distributions/dagum.html

And from the Generalized Extreme Value distribution http://www.mathwave.com/help/easyfit/html/analyses/distributions/gen_extreme.html

I can't find the formula/algorithm anywhere. I can't imagine that this is not solved quite often. I find it quite hard to do the inverse CDF of the generalized extreme value distribution... but maybe I'm overthinking it?

$\endgroup$
2
$\begingroup$

It's not that hard, but you need to be careful with the details and go in small steps, as usual.

For the Dagum distribution, we replace $F(x)$ with $U$, a Uniform$(0,1)$ variate, and work through the algebra, two (or so) steps at a time:

$$U = \left (1 + \left (\frac{x-\gamma}{\beta} \right )^{-\alpha} \right)^{-k}$$ $$U^{-1/k}-1 = \left(\frac{x-\gamma}{\beta}\right)^{-\alpha}$$ $$\beta \left(U^{-1/k}-1\right)^{-1/\alpha} = x - \gamma$$ $$x = \gamma + \beta \left(U^{-1/k}-1\right)^{-1/\alpha}$$

For the Generalized Extreme Value distribution, we have, for $k > 0$,:

$$U = \exp\left\{-(1+kz)^{-1/k}\right\}$$ $$(-\ln U)^{-k} = 1+kz$$ $$\frac{(-\ln U)^{-k}-1}{k} = z = \frac{x-\mu}{\sigma}$$ $$x = \sigma\frac{(-\ln U)^{-k}-1}{k}+\mu$$

When $k = 0$, we have, jumping ahead a bit,:

$$\ln (-\ln U) = -z$$ $$-\sigma(\ln (-\ln U)) + \mu = x$$

$\endgroup$

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.