Я генерирую случайную выборку данных и строю ее pdf с использованием scipy.stats.norm.fit для генерации моих lo c и параметров масштабирования.
Я хотел посмотреть, как будет выглядеть мой pdf по-разному если я только что рассчитал среднее и стандартное значение, используя numpy без какого-либо фактического подбора К моему удивлению, когда я рисую оба файла в формате pdf и печатаю оба набора mu и std, результаты, которые я получаю, абсолютно одинаковы. Итак, мой вопрос: в чем смысл norm.fit, если я могу просто вычислить среднее значение и стандартное отклонение для моей выборки и при этом получить те же результаты?
Это мой код:
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
data = norm.rvs(loc=0,scale=1,size=200)
mu1 = np.mean(data)
std1 = np.std(data)
print(mu1)
print(std1)
mu, std = norm.fit(data)
plt.hist(data, bins=25, density=True, alpha=0.6, color='g')
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
q = norm.pdf(x, mu1, std1)
plt.plot(x, p, 'k', linewidth=2)
plt.plot(x, q, 'r', linewidth=1)
title = "Fit results: mu = %.5f, std = %.5f" % (mu, std)
plt.title(title)
plt.show()
И вот результаты, которые я получил:
Pdf случайного набора значений
mu1 = 0.034824979915482716
std1 = 0.9945453455908072