我正在将对数正态分布拟合到一些离散数据上,但是我的曲线与数据不太匹配,如下图所示。我的代码如下:
这是它的外观: 我是否需要为形状、位置和尺度提供合理的猜测来适应数据?
谢谢!
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import lognorm
data = genfromtxt('data.txt')
data = np.sort(data)
# plot histogram in log space
ax.hist(data, bins=np.logspace(0,5,200),normed=1)
ax.set_xscale("log")
shape,loc,scale = lognorm.fit(data)
print shape, loc, scale
pdf = sp.stats.lognorm.pdf(data, shape, loc, scale)
ax.plot(data,pdf)
plt.show()
这是它的外观: 我是否需要为形状、位置和尺度提供合理的猜测来适应数据?
谢谢!
data
中进行的pdf抽样(特别是因为我们不知道其内容)。通常,您会使用np.linspace()生成某种网格就像文档中所示。(4) 为了确保matplotlib没有引入问题:我建议尝试一下不使用对数刻度(仅进行分析,没有太大希望)。 - sascha