Fitting distribution with fixed parameters in SciPy

data-fitting, distribution, exponential, python, scipy

Solution

To fix `loc`, use the argument `floc`:

print st.expon.fit(xx, floc=0)

E.g.

In [33]: import scipy.stats as st

In [34]: xx = st.expon.rvs(size=100)

In [35]: print(st.expon.fit(xx, floc=0))
(0, 0.77853895325584932)

Some related questions:

- Gamma distribution fit error

- Why does the Gamma distribution in SciPy have three parameters?

- Fitting non-normpdf's to histograms in matplotlib

Problem

Is it possible to fix parameters while fitting distributions in SciPy? For example, this code: ``` import scipy.stats as st xx = st.expon.rvs(size=100) print st.expon.fit(xx, loc=0) ``` results in non-zero location (`loc`). When some parameter is provided to the `fit` function it is considered as an initial guess. And if it is provided to the constructor (`st.expon(loc=0)`) the distribution becomes "frozen" and can not be used for fitting.

Original source

Related problems