[Scipy-tickets] [SciPy] #1848: stats invgauss parameters

SciPy Trac scipy-tickets@scipy....
Wed Feb 20 04:31:40 CST 2013

#1848: stats invgauss parameters
 Reporter:  ken.bastiaensen@…          |       Owner:  rgommers   
     Type:  defect                     |      Status:  new        
 Priority:  normal                     |   Milestone:  Unscheduled
Component:  scipy.stats                |     Version:  0.11.0     
 Keywords:  invgauss                   |  

 I think the implementation of invgauss might not be correct.

 The Inverse Gaussian is usually defined as the first hitting time
 probability of a random gaussian process (Wiener) drifting towards a
 barrier. See e.g.
 Usually the pdf is defined in the form pdf(x;d,a) = d / sqrt(2*pi*x**3) *
 with d = c / sigma, a = m / sigma,
 c: distance to barrier at start
 and (m,sigma): drift and square vol of the process.

 In scipy.stats it is defined as
 invgauss.pdf(x, mu) = 1 / sqrt(2*pi*x**3) * exp(-(x-mu)**2/(2*x*mu**2))

 I believe the location and scale transformation x -> (x-loc)/scale cannot
 capture the actual change in parameter together with the parameter mu.

 The parameter loc cannot be used different from zero as it introduces a
 polynomial in the sqrt of the first pdf factor, changing the

 A change in parameter scale:
 pdf_scale(x,mu) =

 In the exponential factor, the parameter mu is multiplied by sqrt(scale),
 as well as the first term in the numerator. But the first pdf factor is
 multiplied by sqrt(scale**3).

 I don't think there exists a transformation betweeen the usual pdf as on
 wikipedia and the parameters mu,loc,scale in the implementation. Or
 differently stated, invgauss only captures the distribution when distance
 to barrier equals standard deviation of the process, a very specific case.

 I suggest to change to distribution implementation.

 Should a transformation exist, then please regard this as an enhancement
 request for the documentation to include this transformation.

 This question was also asked in the user mailinglist but never answered:


Ticket URL: <http://projects.scipy.org/scipy/ticket/1848>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.

More information about the Scipy-tickets mailing list