尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
伯努利试验与直线随机游动:从公式推导到模拟实战
如果让我从概率论里选一个最被低估的知识点伯努利试验和直线上的随机游动绝对排在我心里的前三。第一次学的时候它看起来不过是把抛硬币写成了公式能算的只有“几次成功”“第几步走到哪”。后来才发现这一节是整个随机过程的入口后面会遇到的无记忆性链、连续化扩散模型、排队系统几乎都能追溯到这两件事上。这篇内容不是把定义和公式再念一遍。我会把这节最常见的推导、手算例子、模拟脚本、翻车现场都拆开讲清楚每个结论是怎么来的、什么时候能用、什么时候别硬套。适合三类人正在复习概率论的学生刚接触随机过程想补基础的人以及做数据分析时想弄明白“随机波动”到底有多随机的朋友。先说个总印象这一节不难但特别容易“以为自己懂了”。二项分布公式谁都会背可一放到直线上奇偶性、首返、吸收壁这些问题会连番过来。你越早把每一步的几何意义看明白后面越省力。1. 伯努利试验先把“随机”拆到不能再拆1.1 两个结果也有讲究伯努利试验不是“只有两个结果”这么简单。它要满足三个条件只有两个可能结果习惯上叫成功和失败每次试验成功的概率 p 固定各次试验相互独立。三个条件缺一个后面所有公式都不能直接套。举个例子。从一批商品里不放回抽检抽走一件之后剩余批次的不合格率会发生变化所以严格说它不是伯努利试验。只有批量足够大抽样造成的变化小到可以忽略时才能近似用二项分布。很多初学者在这里栽过跟头公式算得飞快但前提根本不对。生活里最常见的用法是把复杂事件拆成多个伯努利试验。一个页面有五个入口每个访客点击某个入口的概率近似固定那么一天里这个入口被点 k 次就可以用二项分布来估。拆解能力比背公式值钱得多。1.2 二项分布的公式不是背出来的n 重伯努利试验里成功次数 X 服从二项分布记为 X ~ B(n,p)概率质量函数是P(Xk) C(n,k) * p^k * (1-p)^(n-k)为什么是 C(n,k)想象有 n 个格子你要填 k 个 1 和 n-k 个 0。先选 k 个格子放 1有 C(n,k) 种选法每一种选法对应一个概率 p^k * (1-p)^(n-k)。熟悉二项式定理的人会立刻认出这是 (ab)^n 展开里的某一项。算个具体例子。20 道判断题完全随机作答每题独立且正确率是 0.5。恰好对 8 题的概率是C(20,8) * (0.5)^20 125970 / 1048576 ≈ 0.1201大概是 12%。有些同学会把 8 和 12 搞混因为 p0.5 时 C(n,k)C(n,n-k)所以对 8 题和对 12 题概率一样但 p 不是 0.5 时这个对称性就没了不能顺手换。期望和方差也建议用画面记不要只背字母。期望 E(X)np意思是“平均成功 n 次里 p 的比例”方差 Var(X)np(1-p) 是波动大小。方差在 p0.5 时最大说明抛硬币这种最“公平”的试验结果反而最不可预测。顺便埋一个伏笔。如果换个问法要等多少次才看到第一次成功那不是二项分布而是几何分布P(Tk)(1-p)^(k-1)p期望是 1/p。这一节不一定考但它和后面随机游动的“首返问题”是亲戚。先有个印象学起来会顺很多。2. 从“几个成功”到“走到哪”随机游动的建模2.1 随机游动就是伯努利试验的叠加现在换一个视角有一个粒子或者一笔筹码从原点出发。每一步独立向右走一步的概率是 p向左走一步的概率是 q1-p。令 X_i 表示第 i 步的结果向右取 1向左取 -1那么走 n 步之后的位置是S_n X_1 X_2 ... X_n这就是直线上的随机游动。它并不是一个新的分布而是 n 重伯努利试验的另一种记账方式。如果记 n 步里向右的次数是 Y_n那么向左的次数是 n-Y_n于是S_n Y_n - (n-Y_n) 2Y_n - n这个式子太重要了。所有关于二项分布的结论都可以通过这个线性关系平移过来。标题之所以把“伯努利试验”和“直线上的随机游动”放在一起就是因为后者只是前者的位置版。当 p0.5 时叫对称随机游动p≠0.5 时叫有漂移的随机游动漂移方向取决于 p 是否大于 0.5。用价格或筹码来理解每一次上涨或下跌都是一个独立的伯努利试验累计结果就是一条随机游动路径。2.2 用二项分布算位置概率第 n 步到达位置 k等价于 n 步里有 (nk)/2 步向右有 (n-k)/2 步向左。所以P(S_n k) C(n, (nk)/2) * p^((nk)/2) * (1-p)^((n-k)/2)但这里有两个硬条件缺一个结果就是 0第一|k| ≤ n走 n 步不可能跑出这个范围。第二n 和 k 必须同奇偶。因为 nk 必须能被 2 整除否则根本凑不出整数步数。算个经典例子。p0.5n10问第 10 步在位置 2 的概率。位置 2 意味着向右 6 步、向左 4 步概率是C(10,6) / 2^10 210 / 1024 ≈ 0.205也就是约 20.5%。很多同学一看 k1顺手就把 (101)/25.5 算出一个奇怪小数其实直接检查奇偶性就知道位置 1 在第 10 步出现的概率是 0。这种题翻车率极高检查条件比计算更重要。2.3 均值方差游动其实有边界感因为 Y_n ~ B(n,p)所以E(S_n) E(2Y_n - n) 2np - n n(2p-1)Var(S_n) Var(2Y_n - n) 4np(1-p)p0.5 时E(S_n)0Var(S_n)n标准差是 √n。这里我一直强调一个直觉方差是 n不是 n²。因为独立随机变量的方差直接相加每一步都是同一个数量级的随机波动n 步之后波动的尺度只按 √n 增长。这个细节非常重要。走 100 步标准差只有 10绝大多数点落在 ±20 附近不是说走了 100 步就能飘到天边。扩散的尺度永远是 √n不是 n。中心极限定理后面会告诉你标准化之后 S_n 的分布趋近正态原因就藏在这个 √n 的数量级里。3. 首返、反射和吸收随机游动最磨人的部分3.1 返回原点的概率与“必返但期望无穷”先看对称情形。2n 步回到原点等价于 n 步向右、n 步向左路径数是 C(2n,n)所以P(S_{2n} 0) C(2n,n) / 4^n这个概率随着 n 增大慢慢变小大约按 1/√n 的幅度衰减。比如 n10 时P(S_200) ≈ 0.1762不是零但确实越来越小。比“第 2n 步在原点”更磨人的是“首次返回”。记 u_{2n} 为第一次回到原点恰好发生在第 2n 步的概率。标准结论是u_{2n} C(2n,n) / ((2n-1) * 4^n)前几项是nP(S_2n0)u_2n11/21/223/81/835/161/16把所有 u_{2n} 加起来结果是 1。这说明一维对称随机游动从原点出发迟早会回到原点这件事概率是 1。但另一个结论更反直觉平均返回时间不是有限数。你可以一直等等到的概率是 1但“平均要等多久”没有有限答案。这个结论初次遇到很难接受它是后面链式理论的经典结论先记下来不要用日常直觉和它硬碰。3.2 反射原理算首达时间的几何工具反射原理解决的是从 0 出发第一次到达某个正数 a 的时间 T_a在 n 步以内完成的概率。核心观察很简单把一条路径在第一次到达 a 之后的线段关于水平线 ya 做镜像得到的仍然是一条随机游动路径终点关于 a 对称。于是所有“在 n 步内到达过 a”的路径要么终点已经在 a 或者更高要么终点低于 a但镜像之后终点高于 a。对称随机游动下反射原理可以直接写成P(T_a ≤ n) P(S_n ≥ a) P(S_n ≥ a1)后半项就是那些“终点低于 a 但中途碰到过 a”的路径被镜像到“终点高于 a”的结果。严格证明要数一遍端点和路径数但先记住几何直觉公式就自然了。看个具体例子。a1n3。P(S_3 ≥ 1) 4/8 0.5P(S_3 ≥ 2) 只有 S_33 这一种终局概率 1/8合计 0.625。手数一遍确实如此8 条路径里有 5 条在 3 步之内到达过 1。反射原理的价值在于把“第一次到达某个位置的复杂事件”转化成“终点落在某个区间的简单事件”。3.3 赌徒破产吸收壁下的递推方程赌徒破产问题是随机游动加上吸收壁。假设手里有资金 i目标赢到 N每局赢 1 的概率是 p输 1 的概率是 q1-p。一旦资金变成 0或者达到 N游戏就结束。问先到 0破产的概率是多少。设 P_i 为从资金 i 出发最终破产的概率考虑第一局就能列递推P_i p * P_{i1} q * P_{i-1}边界条件是 P_01P_N0。这个递推的特征方程是 p r² - r q 0解出特征根之后分两种情况pq1/2 时P_i 1 - i/Np≠q 时令 rq/pP_i (r^N - r^i) / (r^N - 1)算一个 N20、i10 的例子prq/p破产概率0.501.00050%0.481.08369%0.451.22288%这个表非常值得多看几眼。单局胜率只比公平低 2 个百分点破产概率就从 50% 涨到 69%低 5 个百分点直接到 88%。如果目标 N 继续拉大而 p 小于 0.5破产概率会一路逼近 1。随机游动里“期望为 0”不等于“风险为 0”结束规则和吸收位置才是决定结局的关键。4. 用模拟验证理论脚本、数据与翻车现场4.1 一个最小可复现脚本理论看到这里建议亲手跑一遍模拟。下面这个脚本生成 p0.5、n10 的对称随机游动重复 20000 次统计终点位置并与理论概率对照。import math import random random.seed(20250601) p 0.5 n 10 trials 20000 count [0] * (2 * n 1) for _ in range(trials): pos 0 for __ in range(n): if random.random() p: pos 1 else: pos - 1 count[pos n] 1 print(x sim theory) for k in range(-n, n 1, 2): y (k n) // 2 theory math.comb(n, y) * (0.5 ** n) sim count[k n] / trials print(f{k:3} {sim:.4f} {theory:.4f})加上random.seed是为了保证可复现。你换一个种子结果会在小数点后两三位抖动但整体趋势不会变。4.2 模拟结果可以验证三个结论第一个验证终点分布。n10、p0.5 时理论值大约是这样位置 0 的概率约 24.6%±2 的位置约 20.5%±4 的位置约 11.7%±6 约 4.4%再往外迅速衰减。跑完模拟之后你会发现模拟比例和理论值基本差在 1% 以内。而且输出表里只有偶数位置有数奇数位置全空这就是奇偶条件最直观的证据。第二个验证首次返回。写一个循环记录第一次回到 0 的时刻只取偶数时刻。2 步返回的频率约 50%4 步约 12.5%6 步约 6.25%。这些频率加起来并没有停在一个小于 1 的数附近而是慢慢往 1 靠。这就是“一维对称随机游动迟早回来”的模拟证据。第三个验证赌徒破产。用下面这个函数def ruin(i, N, p): pos i while 0 pos N: pos 1 if random.random() p else -1 return pos 0 for p in (0.5, 0.48, 0.45): s sum(ruin(10, 20, p) for _ in range(20000)) print(p, s / 20000)结果会在 50%、69%、88% 附近波动。随机模拟的意义不是代替推导而是给自己建立“公式确实对应机制”的信心。等公式忘了你还能靠模拟把结论重新捞回来。4.3 四个最容易翻车的细节第一个翻车点把位置和成功次数混在一起。S_n 的分布是由 2Y_n-n 变换出来的不是直接把 Y_n 等于某个数套进去。位置和成功次数差一个线性关系漏掉这个换算模拟和手算都会对不上。第二个翻车点忘了奇偶条件。n 和 k 必须同奇偶这是位置概率的第一道关卡。很多人辛辛苦苦算完才发现 k 根本不可能出现。先检查奇偶性再上公式能省一半时间。第三个翻车点只看期望不看结束规则。期望为 0 的公平游戏遇到吸收壁之后照样可能出现很高的破产概率。赌徒破产那张表已经把答案摆出来了规则比概率参数更能决定结局。第四个翻车点把“迟早回来”理解成“平均等待时间很短”。一维对称随机游动返回原点的概率是 1但平均返回时间不是有限数。概率事件和期望值是两回事这个区分越早建立越好。5. 从这一节往后怎么学无记忆性、扩散极限和一条实操建议5.1 这一节喂出了后面所有随机过程模型这一节之所以放在很多教材的中段不只是当作二项分布的应用而是因为它包含了两颗种子。第一颗种子是无记忆性。已知当前位置之后未来每一步怎么走和过去走过的具体路径没有关系。这个性质在随机游动里很自然但它是后面链式模型的起点。你会看到很多复杂系统本质上都是在“直线上的随机游动”上加了一些记忆、状态和边界条件。第二颗种子是扩散极限。把随机游动的步长缩小、步数加大同时按 √n 的尺度标准化终点位置的分布会趋近正态分布。这就是中心极限定理的直观版本。往更远处走连续化的扩散模型、排队模型几乎都能从伯努利试验和随机游动这个离散原型推出来。所以这一节不是孤岛它是整个随机过程学科的码头。5.2 我给学生和自己的一条实操建议学这一节我最推荐的顺序不是先背公式而是先画路径。找一张方格纸从 0 开始每一步用硬币或者随机数决定往上还是往下亲手把前 10 步画出来。画五条路径之后你会自然明白“首返”是什么反射原理为什么叫反射吸收壁出现在哪里。很多同学卡住不是因为公式难而是脑子里没有画面。对称情形和非对称情形一定要分开记。对称情形反射原理和组合数足够好用非对称情形要回到递推方程看到 p≠1/2 就条件反射去想 rq/p 的幂形式。两种情形混着用最容易在考场上白白丢分。我带这一节内容很多次每次讲到赌徒破产那张表教室里都会安静一会儿。静下来的原因不是没听懂而是大家在重新打量“期望为 0”这句话。你要是自学我也建议你给自己留点这种安静的时间。公式以后可以查但第一次被反直觉结论击中只有这会儿才会有。
RELATED

相关推荐

总体与样本、点估计与区间估计:统计推断底层逻辑全解析

总体与样本、点估计与区间估计:统计推断底层逻辑全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/13 1:46:42
DevSpace 命令详解:`devspace status sync` —— 查看 Kubernetes 文件同步状态与同步日志

DevSpace 命令详解:`devspace status sync` —— 查看 Kubernetes 文件同步状态与同步日志

云原生开发工具DevOps容器编排 【免费下载链接】devspace DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes. 项目地址: https://gitcode.com/gh_mirro…

📅 2026/10/13 1:41:41
FontTools cvar 表全解析:CVT 变体数据结构的编译、解译与工程实践

FontTools cvar 表全解析:CVT 变体数据结构的编译、解译与工程实践

开发工具 【免费下载链接】fonttools A library to manipulate font files from Python. 项目地址: https://gitcode.com/gh_mirrors/fo/fonttools 点击查看 免费下载 导读 本文聚焦 FontTools 中 OpenType cvar(Control Value Table Variations&#…

📅 2026/10/13 1:41:41
MORE NEWS

更多资讯

📰

AI检测原理与论文降AI实战:找回人味表达

写论文最头疼的时刻,往往不是数据不好看,也不是文献读不完,而是自己辛辛苦苦敲了两周的文章,放进检测系统一测,跳出来一个醒目的“AI疑似比例”提示,瞬间心态就崩了。我见过不少同学其实根本没用AI写过正文…

📰

Python网络舆情分析系统源码解析:从环境搭建到情感分析实战

简介:这是一套面向高校学生与Python开发者的网络舆情分析系统完整项目,可作为毕业设计、课程设计或实战练手参考,帮助解决从数据采集到可视化展示的全流程实现问题。压缩包共287个文件,约75.63MB,包含42个py源码文件、…

📰

Psalm 的 UnsafeInstantiation 检查:`new static` 安全实例化的原理与两种修复方案

开发工具代码质量质量保障 【免费下载链接】psalm A PHP static analysis tool for finding errors and security vulnerabilities in PHP applications 项目地址: https://gitcode.com/gh_mirrors/ps/psalm 点击查看 免费下载 本篇指南聚焦 Psalm 静态分析器中的 …

📰

ReadySet 服务端深度指南:透明数据库缓存架构、部署模式与核心配置解析

缓存后端数据库 【免费下载链接】readyset Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cache…

📰

兰伯特转移问题详解:从数学原理到Python求解器

简介:面向航天工程与轨道力学领域的研究者和工程师,这份资源以MATLAB脚本形式实现兰伯特转移问题的求解,可用于两体模型下航天器从一点到另一点的快速轨道设计。兰伯特转移是轨道交会、星际任务转移中的基础工具,兼顾了理论严谨与…

📰

用NumPy和Pandas玩转数据:road-to-machine-learning数据处理与EDA实战教程

文档教程机器学习人工智能 【免费下载链接】road-to-machine-learning A comprehensive, step-by-step guide to learning Machine Learning from absolute basics to advanced topics 项目地址: https://gitcode.com/gh_mirrors/ro/road-to-machine-learning 点击查…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬