📜  Python正态分布(1)

📅  最后修改于: 2023-12-03 14:46:45.339000             🧑  作者: Mango

Python正态分布

正态分布(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的工具库可以轻松生成正态分布随机数、计算正态分布的概率密度值和累积分布函数值,以及生成概率密度图和累积分布图。