I've hit a problem trying to sample an inverse gamma distribution, 'scaled' using a temperature variable, T. If my distribution is defined as (where the normalising constant k=(b^a)/Gamma(a) ):(adsbygoogle = window.adsbygoogle || []).push({});

IG(x|a,b) = k * x^(-a-1) * exp(-b/x)

then the scaled version is

(IG(x|a,b))^(1/T) = k^(1/T) * x^(-(-a+1)/T) * exp(-b/(Tx)).

which I want to sample as part of a simulated annealing procedure.

If I am not mistaken, this is also proportional to a new IG distribution, IG(x|a',b')

where a'+1 = (a+1)/T and b'=b/T. Hence a' = (a+1-T)/T.

The problem is however, that a' and b' should be strictly > 0 for the distribution to be valid. Thus for temperatures T>a+1, a' becomes negative and the samples can't be drawn.

(However I can still evaluate the IG pdf for a'<0... so I'm not sure

why the condition is strictly necessary? Is it just a physical

interpretation?)

I can do the sampling for X~IG(a',b') by transformation of a Gamma variate

G(x|a,b)=k * x^(a-1) exp(-bx)

by drawing Y~G(a',b') and letting X=1/Y.

Now the strange thing is if I apply the same temperature scaling to the Gamma distribution, I get the new transformation to a Gamma distribution with

a' = (a-1+T)/T

which will always be positive for all T>=1 if a>0. As whether I'm working with x or 1/x (and therefore working with the IG or Gamma) should be purely a matter of convenience, and not depend on which definition I start from, there is something at odds here...

I've probably missed something obvious but I can't think what it is. Any suggestions appreciated!

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Inverse gamma distribution & simulated annealing problem

**Physics Forums | Science Articles, Homework Help, Discussion**