Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我试图用 Python F~x^(-a) 中的 Zipf 分布 PDF 拟合以下图(红点)。我只是简单地选择a=0.56并绘制y = x^(-0.56)了,我得到了如下所示的曲线。
a=0.56
y = x^(-0.56)
曲线显然是错误的。我不知道如何进行曲线拟合。
不确定您到底在寻找什么,但如果您想将模型(函数)拟合到数据中,请使用scipy.optimize.curve_fit:
scipy.optimize.curve_fit
from scipy.optimize import curve_fit from scipy.special import zetac def f(x, a): return (x**-a)/zetac(a) result = curve_fit(f, x, y, p0=[0.56]) p = result[0] print p
如果您不信任规范化,请添加第二个参数b并对其进行拟合。
b