简介

欢迎来到 CS1 课程中最具实用性的章节之一!在此之前,你可能一直将随机变量视为静态的“快照”。在本章中,我们将转向研究事件如何随时间演变,并学习 泊松过程 (Poisson process)。此外,我们还会学习统计学中的一个“神奇戏法”:逆变换模拟法 (Simulation by Inverse Transform)。这项技术能让我们将 0 到 1 之间的简单随机数,转换为几乎任何我们想要的特定分布数值。无论你是数学达人,还是觉得公式有点令人畏缩,这份笔记都能帮助你掌握这些核心原理。

1. 泊松过程

想象你正坐在咖啡店里,计算有多少顾客进门。如果顾客以恒定的平均速率到达,且一个人的到达不会影响另一个人,那么你观察到的就是一个 泊松过程

泊松过程的定义是什么?

一个 速率 为 \(\lambda\)(其中 \(\lambda > 0\))的泊松过程,是用于模拟在固定时间间隔内发生事件次数的模型。在 CS1 课程大纲中,你需要掌握的最关键联系是它与 泊松分布 (Poisson distribution) 的关系。

如果我们将 \(N(t)\) 定义为截止至时间 \(t\) 所发生的事件总数,则:

\(N(t) \sim \text{Poisson}(\lambda t)\)

在时间 \(t\) 内观察到恰好 \(k\) 个事件的概率公式为:
\(P(N(t) = k) = \frac{e^{-\lambda t} (\lambda t)^k}{k!}\) 其中 \(k = 0, 1, 2, ...\)

核心特征

  • 独立性: 一个时间段内的事件数量,不会影响另一个不重叠时间段内的事件数量。
  • 恒定速率: 单位时间内的平均事件次数 \(\lambda\) 在整个过程中保持不变。
  • 成正比例性: 在长度为 \(t\) 的区间内,期望的事件次数简单地表示为 \(E[N(t)] = \lambda t\)。

小贴士: 务必检查你的单位!如果 \(\lambda\) 是“每小时到达 3 人”,而题目要求计算 20 分钟内的到达概率,请记住 \(t\) 应以小时为单位(即 \(t = 1/3\)),或者将 \(\lambda\) 转换为“每 20 分钟到达 1 人”。

总结表:过程 vs. 分布

泊松过程: 随时间发生的事件之连续“故事”。
泊松分布: 在该时间段的特定窗口内所发生的事件“计数”。


2. 模拟:逆变换抽样法

电脑是如何为正态分布或指数分布“生成”随机数的?它们通常从 标准均匀 (Standard Uniform) 随机变量 \(U \sim \text{Uniform}(0, 1)\) 开始,然后对其进行转换。最基本的方法就是 逆变换抽样法

核心概念

每个概率分布都有一个 累积分布函数 (CDF),记作 \(F(x)\)。\(F(x)\) 的值永远介于 0 到 1 之间。逆变换法的原理是将此过程“反转”:我們先选取一个 0 到 1 之间的随机数 \(u\),然后找到满足 \(F(x) = u\) 的 \(x\) 值。

步骤拆解:连续分布

如果这看起来有点复杂,别担心;只需遵循以下三个步骤:

  1. 找出 CDF: 确定 \(F(x) = P(X \le x)\) 的表达式。
  2. 将其设为 \(u\): 写出方程 \(F(x) = u\)。
  3. 求解 \(x\): 整理方程,使 \(x\) 位于等号的一侧。这就是你的“生成公式” \(x = F^{-1}(u)\)。

示例:生成一个指数分布 Exponential(\(\lambda\)) 的变量。
1. CDF 为 \(F(x) = 1 - e^{-\lambda x}\)。
2. 设 \(u = 1 - e^{-\lambda x}\)。
3. 求解 \(x\):
\(1 - u = e^{-\lambda x}\)
\(\ln(1 - u) = -\lambda x\)
\(x = -\frac{1}{\lambda} \ln(1 - u)\)
由于 \(u\) 服从均匀分布 Uniform(0,1),\(1-u\) 实际上也服从均匀分布 Uniform(0,1),因此我们通常将其简化为:\(x = -\frac{1}{\lambda} \ln(u)\)。

步骤拆解:离散分布

对于离散分布(如二项分布或泊松分布),我们无法总是“解”方程,因为其 CDF 看起来像阶梯。相反,我们使用 查表法

如果我们有一个随机数 \(u\):
- 如果 \(0 < u \le P(X = x_0)\),则 \(X = x_0\)。
- 如果 \(P(X = x_0) < u \le P(X = x_0) + P(X = x_1)\),则 \(X = x_1\)。
- 总括而言,我们选择满足 \(F(x_{i-1}) < u \le F(x_i)\) 的 \(x_i\) 值。

类比: 想象一把 1 米长的尺子被分成几个部分。如果“0”的概率是 0.3,“1”的概率是 0.7,你就在 30 厘米处做个标记。你投掷飞镖;如果落在 30 厘米之前,你选中的是“0”;如果落在 30 厘米之后,你选中的就是“1”。

关键要点:

逆变换抽样法 非常强大,因为它只需要一个均匀随机数就能生成一个目标分布的样本。它是 CS1 中基础模拟实验的“金科玉律”。


3. 应避免的常见陷阱

1. 混淆 \(f(x)\) 与 \(F(x)\): 进行逆变换时,务必使用 累积 分布函数 (\(F(x)\)),而非概率密度函数 (\(f(x)\))。

2. 代数运算错误: 在整理 \(u = F(x)\) 时,处理自然对数 (\(\ln\)) 和正负号要非常小心。处理指数分布时,最常见的错误就是漏掉负号。

3. 误解泊松速率: 在泊松过程中,速率 \(\lambda\) 是“每单位时间”的。如果题目询问的是 5 分钟区间,而 \(\lambda\) 是以每分钟计,那么你的泊松分布参数应为 \(5\lambda\)。


4. 快速复习框

  • 泊松过程: 事件以速率 \(\lambda\) 发生;事件计数 \(N(t) \sim \text{Poisson}(\lambda t)\)。
  • 逆变换(连续): 求解 \(x = F^{-1}(u)\)。
  • 逆变换(离散): 在累积概率中找出 \(u\) 所属的区间。
  • 标准均匀分布: 所有模拟的起点 (\(U \sim \text{Uniform}(0, 1)\))。

你知道吗? 精算师常用泊松过程来模拟保险索赔的到达情况。虽然现实世界的索赔更为复杂,但泊松过程是理解风险随时间演变的理论基石!

下一步: 在 Paper B 中,你可能会使用 R 语言来执行这些模拟。至于 Paper A,请多练习代数运算,以便能快速反转指数分布、帕累托分布 (Pareto) 或韦伯分布 (Weibull) 的 CDF。