Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fitting distribution with fixed parameters in SciPy

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.

like image 610
Vladimir Avatar asked Feb 06 '14 17:02

Vladimir


1 Answers

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
like image 184
Warren Weckesser Avatar answered Oct 20 '22 00:10

Warren Weckesser