Python正态分布置信区间计算与可视化详解

雨后青山
雨后青山
发布时间:2026-10-13| 4人浏览过
原创

本文详细介绍如何利用Python的SciPy库计算正态分布的置信区间,并通过Matplotlib绘制概率密度曲线。内容涵盖使用stats.norm.interval获取指定置信水平的上下界,以及通过norm.pdf生成理论分布图。同时解析了68-95-99.7法则在正态分布中的面积分布规律,帮助开发者快速掌握统计分析与可视化的核心代码实现。

正态分布与置信区间概述

正态分布与置信区间概述

正态分布(Normal Distribution),亦称高斯分布,是统计学中极为关键的一种概率分布形态。其核心特征由概率密度函数的数学公式定义,具体表达如下:

置信区间用于描述包含未知参数的可信程度,即该区间涵盖真实参数的可能性大小。

Python求解置信区间代码实现

在Python中,我们可以借助SciPy库来高效求解置信区间。


import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

N = 10000
x = np.random.normal(0, 1, N)
# ddof取值为1是因为在统计学中样本的标准偏差除的是(N-1)而不是N,统计学中的标准偏差除的是N
# SciPy中的std计算默认是采用统计学中标准差的计算方式
mean, std = x.mean(), x.std(ddof=1)
print(mean, std)
# 计算置信区间
# 这里的0.9是置信水平
conf_intveral = stats.norm.interval(0.9, loc=mean, scale=std)
print(conf_intveral)

执行上述代码后,终端输出结果如下:


0.0033541207210673997 0.9986647964318905
(-1.639303291798682, 1.6460115332408163)

输出结果显示,-1.639303291798682为置信区间的上界,而1.6460115332408163为下界。这两个数值所界定的范围即为所求的置信区间。

Matplotlib绘制概率密度曲线

接下来,使用Matplotlib库绘制正态分布的概率密度曲线,以直观展示分布形态。


# 绘制概率密度分布图
x = np.arange(-5, 5, 0.001)
# PDF是概率密度函数
y = stats.norm.pdf(x, loc=mean, scale=std)
plt.plot(x, y)
plt.show()

代码中调用的pdf()函数代表Probability density function(概率密度函数),即前文提及的基础数学公式的具体实现。

最终生成的可视化图像如下所示,从图中可以看出,模拟结果与理论上的正态分布曲线高度吻合:

正态分布置信区间的数值规律

正态分布置信区间的数值规律

在正态分布函数曲线下方,约有68.268949%的面积位于均值左右一个标准差的范围内。

函数曲线下,约95.449974%的面积位于均值左右两个标准差的范围内。

函数曲线下,约99.730020%的面积位于均值左右三个标准差的范围内。

函数曲线下,约99.993666%的面积位于均值左右四个标准差的范围内。

以上即为Python求解正态分布置信区间的完整教程内容,希望能为读者提供有价值的参考,欢迎持续关注本站获取更多技术分享。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。