📅  最后修改于: 2023-12-03 14:46:45.339000             🧑  作者: Mango
正态分布(Normal Distribution),又称高斯分布(Gaussian Distribution),是指在统计学和概率论中常见的一种连续型概率分布。 Python中可以使用scipy库的stats模块和numpy库的random模块来生成正态分布的随机数,进行概率密度计算以及图形化展示。
使用numpy库的random模块可以生成服从正态分布的随机数。
import numpy as np
# 生成均值为0,方差为1的标准正态分布随机数
data = np.random.normal(0, 1, 1000)
print(data[:10]) # 打印前10个随机数
输出结果:
[ 1.34798549 -0.27626968 2.2163953 0.14282245 1.53801552 -1.60253329
0.17678062 -1.09561719 0.85727345 0.07811168]
使用scipy库的stats模块可以计算正态分布的概率密度函数值和累积分布函数值, 进而实现各种分布函数的计算。
import scipy.stats as stats
# 计算x=1处的标准正态分布的概率密度函数值
pdf_value = stats.norm.pdf(1)
print(pdf_value)
# 计算X小于等于1的标准正态分布的累积分布函数值
cdf_value = stats.norm.cdf(1)
print(cdf_value)
输出结果:
0.24197072451914337
0.8413447460685429
使用matplotlib库可以方便展示正态分布的概率密度函数图和累积分布函数图。
import matplotlib.pyplot as plt
# 生成均值为0,方差为1的标准正态分布概率密度函数图
x = np.linspace(-4, 4, 100)
y = stats.norm.pdf(x)
plt.plot(x, y)
plt.title('Standard Normal Distribution PDF')
plt.xlabel('X')
plt.ylabel('PDF Value')
plt.show()
# 生成均值为0,方差为1的标准正态分布累积分布函数图
y = stats.norm.cdf(x)
plt.plot(x, y)
plt.title('Standard Normal Distribution CDF')
plt.xlabel('X')
plt.ylabel('CDF Value')
plt.show()
以上就是介绍Python中正态分布的相关用法。通过Python的工具库可以轻松生成正态分布随机数、计算正态分布的概率密度值和累积分布函数值,以及生成概率密度图和累积分布图。