I am trying to estimate the parameters of an inverse gamma distribution such that a given amount of probability mass lies above and below some specified threshold.

If $x$ is an inverse gamma distributed random variable $x \sim \mathrm{Inverse Gamma}(\alpha, \beta)$, I want to find $\alpha$ and $\beta$ such that:

$ \displaystyle\int_{0}^{a} dx = r $


$ \displaystyle\int_{b}^{\infty} dx = r $

I have attempted to solve the system of equations:

$ \begin{aligned} \Phi_{IG}(a| \alpha, \beta) - r = 0 \\ (1 - \Phi_{IG}(b| \alpha, \beta)) - r = 0 \end{aligned} $

With $\Phi_{IG}$ being the Inverse Gamma CDF, but the solution obtained using scipy's nonlinear root finding module appears extremely sensitive to the initial guess and I am not aware of a principled means of determining it.

My Question:

Is there a principled method of determining initial values of $\alpha$ and $\beta$ to solve the problem in such a way? Are there more effective ways of identifying $\alpha$ and $\beta$ other than solving such a system of equations?

Additional Information

It appears my problem primarily occurs when initial values of $\alpha$ and $\beta$ fail to allocate any mass below/above $a$ and $b$, respectively, in which case the objective function described by the above system of equations is effectively flat on initialisation and no progress can be made.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.