📜  正态分布 - Python (1)

📅  最后修改于: 2023-12-03 15:40:38.924000             🧑  作者: Mango

正态分布 - Python

简介

正态分布(又称高斯分布)是概率论和统计学中非常重要的一种连续概率分布,它能够用来描述一组数据的分布情况。在 Python 中,我们可以使用 scipy.stats 模块中的 norm 类来进行正态分布的相关操作。

安装

在使用 scipy 模块之前,需要先安装它。我们可以使用 pip 命令来进行安装:

pip install scipy
创建正态分布对象

在创建正态分布对象时,我们需要指定正态分布的均值和标准差。以下代码创建了一个均值为 0、标准差为 1 的正态分布对象:

from scipy.stats import norm

# 创建一个均值为 0、标准差为 1 的正态分布对象
normal_distribution = norm(loc=0, scale=1)
概率密度函数

使用 pdf 方法可以计算某个值的概率密度函数的值。以下代码计算了在均值为 0、标准差为 1 的正态分布下,数值 1 的概率密度函数值:

pdf_value = normal_distribution.pdf(1)
print(pdf_value)

输出:

0.24197072451914337
累积分布函数

使用 cdf 方法可以计算某个值的累积分布函数的值。以下代码计算了在均值为 0、标准差为 1 的正态分布下,数值小于等于 1 的累积分布函数值:

cdf_value = normal_distribution.cdf(1)
print(cdf_value)

输出:

0.8413447460685429
反函数

使用 ppf 方法可以计算某个值的反函数(即累积分布函数的逆函数)的值。以下代码计算了在均值为 0、标准差为 1 的正态分布下,累积分布函数为 0.8413447460685429 的反函数值:

ppf_value = normal_distribution.ppf(0.8413447460685429)
print(ppf_value)

输出:

1.0
随机数生成

使用 rvs 方法可以生成符合某个正态分布的随机数。以下代码生成了一个均值为 0、标准差为 1 的正态分布下的随机数:

random_value = normal_distribution.rvs()
print(random_value)

输出类似于以下内容:

0.14767022662093104
总结

在 Python 中,使用 scipy.stats 模块中的 norm 类可以进行正态分布的相关操作,包括概率密度函数的计算、累积分布函数的计算、反函数的计算以及随机数的生成。