【漫话机器学习系列】029.累积分布函数(Cumulative Distribution Function)

累积分布函数(Cumulative Distribution Function, CDF)

累积分布函数(CDF)是概率论和统计学中的一个基本概念,用于描述随机变量取值的累积概率分布情况。它在理论研究和实际应用中广泛使用。


定义

给定随机变量 X,其累积分布函数 F(x) 定义为:

说明
  • F(x):表示随机变量 X 的值小于或等于某个值 x 的概率。
  • P:表示概率。
性质
  1. 单调不减性,当 时。
  2. 取值范围
  3. 极限性质
  4. 连续性:对于连续型随机变量,F(x) 是连续函数;对于离散型随机变量,F(x) 是阶梯函数。

类型
  • 连续型随机变量

    其中,f(x) 是概率密度函数(PDF)。

  • 离散型随机变量

    其中, 是随机变量在离散点 ​ 的概率。


图示

累积分布函数通常表现为一个逐步上升或连续上升的曲线,随着 x 的增加,曲线趋向于 1。

  1. 离散型随机变量:阶梯状。
  2. 连续型随机变量:平滑曲线。

示例
1. 离散型随机变量

假设 X 为投掷一个骰子的点数,其可能值为 1, 2, 3, 4, 5, 6,每个值的概率为 ​。累积分布函数为:

2. 连续型随机变量

假设 X 服从标准正态分布,其概率密度函数为:

其累积分布函数为:

由于无法用初等函数表示,通常使用数值积分或标准正态分布表计算。


Python 实现
1. 连续型随机变量

使用 SciPy 计算正态分布的累积分布函数:

python 复制代码
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt

# 定义随机变量
x = np.linspace(-4, 4, 1000)
# 标准正态分布的CDF
cdf = norm.cdf(x)

# 绘图
plt.plot(x, cdf, label='CDF of Standard Normal Distribution')
plt.xlabel('x')
plt.ylabel('F(x)')
plt.title('Cumulative Distribution Function')
plt.grid()
plt.legend()
plt.show()

运行结果

plt.legend() plt.show()

2. 离散型随机变量

计算骰子点数的累积分布函数:

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

# 假设 x 是 [1, 2, 3, 4, 5, 6]
x = np.arange(1, 7)
cdf = np.array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6])  # 示例 CDF 数据

# 调整 y 的长度以匹配 x
y_adjusted = np.concatenate(([0], cdf))[:-1]

plt.step(x, y_adjusted, where='post', label='CDF of Dice')
plt.legend()
plt.show()

运行结果


应用
  1. 概率计算 :通过 F(x),可以快速计算任意区间内的概率:

  2. 随机数生成:通过反向变换法生成符合特定分布的随机数。

  3. 统计分析:用于描述数据分布及模型拟合效果。


总结

累积分布函数是随机变量概率分布的重要工具,能够直观地描述随机变量的累积概率分布。通过 CDF,既可以快速计算概率,又能用于随机数生成和分布分析。无论是离散型还是连续型随机变量,CDF 都在理论研究和实际应用中扮演着重要角色。

相关推荐
charley.layabox3 小时前
8月1日ChinaJoy酒会 | 游戏出海高端私享局 | 平台 × 发行 × 投资 × 研发精英畅饮畅聊
人工智能·游戏
DFRobot智位机器人4 小时前
AIOT开发选型:行空板 K10 与 M10 适用场景与选型深度解析
人工智能
想成为风筝6 小时前
从零开始学习深度学习—水果分类之PyQt5App
人工智能·深度学习·计算机视觉·pyqt
F_D_Z6 小时前
MMaDA:多模态大型扩散语言模型
人工智能·语言模型·自然语言处理
大知闲闲哟6 小时前
深度学习G2周:人脸图像生成(DCGAN)
人工智能·深度学习
飞哥数智坊7 小时前
Coze实战第15讲:钱都去哪儿了?Coze+飞书搭建自动记账系统
人工智能·coze
wenzhangli77 小时前
低代码引擎核心技术:OneCode常用动作事件速查手册及注解驱动开发详解
人工智能·低代码·云原生
潘达斯奈基~8 小时前
大模型的Temperature、Top-P、Top-K、Greedy Search、Beem Search
人工智能·aigc
倔强青铜三8 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三8 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试