[SciPy-user] scipy.stats.lognorm
Robert Kern
robert.kern at gmail.com
Fri Sep 28 03:22:24 EDT 2007
Manu Hack wrote:
> Hi all,
>
> I have a quick question on scipy.stats.lognorm. From the manual it said:
>
> Lognormal distribution
>
> lognorm.pdf(x,s) = 1/(s*x*sqrt(2*pi)) * exp(-1/2*(log(x)/s)**2)
> for x > 0, s > 0.
>
> At the same time there are loc and scale to control the shape of the
> distribution.
Yes, they are omitted from the docstring because they behave in exactly the same
way for all distributions. Replace x with (x-loc)/scale if you want to be explicit.
> So it's like there are 3 parameters to control the
> shape of the distribution (but 2 should be enough to specify one).
> In fact, if we look at R, the function dlnorm, plnorm, etc. are
> simple and just did the job.
Ours is more general than R's, albeit in a somewhat unconventional way.
Conventionally, log-normal distributions are only defined on the positive real
line, and there is no location parameter. We extend this to the full real line
and add a location parameter to shift it. If you don't want it, don't use it.
> And after searching and trying different
> parameters and compare with R's function, I still couldn't figure out
> how to use scipy.stats.lognorm. So am I missing anything there?
The scale parameter here corresponds to the exponential of the mean of the
Gaussian in log-space (exp(meanlog) in the terms of the dlnorm documentation).
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list