I have a random variable $x\in\Re$ with pdf




sign(.) is a function that returns the sign of the argument.

Basically, this function has four parameters $\theta, \sigma, \beta, \gamma$. Where, $\theta\in \Re$, $\sigma\in\Re_{+}$, $-1\leqslant \beta\leqslant1$ and $\gamma\geqslant0$.

I have the value of all these parameters. Now, I need to draw random samples from this pdf to make inferences. In a special case, when $\gamma=1, \beta=0$, this pdf is equal to a Gaussian and I can use Box-Muller transformation to draw samples from a Gaussian distribution. But in a general case, how do I draw samples from this pdf?

I know Accept-Reject Metropolis-Hastings algorithm may be used in this case. But I want to know if there is a simpler way of doing this, similar to Box-Muller transformation for Gaussian distribution?

An alternative way of writing $f_x(x)$ is

$f_x(x)=\frac{2}{\gamma+1/\gamma}\lbrace g[\frac{(x-\theta)}{\gamma}]I_{[0,\infty)}(x-\theta) + g[\gamma (x-\theta)]I_{(-\infty,0)}(x-\theta)\rbrace$

where, $I$ is the indicator function, g is the pdf when $\gamma=1$ which is same as generalized normal distribution. I can easily sample from a generalized normal distribution. But now how to convert these samples to the samples from required distribution, that is, $f_x(x)$.

  • That looks similar to a generalized normal, but with a different parameterization – Glen_b Aug 6 '17 at 4:16
  • It is different from generalized normal at least in one way that it includes the cases when skewness in not zero. – Abhinav Gupta Aug 6 '17 at 4:22
  • Also, the expression for pdf also looks slighly different. – Abhinav Gupta Aug 6 '17 at 4:24
  • You are right if I take 2/(1+beta) equal to just beta and gamma =1. It becomes generalized normal distribution. Thanks a lot, it's very helpful. – Abhinav Gupta Aug 6 '17 at 4:30

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.