用python画正态分布图

 我们常见的正态分布图可能是一些样本数据的直方图模拟出的,即服从正态分布的随机数的直方图,见随机数的生成。而有时我们需要将其与标准的正态分布图作为对比,看数据是否真的服从正态分布。

理论知识

正态分布的pdf(概率密度函数)为: y = 1 2 π σ e − ( x − μ ) 2 2 σ 2 y=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} y=2π σ1e2σ2(xμ)2

用python实现

#均值为u=0,标准差为sigma=1
u = 0
sigma = 1

#选定定义域为[u-3*sigma, u+3*sigma],并生成1000个点
#np.linspace(a, b, n)的意思是生成[a, b]内的n个点(包括a,b),每两个相邻的点距离相等,即均分。
x = np.linspace(u - 3 * sigma, u + 3 * sigma, 1000)

#值域,这个是我们自己编写的正态分布的pdf,也可以用scipy.stats.norm.pdf
y = np.exp(-(x - u) ** 2 / (2 * sigma ** 2)) / (np.sqrt(2 * np.pi) * sigma)

#画图
plt.plot(x, y)
#显示网格
plt.grid(True)
plt.show()

结果为:
在这里插入图片描述

 由上可知,我们可以画出标准的任意分布的图,只要我们知道其pdf。

猜你喜欢

转载自blog.csdn.net/TSzero/article/details/111573849
今日推荐