【发布时间】:2017-01-30 16:23:50
【问题描述】:
我正在将对数正态 pdf 拟合到一些分箱数据,但我的曲线与数据不太匹配,请参见下图。我的代码是:
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()
这就是它的样子:
我是否需要以某种方式为形状、位置和比例提供合理的猜测?
谢谢!
【问题讨论】:
-
(1) 明智的猜测总是有利于基于 MLE 的拟合。 (2) 如果您提供您的数据或展示一个可重复的示例会更好 (3) 我不确定您对
data的 pdf 采样有何看法(特别是因为我们不知道内容)。通常你会使用 np.linspace() 来生成某种网格like in the docs。 (4) 并且只是为了确保 matplotlib 没有引入麻烦:我会在没有 logscale 的情况下尝试它(仅分析,没有太大希望)
标签: python scipy normal-distribution