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.