Имеется ли простой вызов функции с учетом среднего и дисперсии для построения нормального распределения?
python
matplotlib
user1220022
источник
источник
%matplotlib inline
для отображения сюжетаscipy.stats.norm.pdf(x, mu, sigma)
вместоmlab.normpdf(x, mu, sigma)
math
когда уже импортировалиnumpy
и могли использоватьnp.sqrt
?math
для скалярных операций, поскольку, например, ониmath.sqrt
намного быстрее, чемnp.sqrt
при работе со скалярами.Я не думаю, что есть функция, которая делает все это за один вызов. Однако вы можете найти гауссову функцию плотности вероятности в
scipy.stats
.Итак, самый простой способ, который я мог придумать, - это:
Источники:
источник
norm.pdf
наnorm(0, 1).pdf
. Это упрощает адаптацию к другим случаям / понимание того, что это генерирует объект, представляющий случайную величину.Вместо этого используйте seaborn. Я использую distplot seaborn со средним значением = 5 std = 3 из 1000 значений.
У вас получится нормальная кривая распределения
источник
Unutbu ответ правильный. Но поскольку наше среднее значение может быть больше или меньше нуля, я все же хотел бы изменить это:
к этому :
источник
Если вы предпочитаете использовать пошаговый подход, вы можете рассмотреть следующее решение.
источник
Я только что вернулся к этому, и мне пришлось установить scipy, поскольку matplotlib.mlab выдал мне сообщение об ошибке
MatplotlibDeprecationWarning: scipy.stats.norm.pdf
при попытке примера выше. Итак, образец теперь:источник
Я считаю, что важно установить высоту, поэтому создал эту функцию:
Где
sigma
стандартное отклонение,h
это высота иmid
это среднее значение.Вот результат с использованием разных высот и отклонений:
источник
вы можете легко получить cdf. так pdf через cdf
источник