别再混淆了!用大白话和Python代码讲透概率密度函数(PDF)与概率的区别

张开发
2026/4/16 6:43:33 15 分钟阅读

分享文章

别再混淆了!用大白话和Python代码讲透概率密度函数(PDF)与概率的区别
别再混淆了用大白话和Python代码讲透概率密度函数PDF与概率的区别刚接触概率论时你是否曾被连续变量概率为0但密度不为0的说法困扰就像站在海边明明看到浪花翻涌密度却被告知每一滴水的体积为零概率。这种反直觉的现象正是理解现代统计建模的钥匙。今天我们不堆公式用三个生活比喻和可运行的Python代码带你穿透数学迷雾。1. 从人口普查到概率密度建立基础直觉2010年上海浦东新区人口密度为每平方公里5682人但问陆家嘴环路1000号有几人时答案却是零——这像极了概率密度函数的悖论。密度衡量的是聚集程度而概率需要空间范围才能计算。连续随机变量的概率密度函数PDF也是如此。以标准正态分布为例在x0处PDF值约为0.3989但P(X0)严格等于0。用Python可视化更直观import numpy as np import matplotlib.pyplot as plt from scipy.stats import norm x np.linspace(-3, 3, 500) plt.plot(x, norm.pdf(x), labelPDF曲线) plt.fill_between(x[(x-1)(x1)], norm.pdf(x[(x-1)(x1)]), alpha0.5, labelP(-1≤X≤1)≈68.2%) plt.scatter(0, norm.pdf(0), colorred, labelf(0)≈0.3989) plt.legend() plt.title(标准正态分布的概率密度函数) plt.xlabel(x值) plt.ylabel(概率密度f(x)) plt.show()这段代码揭示三个关键点红色点显示单点密度值y轴与概率面积无关阴影区域面积才是真实的概率值曲线总面积为1符合概率公理提示试着修改fill_between的区间范围观察面积变化与norm.cdf(1)-norm.cdf(-1)的关系2. 离散vs连续两种完全不同的概率宇宙离散变量就像数硬币——每个结果都有明确概率结果正面反面概率0.50.5而连续变量如同测量水温任何精确值如25.000...℃的概率都是0只有区间才有意义# 比较离散与连续概率 discrete_prob 0.5 # 硬币正面概率 continuous_prob norm.cdf(0.1) - norm.cdf(-0.1) # X在±0.1之间的概率 print(f离散概率可直接取值: {discrete_prob}) print(f连续概率需区间计算: {continuous_prob:.4f})输出结果离散概率可直接取值: 0.5 连续概率需区间计算: 0.0797这种差异导致离散分布用概率质量函数(PMF)直接给出各点概率连续分布用概率密度函数(PDF)需积分获得概率3. 密度函数的现实威力从预测到机器学习虽然单点概率为零但PDF值在现实中极其有用。比如气象预报明日降水概率30%实际是通过积分降水量的PDF得到def forecast_accuracy(actual, predicted, tolerance0.1): 评估预测模型的准确率 return np.mean(np.abs(actual - predicted) tolerance) # 模拟100天降水预测 true_pdf norm(loc0.3, scale0.1) predicted_pdf norm(loc0.28, scale0.15) samples true_pdf.rvs(100) print(f模型准确率: {forecast_accuracy(samples, predicted_pdf.pdf(samples)):.1%})在机器学习中最大似然估计的核心就是比较PDF值# 比较两个模型对数据的解释力 data np.array([1.2, 1.5, 1.1, 1.3]) model1 norm(loc1.0, scale0.5) model2 norm(loc1.3, scale0.2) likelihood1 np.prod(model1.pdf(data)) # 模型1的似然值 likelihood2 np.prod(model2.pdf(data)) # 模型2的似然值 print(f模型1似然值: {likelihood1:.2e}) print(f模型2似然值: {likelihood2:.2e})输出显示模型2更优模型1似然值: 1.34e-03 模型2似然值: 2.81e-024. 突破认知陷阱实用思维工具箱理解PDF需要转换思维模式这些技巧能帮你避开常见坑显微镜类比PDF值如同放大镜下的像素浓度必须指定观察区域才有意义单位转换法当x的单位是米时f(x)的单位是概率每米物理量对照概率概念物理类比数学表达PDF值电荷密度f(x)概率总电荷量∫f(x)dx实践中最易犯的三个错误直接比较不同点的PDF值大小需考虑积分区间将PDF值当作概率值使用需乘以dx微元忽略PDF的归一化条件全域积分必须为1用Python检查归一化from scipy.integrate import quad integral, _ quad(norm.pdf, -np.inf, np.inf) print(f正态分布全域积分: {integral:.10f}) # 应输出1.0000000000

更多文章