BayesTheorem
Bayes定理
常规Bayes
Bayes是一个根据
证据
来修改假设
成立概率的公式
设H为Hypothesis, E为Evidence
P(H)=(无证据前)Hypothesis
成立的概率,即先验概率
P(E|H) = 在Hypothesis
成立的条件下,满足这个证据的概率
P(E|-H)= 在Hypothesis
不成立的条件下,满足这个证据的概率
P(E)= P(E|H)*P(H) + P(E|-H)*P(-H) ,即全概率
P(H|E)=(存在证据后)Hypothesis
成立的概率,即后验概率(有了证据后的概率,后验概率)
P(H|E)表示Hypothesis given the evidence,即在evidence的条件下,Hypothesis为真的概率
具体分析P(E|H)和P(E|-H)意义
如果P(E|H)等于P(E|-H)
农民爱读书的概率和读书人爱读书的概率相同,那么在求P(H|E)时,这个证据:爱读书
对Hypothesis:是农民还是读书人
没有任何影响。
再比如,男人要吃饭,女人也要吃饭,所以这个证据:吃饭
对Hypothesis:是男人还是女人
没有任何影响
如果P(E|H)和P(E|-H)差距很大
如果P(E|H)和P(E|-H)差距很大,那么这个证据
会极大地改变你对这个Hypothesis
的认知
比如:在所有男生中,男生学计算机的概率P(E|H)=0.6
;在所有女生中,女生学计算机的概率P(E|-H)=0.1
,那么证据:学计算机
就对Hypothesis:是男人还是女人
有很大影响
若人群中,是男生的概率为50%,即P(H)=0.5,是女生的概率也为50%,即P(-H)=0.5
那么在人群中,
是男生P(H),且这个男生学计算机的概率,翻译成公式:P(H)* P(E|H)=0.3
是女生P(-H),且这个女生学计算机的概率,翻译成公式:P(-H)*P(E|-H)-0.05
那么P(E)=P(H)* P(E|H)+P(-H)*P(E|-H)
,即人群中有35%的学计算机的概率
那么想知道一个学计算机的同学,是男生的概率,只要用P(H)*P(E|H) / P(E)
,即0.3/0.35
结果明显有很大的概率说明这个计算机的同学是男生。
小结
Bayes公式是根据证据
来改变对原Hypothesis
成立的概率,是基于事实进行的合理地推理
关联性问题
求P(A and B)
如果抛两次筛子,两次都得到“1”的概率是1/6 * 1/6 =1/36
,这个是肯定的,因为抛两次筛子,两次的动作是完全独立的。
如果人群中有1/4
的人有心脏病,那么请问我和我哥哥同时有心脏病的概率是1/16
吗?
答案:不是。如果是任意两个陌生人,他们俩同时有心脏病的概率是1/16
,但是,我与哥哥有关联性!我们不是完全独立的。如果我哥哥有心脏病,那我和哥哥同时有心脏病的概率会大于1/16,公式是P(A and B)= P(A) * P(B|A)
公式解释:人群中有心脏病的概率P(A),有心脏病的人是我哥哥的概率P(B|A)
毕设中传感器检测的例子
已知:传感器检测到异常,请问室内是否有人在活动?
分析
分子:运动概率*检测运动条件下传感器触发的概率
分母:运动概率*检测运动条件下传感器触发的概率+ 不运动概率*没检测到运动条件下传感器触发的概率
已知:
室内有人运动概率为50%,则P(H)=0.5
有人条件下,红外传感器触发概率为0.9,超声波传感器触发概率为0.8,RSSI触发概率为0.8
无人条件下,红外传感器触发概率为0.1,超声波传感器触发概率为0.2,RSSI触发概率为0.2
有人条件下,三个传感器触发的概率P(E)为0.9*0.8*0.8=0.576
而全概率,即有人条件下三个传感器触发概率 + 无人条件下三个传感器触发概率 = 0.5*0.576 + 0.5*0.1*0.2*0.2=0.29
则分子为0.288,分母为0.29
则在室内有人的情况下
三个传感器都触发概率为99.31%
只有其中两个P[(Red and Ultra) or (Ultra and RSSI) or (Red and RSSI) | H] = 0.296
三个传感器都不触发的概率为P(!Red and !Ultra and !RSSI | H) = 0.004
如果我们将监测到高频传感器的采样时间窗口设置为T,那么事件A指的是当且仅当在时间T内有人进入到监测的区域并的与传感器信号相交高于设定的阈值时,入侵事件才发生。
那么,在此条件下,我们假设将房间内的人运动模式建模为泊松过程,当且仅当 lambda*T>1 时,有所以有人进入房间的概率就为:
P(A) = 1 - exp(-lambda * T)
其中lambda(λ)表示特定时间窗口中,房间内有人运动的平均速率。如果我们不知道 λ的值,可以根据历史数据或其他相关信息来估算。
此处提供了事件定义和产生概率的问题解释,如果 lambda(λ)以及其他条件已经确定,我们就可以根据定义和条件标准计算条件概率 P(A | Red, Ultra, RSSI) = P(Red, Ultra, RSSI | A) * P(A) / P(Red, Ultra, RSSI)译 中为:在短T时刻,有人进入并触发了三个传感器的方法来入侵的条件概率。
时间窗口T是一个时间单位,并且表示给定的特定时间间隔,例如秒、分钟、小时等。在楼层安防监控问题中,时间窗口T通常是非常短的时间段,例如几秒甚至更短,这样我们可以以较高的时间精度来检测人员进入房间的情况,并保证及时采取必要的行动。 时间窗口T的大小需要根据特定场景来确定。如果T太大,可能无法很好地捕捉到短暂的入侵行为,导致监测漏报。如果T太小,则可能增加误报率。一般而言,T的确切值应该根据相关统计数据以及安全需求手动设置,并在实际应用中进行调整和优化以达到最佳策略。
读书人和农民的例子
场景
已知:小明爱读书,请问他更可能是个读书人,还是一位农民?
分析
问题是求小明是个读书人的概率
根据Bayes公式
分子:(人群中)读书人概率*是读书人条件下爱看书的概率
分母:(人群中)读书人概率*是读书人条件下爱看书的概率+ (人群中)农民概率*是农民条件下爱看书的概率
分子: P(H)(E|H)
分母: P(H)(E|H)+P(-H)P(E|-H) =P(E)
后验概率=分子/分母
P(H|E)=P(H)(E|H)/P(E)
假设:
- 人群中读书人概率是20%,即P(H)=0.2
- 读书人爱看书的概率是90%,即P(E|H)=0.9,而不读书人爱看书的概率是5%,P(E|-H)=0.05
- 分子为P(H)(E|H)=0.18
- 分母为P(H)(E|H)+P(-H)P(E|-H)=0.18+0.04=0.22
那么基于这个证据,那么P(H|E)=0.818181,有80%的概率认为,小明是读书人。
是否得新冠的例子
根据证据:核酸结果为阳性
判断Hypothesis:得新冠
的概率
分子:人群中得新冠的概率*得新冠的人中核酸结果为阳性的概率,即P(H)*P(E|H)
分母:人群中得新冠的概率*得新冠的人中核酸结果为阳性的概率+人群中健康人的概率*得健康人的中核酸结果为阳性的概率
分母即在所有人(健康人+得新冠人)中核酸结果为阳性的概率
如果
P(H)为0.1,P(E|H)为0.99999
P(-H)为0.9,P(E|-H)为0.00001
那么
分子=0.099999
分母=0.099999+0.000009=0.100008
P(H|E)=0.99991
结论:如果根据证据:核酸结果为阳性
,可以有近100%概率表明Hypothesis:得了新冠
比例Bayes
视频源:https://www.youtube.com/watch?v=lG4VkPoG3ko
这部分提出了一个新的公式,与常规Bayes公式不同点在于,这个公式中使用的是O(H|E),其中O表示odd,是比例
背景,1000个人里面,有1%得了新冠,即一共10个人得了新冠,这10个人都做了核酸检测,但只有9个人显示阳性。
而另外的990人是健康,他们也都做了核酸检测,但有89有个人显示阳性
这里提出几个概念
1、真阳性(True positive):共9人,得了新冠,且核酸显示阳性
2、假阴性(False negative):共1人,得了新冠,但核酸显示阴性
3、假阳性(False positive):共89人,健康,但核酸显示阳性
4、真阴性(True negative):共901人,健康,且核酸显示阴性
那么,这个例子中,阳性预测值=TP/(TP+FP)
,表示在结果是阳性里面,真得病的概率P(Have Cancer|Positive Test)=9/(9+89)=1/11
然后,又提出了两个概念
1、灵敏度(Sensitivity)
对得了新冠的人,检测出90%的阳性,正确率90%
2、特异性(Specificity)
对健康人,检测出91%的阴性,正确率91%
在所有结果是阳性里面,真得病的概率
P(Have Cancer|Positive Test)=9/(9+89)=1/11,也就是说,这个概率还是很低的,但这与我们想象中的认知相反,我们会认为结果是阳性的人,大部分(至少90%?)是真得了新冠。
毕竟健康中显示为阳性的人数近似于得了新冠的人数,而在灵敏度不高的情况下,会出现这种情况。
随后,视频抛出一个问题
若已知:患病率Prevalence=1%,Sensitivity=90%,Specificity=91%。
请问,在结果为阳性的里面,真得病的概率是多少?
先说结论:
用似然比
计算公式:O(D|+)=O(D)*Factor=(1:99)*10=10:99
,而P(D|+)=10:109
,约等于1/11
其中Factor=Sensitivity/(1-Specificity)=0.9/0.09=10
Bayes Factor(似然比)
拥有似然比后,可以更新:update
先验概率,从而得到后验概率的近似值,但只适合当先验概率很小的情况,比如小于0.01时
Posterior=(Prior)*(Bayes factor)
若Prior为0.01,factor为10,那么后验概率为0.1
若Prior为0.1,factor为10,那么后验概率为1,显然不合理了
然而,上述是使用概率方式计算,但Bayes Factor更适用于比例计算
下面开始使用比例,O(D|+)
阳性:阴性在test前后,只相差了Bayes Factor(似然比)
使用Bayes Factor(似然比)更新先验概率,得到后验概率
对于先验概率为1%,即1:99的比例,乘以Bayes Factor=10,结果是10:99,对应的概率为1:109约等于1/11,就和上面直接使用概率进行运算结果相似
对于先验概率很大的情况也适合
对于先验概率为10%,即1:9的比例,乘以Bayes Factor=10,结果是10:9,对应的概率为10:19约等于0.53
若Bayes Factor=90,同样也适合
小结下,这里的prevalence,就是Prior先验概率(或用比例),而test会更新这个比例,从而得到后验概率
使用比例的Bayes
比如,用计算机学科男女解释
在上图中,O(D)
为人群中男生比例,P(+|D)
男生中学计算机的概率,P(+|-D)女生中学计算机的概率
那么P(+|D)/P(+|-D)
则是Bayes factor,可以认为男生中学计算机的人数是女生中学计算机的人数的factor倍,再乘以人群中男生的比例O(D)
,即完成了对O(D)
的更新,从而得到后验比例表示人群中男生学计算机的比例
知道后验比例后,可以转换成后验概率P(D),即可得到人群中男生学计算机的概率,那么随便拉一个同学过程,我们有P(D)的概率说明这个同学是男生。
使用概率的Bayes
比如,还用计算机学科男女解释
在上图中,P(D)
为人群中男生概率,P(+|D)
男生中学计算机的概率
P(-D)
为人群中女生概率,P(+|-D)
女生中学计算机的概率
使用原公式,可以直接求出后验概率
两种Bayes的对比
现在,还是上面生病的例子,假设Prior=0.1,即患病率为10%,Sensitivity=90%,Specificity=91%。
P(+)表示检测结果为阳性,P(D)表示患病率(先验概率),P(D|+)表示在证据:测结果为阳性
下患病概率
求P(D|+)
使用常规Bayes
P(+)=P(D)*P(+|D)+P(-D)*P(+|-D)=Prior*Sensitivity+(1-Prior)*(1-Specificity)=0.1*0.9+0.9*0.09
P(D|+)=P(D)*P(+|D)/P(+)=0.09/(0.09+0.9*0.09)=10/19
使用比例Bayes
Factor=P(+|D)/P(+|-D)=Sensitivity/(1-Specificity)=10
O(D|+)=O(D)*Factor=(1:9)*10=10:9
P(D|+)=10/19
说明,两种方式求的结果是相同的
另外,还可以用比例下的Bayes Factor计算多个证据联合对假设的影响,但像之前提到过的,这些证据之前可能不是相互独立而是有关联的