概率与统计备忘
数字不会说谎,但说谎的人会算计
概率与统计是非常基础的学科,毕业后因工作原因很少接触这方面的内容,不少概念已遗忘,本文是部分概念的整理和总结(持续更新),当作备忘以便后续查找与学习
经典问题
蒙提霍尔
已选择者自身的概率不会发生变化,未做选择者那边的概率会发生变化,因为获得了更多的信息
蒙提霍尔是非常经典的概率问题(也称为三门问题)。此类问题的核心在于:获得新的信息后会造成概率的变化,这个概率变化发生在哪一边?
用一个例子说明上面的想法。假设海量彩票中只有一张会中奖,你从中抽取其中一张,然后其他人将剩下的彩票撕掉只留下一张并告诉你你手中的彩票和他手中的彩票有一张必然中奖。再给你一次选择的机会,你会选择这两张中的哪张?
一件事成立与否的概率与整个事件的过程是息息相关的,在事件之中你未做任何操作,那么概率只与事件初始状态相关。随着信息越来越多,也只是在预示你当初选择的结果,也许你会发现事件成立的概率越来越大,但另一次也许你会发现成立的概率越来越小。在事件发生的过程中做出改变,才会影响整个事件的概率
常见概念
假设检验与区间估计
问题:抛多少次硬币可以使得刚好出现 10 次正面的概率最大?
使用假设检验的方式从 \(N=16,N=36\) 中选择一个合适的 \(N\) 值①\(N=16\) 时,求 95% 置信区间:\([4.08, 11.92]\);②\(N=36\) 时,求 95% 置信区间:\([12.12,23.88]\)。综上,选择 16 比选择 36 要好,\(N=36\) 是“舍弃假设”
上面的检验过程有个隐含的条件:极大似然原理,即一件事情发生了,我们就认为这件事情是显著性事件,而显著性事件一般认为其位于 95% 置信区间内,我们需要构建一个不等式,只要满足事件显著性,结果就是可以接受的。结合这个思想,就有了下面的区间估计方法。从其他角度解决当前问题,已知当前问题符合正态分布,假设这个值为 \(N\) ,则可得 \(\mu=\frac N 2; \sigma = \frac {\sqrt N} {2}\),那么问题转化为求解下面函数关于 N 的极大值:
\[f(x|_{x=10})=\frac{1}{\sqrt{2 \pi} \frac {\sqrt N} {2}} \exp \left(-\frac{(x- \frac N 2)^{2}}{2 \ {(\frac {\sqrt N} {2}})^{2}}\right) \]
把上式看作变量 \(N\) 的函数,使用 Python 求 \(N > 0\) 时的最大值,解为 \(N = 20\)。同样是上面抛硬币的问题,这次我们求解其 95% 置信区间,求解下面不等式
\[-1.96 \leq \frac {10-\mu} {\sigma} \leq 1.96, \mu = \frac N 2, \sigma = \frac {\sqrt N} {2} \]
得 \(N \in [12.9474, 30.8942]\),即投掷 \(N\) 枚硬币, \(N\) 的 95% 置信区间约为 \([13, 30]\) (注:12和31不在置信区间内)
这里 95% 置信区间的概念意味着,当我们重复进行多次实验且每次抛掷硬币的次数在 [13, 30] 之间时,硬币出现 10 次正面的概率在每次实验的 95% 置信区间内
估算均值:同样可以使用上面公式在已知标准差的前提下估算均值的 95% 置信区间。例如,已知一个不太准确的温度计,其标准差为 5°,如果某次测量结果为 20° ,求实际温度的 95% 置信区间。解下面不等式可得答案:\([10.2, 29.8]\)
\[-1.96 \leqslant \frac{20-\mu}{5} \leqslant+1.96 \]
这说明 \(\mu\) 取值位于 10.2~29.8 时测量结果为 20° 的结果都位于 95% 置信区间内。母群体为正态分布 \((\mu, \sigma)\) 时,多次抽样,样本均值亦为正态分布:\((\mu, \frac {\sigma} {\sqrt{n}})\),其中 \(n\) 为样本数量,由此可得若干特性:
- 随着抽样个数的增加,样本均值分布会越来越“尖锐”,获得与真实均值相近值的概率越来越大
- 样本均值的 95% 置信区间:\([\left(\mu-1.96 \frac{\sigma}{\sqrt{n}}\right), \left(\mu+1.96 \frac{\sigma}{\sqrt{n}}\right)]\),随着抽样个数的增加,方差愈来愈小
常见分布
二项分布
一次伯努利试验:
\[Y=\left\{\begin{array}{l} 1, if\ succ \\ 0, if\ fail \end{array}\right. \]
抛一次均匀的硬币就是一次伯努利试验,其中 \(p(pos)=p(neg)=0.5\)。伯努利试验的特性:
\[p(y)=p^yq^{1-y}, y=0,1;\ q = 1-p;\ \mu = p;\ \sigma^2 = pq \]
二项概率分布
一次伯努利试验的实用性不大,但一系列伯努利试验形成的试验就比较典型了,比如二项概率分布。依旧以抛硬币为例,假设抛 \(n\) 次硬币,其中出现 \(y\) 次正面的概率是多大?
二项分布的特性:\(p(y)=\left(\begin{array}{l} n \\ y \end{array}\right) p^{y} q^{n-y}(y=0,1,2, \cdots, n)\) ;\(\mu = np\);\(\sigma^2 = npq\) 。证明如下:
\[p(\overbrace{S S S S \cdots S}^{y} \overbrace{F F \cdots F}^{(n-y)}) = p^yq^{(n-y)} \]
负二项分布
对于多次独立的伯努利试验,已知每次试验成功的概率 \(p\),求观测到第 \(r\) 次成功时的试验次数为 \(y\) 的概率。注意与二项分布的区别,二项分布是在已知 \(y\) 的前提下求 \(p(r)\),而负二项分布是在已知 \(r\) 的情况下求 \(y\) ,与二项分布刚好相反
\[\overbrace{F F S S F \cdots S \cdots}^{(y-r 次失败和 r-1 次成功)\ } \overbrace{S}^{\ (第 r 次成功)} \]
如上式所示,负二项分布中,前 \(y-1\) 次中一共由 \(y-r\) 次成功和 \(r-1\) 次失败,则可的负二项分布的概率分布为:
\[p(y) = \left(\begin{array}{l} (y-r) + (r-1) \\ r-1 \end{array}\right)p^rq^{y-r}=\left(\begin{array}{l} y-1 \\ r-1 \end{array}\right)p^rq^{y-r} \]
负二项分布的特性:\(\mu=\frac r p\);\(\sigma^2 = \frac {rq} {p^2}\)
贝叶斯定理
贝叶斯推理可以总结为:通过观察行动(已知信息),将先验概率通过贝叶斯更新,转换为后验概率。条件概率/全概率公式是贝叶斯的基础,条件概率是局部概率,\(P(B|A)\) 表示在已知 A 的前提下 B 发生的概率,对应事件的全局概率为:\(P(AB)=P(B|A)P(A)\)。这类公式可以使用面积法(韦恩图)辅助记忆,如上图:
\[P\left(B_{i} \mid A\right)=\frac{P\left(B_{i}\right) P\left(A \mid B_{i}\right)}{\sum_{j=1}^{n} P\left(B_{j}\right) P\left(A \mid B_{j}\right)} \]
假设检验与贝叶斯
假设检验是传统统计学(内曼-皮尔逊)中的方法,假设检验依赖的思想是显著性(极大似然原理)。假设事件 A 是正确的,那就以 A 为基础构造一个极少发生的事件(5%),随后进行试验,如果出现了极少发生的事件则说明 A 是不成立的。贝叶斯不像假设检验那样,明确表明事件 A 成立或者不成立,贝叶斯给出事件 A 成立的概率
假设检验常常将显著性概率设置为 95%,在事件成立概率小于 95%,或者更小时是无法使用假设检验求解问题的,此时就需要贝叶斯。从推理的过程来看,假设检验的风险存在于结论之外(使用额外的概率描述结果失败风险),贝叶斯的风险存在于结论之内(可信度或者说概率就是结果)。贝叶斯可以不用考虑显著水平,是因为设定了先验概率。贝叶斯推理也以极大似然原理为基础
贝叶斯示例
下面的例子源自1
罹患癌症的概率
通过历史数据可知某种癌症在人群中的发病率为 0.1%
(先验概率),又已知对这种癌症进行检测时癌症患者阳性(\(pos\))的概率为 0.95
(漏检的概率为0.05
),健康人误检结果为阳性的结果为0.02
,现在问:如果一个人被检测为阳性,那其患癌的概率是多少?使用面积法求解上面的问题,可知答案为:4.539%。具体解法可参1第二章
- 事件 \(A\) 表示患癌,则 \(P(A)=0.001\);使用 \(A'\) 表示未患癌,则 \(P(A')=0.999\)
- 事件 \(pos\) 表示检查结果为阳性,则 \(P(pos|A) = 0.95, P(pos|A')=0.02\)
- 求 \(P(A|pos)\),直接使用贝叶斯公式
\[P(A|pos) = \frac {P(A)P(pos|A)}{P(A)P(pos|A)+P(A')P(pos|A')}\approx0.04539 \]
生男生女
一对夫妇第一胎生女孩,第二胎还生女孩的概率是多大?这里需要明确一点,从统计上看,真实的男女出生率之比大概为51:49
。解法请参考1第四章。使用数学符号表示上述问题并假设
-
事件 \(A/B/C\) 表示生女孩的概率分别为 0.4/0.5/0.6,则在未知其他信息的情况下设 \(P(A)=1/3;P(B)=1/3;P(C)=1/3\)
-
事件 \(D/E\) 分别表示生男孩和女孩,则 \(P(G|A)=0.4;P(D|A)=0.6\)
-
求生女孩的期望
-
已知第一胎为女孩,使用贝叶斯公式求解这对夫妇对于事件 \(A/B/C\) 的后验概率,
\[P(A|G)= \frac {P(A)P(G|A)}{P(A)P(G|A)+P(B)P(G|B)+P(C)P(G|C)} \approx 0.27 \]
-
同理可得 \(P(B|G)=0.33;P(C|G)=0.40\)
-
求期望:\(0.27 \times 0.4+0.33 \times 0.5+0.40 \times 0.6=0.513\)
-
假设一对夫妇生女孩的概率密度函数为:\(y=1 \ (x \in [0, 1])\),已知第一胎生女孩,那么第二胎生女孩的期望是多少?贝叶斯与极大似然原理息息相关,在已知第一胎为女孩的前提下,利用极大似然原理,可得生男生女的后验概率为 \(y=2x \ (x \in [0,1])\),使用 \(\beta\) 分布求解期望:\(\frac {2} {2+1}=\frac 2 3\)
设一对夫妇生女孩的先验概率是 \(\alpha = 2, \beta = 2\) 的贝塔分布,若其生的是女孩,求后验概率
已知概率密度为贝塔分布,为了使用贝叶斯(极大似然)求后验概率,这里需要构建一个函数,用于求解全局情况下这对夫妇生女孩概率为 \(x\) 且生女孩的概率,即\(P(生女孩的概率为 x\ \&\ 在生女孩概率为 x 时生女孩的概率)\),所得结果如下
\[p = cx^{\alpha - 1}(1-x)^{\beta - 1}x \]
在已知 \(\alpha, \beta\) 前提下,上式的期望值为 \(\frac {2+1} {2+1+2} = \frac 3 5\)。先验分布下这对服务生女孩的期望为 0.5,在已知当前生的时女孩时,其后验概率的期望是 3/5
贝叶斯与垃圾邮件检测
从历史数据中可知垃圾邮件的一些特点,比如垃圾邮件中包含 URL 的概率比正常邮件要大、垃圾邮件中包含某些词汇,如“幽会”的概率要比正常邮件大,等等。通过这些特征并结合贝叶斯概率可以计算邮件是垃圾邮件的概率
假设已知先验概率:垃圾邮件包含 URL 的概率为 0.6,非垃圾邮件包含 URL 的概率为 0.2;垃圾邮件包含“幽会”的概率为 0.4,非垃圾邮件包含“幽会”的概率为 0.05,现已知一封邮件中包含了 URL 和 “幽会”,求这封邮件是垃圾邮件的概率
使用下面的方式描述上面的问题:①事件 E,表示普通邮件;②事件 G,表示垃圾邮件;③事件 A,表示邮件中有 URL;④事件 B,表示邮件中有单词 “幽会”。则已知:\(P(A|E)=0.2; P(A|G)=0.6; P(B|E)=0.05; P(B|G)=0.4\) ,求 \(P(G|AB)\)
在未知任何信息的前提下,设先验概率 \(P(E)=P(G)=0.5\),直接使用贝叶斯公式求解:
\[P(G|AB)=\frac {P(AB|G)P(G)} {P(AB|G)P(G)+P(AB|E)P(E)}=\frac {P(A|G)P(B|G)} {P(A|G)P(B|G)+P(A|E)P(B|E)}=0.96 \]
也可以使用面积方式求解本题,但当变量比较多时直接使用贝叶斯和面积法会比较繁琐,所以当变量之间相互独立时可以利用序贯理性简化问题的求解。下面使用序贯理性求解问题,先求 \(P(G|A)\)
\[P(G|A)=\frac {P(A|G)P(G)} {P(A|G)P(G)+P(A|E)P(E)}|_{P(E)=P(G)=0.5}=0.75 \]
由已知信息更新先验概率:\(P(E)=0.25; P(G)=0.75\),再求 \(P(G|B)\)
\[P(G|B)=\frac {P(B|G)P(G)} {p(B|G)P(G)+P(B|E)P(E)}|_{P(E)=0.25, P(G)=0.75}=0.96 \]
可以发现上面两种方式求解所得结果是相同的,\(P(G|AB)=0.96\)
通过上面的分析可知贝叶斯有学习能力,不断的通过信息调整后验概率以不断的趋近真实结果。类似于上面 AB 壶等问题,进行多次试验不断的更新后验概率,可以无限接近真实结果
-
日 小岛宽之. 统计学关我什么事:生活中的极简统计学. 北京时代华文书局, 2018. ↩︎