# [SciPy-user] CDF/PDF Stats with SciPy

Robert Kern robert.kern@gmail....
Mon Jul 20 15:45:36 CDT 2009

```On Mon, Jul 20, 2009 at 15:39, Omer Khalid<Omer.Khalid@cern.ch> wrote:
> Hi Robert,
>
>
>>
>> >
>> > Thanks for your reply. But I am getting a little confused here now. It
>> > seems
>> > there are multiple ways to get the CDF for a distribution. You mean
>> > linspace
>> > function returns a CDF for a normal distribution.
>>
>> No, not at all. linspace() returns uniformly increasing numbers
>> between the given endpoints. Ivo showed you how to find the empirical
>> CDF of the dataset. It is not related to any particular family of
>> probability distributions.
>
> Sorry for my ignorance, but what is Empirical CDF and how's that different
> from a CDF lets say for Normal distribution or Piosson other than that it's
> calculated differently?

It is an estimate of the CDF given just the data, without trying to
fit the data to a particular model.

>> > As far as I understood from other sources is that scipy.stats.norm.cdf
>> > (mean, std) will return the CDF for the normal distribution or for
>> > non-normal distribution given one replace *norm* with the distributions
>> > name.
>>
>> Yes.
>
> OK, so that I understood correctly :-)
>
>>
>> > And what about scipy.stats.<dist>.fit function?
>>
>> It will find the maximum likelihood parameters for fitting the given
>> distribution to your dataset. These parameters can be then used the
>> the <dist> object to return the fitted CDF, PDF, etc. The .fit()
>> method is not very flexible, though.
>
> Sorry, what do you mean that .fit() is not very flexible?

It fits all of the parameters for the distribution object. It does not
let you hold certain parameters fixed. This can be a problem because
some of the distribution object have nonstandard parameters. For
example, all of the distribution objects have a "location" parameter,
but a number of distributions like gamma don't normally have such a
parameter. If you wanted to fit a gamma distribution, you would
usually want to hold loc=0 fixed.

> And can you explain with some python code as then it would be easier for me
> to understand.

I do not have time right now.

--
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
```