# random draws from an exponential family distribution

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

$f_x(x)=\frac{2}{(\gamma+1/\gamma)}\omega(\beta)\sigma^{-1}\exp\lbrace-c(\beta)|\frac{y-\theta}{\sigma}\gamma^{-sign(y-\theta)}|^{2/(1+\beta)}\rbrace$

$c(\beta)=\lbrace\frac{\Gamma[1.5*(1+\beta)]}{\Gamma[0.5*(1+\beta)]}\rbrace^{1/(1+\beta)}$

$\omega(\beta)=\frac{\lbrace\Gamma[1.5*(1+\beta))\rbrace^{0.5}}{(1+\beta)\lbrace\Gamma[0.5*(1+\beta)]\rbrace^{1.5}}$

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