Я подгоняю lognormal pdf для некоторых данных, но моя кривая не совсем соответствует данным, см. Изображение ниже. Мой код:Scipy lognorm fitting to histogram
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()
Это то, что он выглядит следующим образом:
мне нужно каким-то образом обеспечить прилегание с разумными предположениями для формы, LOC и масштабировать ли?
Спасибо!
(1) Разумные предположения всегда хороши для установки на MLE. (2) Было бы намного лучше, если бы вы предоставили свои данные или продемонстрировали воспроизводимый пример (3). Я не уверен, что думать о вашей pdf-выборке из '' 'data''' (особенно потому, что мы не знаем содержимое). Обычно вы должны использовать np.linspace() для создания некоторой сетки [например, в документах] (https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.lognorm.html). (4) И просто для того, чтобы убедиться, что matplotlib не представляет проблемы: я бы просто попробовал это без logscale (только для анализа, без большой надежды) – sascha