Python中scipy.stats分布函数常用方法详解

小满
小满
发布时间:2026-10-13| 4人浏览过
原创

本文介绍Python中scipy.stats库处理连续与离散分布的核心方法。涵盖随机变量生成(rvs)、概率密度(pdf/cdf)、生存函数(sf)及分位点函数(ppf/isf)的使用,并解析stats与moment参数计算。通过正态分布实例演示参数估计与期望值计算,帮助开发者掌握统计分布的基础操作。

分布函数核心方法概览

为了掌握正态分布等统计分布的计算方法与属性,我们需要引入scipy.stats模块中的norm对象。


 >>>from scipy.stats import norm
 >>>rv = norm()
 >>>dir(rv) # reformatted
[‘__class__', ‘__delattr__', ‘__dict__', ‘__doc__', ‘__getattribute__',
‘__hash__', ‘__init__', ‘__module__', ‘__new__', ‘__reduce__', ‘__reduce_ex__',
‘__repr__', ‘__setattr__', ‘__str__', ‘__weakref__', ‘args', ‘cdf', ‘dist',
‘entropy', ‘isf', ‘kwds', ‘moment', ‘pdf', ‘pmf', ‘ppf', ‘rvs', ‘sf', ‘stats']

对于连续型随机变量,scipy.stats提供了以下主要公共方法:

rvs: 生成随机变量样本 pdf: 概率密度函数 (Probability Density Function) cdf: 累计分布函数 (Cumulative Distribution Function) sf: 生存函数 (Survival Function, 即 1-CDF) ppf: 分位点函数 (Percent Point Function, CDF的逆函数) isf: 逆生存函数 (Inverse Survival Function, SF的逆函数) stats: 返回分布的均值、方差、偏度(Fisher's skew)或峰度(Fisher's kurtosis) moment: 计算分布的非中心矩

rvs:用于生成随机变量样本。

pdf:概率密度函数。

cdf:累计分布函数。

sf:生存函数,定义为1减去CDF。

ppf:分位点函数,即CDF的反函数。

isf:逆生存函数,即sf的反函数。

stats:返回分布的均值、方差、偏度(Fisher's skew)以及峰度(Fisher's kurtosis)。

moment:计算该分布的非中心矩。

CDF与PPF的具体应用

接下来以cdf为例进行说明:


 >>>norm.cdf(0)
0.5
>>>norm.mean(), norm.std(), norm.var()
(0.0, 1.0, 1.0)

值得注意的是,CDF的逆运算同样可行,对应的方法即为ppf。

>>>norm.ppf(0.5) 0.0

离散分布与参数估计

在离散分布中,pdf被替换为概率质量函数pmf,且CDF的逆运算方式有所不同:

ppf(q) = min{x : cdf(x) >= q, x integer}

此外,fit方法可用于求解分布参数的极大似然估计,包括位置参数(location)和尺度参数(scale);nnlf用于计算负对数似然函数;expect则用于计算基于pdf或pmf的函数期望值。

以上即为Python中scipy.stats分布函数相关包的实例介绍,希望能为读者提供有价值的参考。

相关标签:

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

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 算法库。