正态分布 Normal Distribution

最近更新于 2025-04-08 20:36

概念

若随机变量\mathbf{X}服从一个平均数为\mu、标准差为\sigma的正态分布,则记为:
\mathbf{X\sim N(\mu,\sigma^2)}

概率密度函数(Probability Density Function):f(x)=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}

计算机计算和绘图

测试环境

  • Python 3.13.1
  • Jupyter==1.11.1
  • matplotlib==3.10.1
  • numpy==2.2.4
  • sympy==1.13.3

已知均值、标准差绘图

Jupyter

import numpy as np
import matplotlib.pyplot as plt

# 均值
mu = 0
# 标准差
sigma = 1

# 生成 X 值
# 生成 100 个点,范围从 μ-3σ 到 μ+3σ
x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 100)

# 计算 x 值对应的概率密度函数值
y = np.e ** (-(x - mu) ** 2 / (2 * sigma ** 2)) / (sigma * np.sqrt(2 * np.pi))

# 绘制正态分布曲线
plt.plot(x, y, label='Normal Distribution')

# 添加图例
plt.legend()

# 添加坐标轴标签
plt.xlabel('x')
plt.ylabel('Probability Density')

# 显示图形
plt.show()

file

三个典型区间概率

Jupyter

import sympy as sy

# 定义符号
x, mu = sy.symbols('x mu', real=True) # 实数
sigma = sy.symbols('sigma', real=True, positive=True) # 正实数
# 定义正态分布的概率密度函数
f = sy.E ** (-(x - mu) ** 2 / (2 * sigma ** 2)) / (sigma * sy.sqrt(2 * sy.pi))

# 计算 -∞ 到 +∞ 的积分
all =sy.integrate(f, (x, -sy.oo, sy.oo))
print('-∞ 到 +∞ 的积分=')
display(all)

# 计算 μ-σ 到 μ+σ 的积分
result1 = sy.integrate(f, (x, mu - 1 * sigma, mu + 1 * sigma))
print('μ-σ 到 μ+σ 的积分=')
display(result1)
print(result1.evalf(16))

# 计算 μ-2σ 到 μ+2σ 的积分
result2 = sy.integrate(f, (x, mu - 2 * sigma, mu + 2 * sigma))
print('μ-2σ 到 μ+2σ 的积分=')
display(result2)
print(result2.evalf(16))

# 计算 μ-σ 到 μ+σ 的积分
result3 = sy.integrate(f, (x, mu - 3 * sigma, mu + 3 * sigma))
print('μ-3σ 到 μ+3σ 的积分=')
display(result3)
print(result3.evalf(16))

file


P(\mu\pm\sigma)=erf(\frac{\sqrt{2}}{2})\approx0.6826894921370859
P(\mu\pm2\sigma)=erf(\sqrt{2})\approx0.9544997361036416
P(\mu\pm3\sigma)=erf(\frac{3\sqrt{2}}{2})\approx0.9973002039367398

正态分布 Normal Distribution
Scroll to top
打开目录