贝叶斯统计1

作者: 王阿根 | 来源:发表于2018-12-26 11:08 被阅读7次

    可能公式太长,在手机上浏览这个网页很多公式都显示不出来,在浏览器上就很正常了!

    * 首先在学习贝叶斯概率前我们先弄清楚三个概率,联合概率、条件概率、边缘概率,接着再学习贝叶斯概率就很容易明白啦;

    * 然后通过几个案例的学习让大家熟悉贝叶斯公式;

    * 最后通过垃圾短信的判断来进行代码实战;

    * 文章的最后还会附上一个可以用贝叶斯解决的脑筋急转弯问题,感兴趣的一起试试看吧!

    * 相信经过这么多的例子,你一定能更好的理解贝叶斯了,那么开始吧!

    1.1联合概率

    场景:假设一个学校高中和初中合并在一起,只用在数学、语文、英语三门课中选择一门作为主修课,对于所有学生而言:

       · 所有学生中,事件A=选择数学,发生的概率P(A = 选择数学)

       · 所有学生中,事件A=选择数学,发生的概率P(B = 选择语文)

        ·所有学生中,事件A=选择数学,发生的概率P(C = 选择英语)

       · 所有学生中,事件B=学生属于高中阶段,发生的概率P(B=高中生)

        ·所有学生中,事件B=学生属于初中阶段,发生的概率P(B=初中生)

    那么,事件A,B同时发生的联合概率P(A,B)

        ·属于高中生,并且选择了语文作为主修课程,发生的概率是P(A=选择语文,B=高中生)


        ·属于初中生,并且选择了数学作为主修课程,发生的概率是P(A=选择数学,B=初中生)

    那么,高中主修数学的联合概率为:P(A=数学,B=高中) = \frac{200}{1460}

    初中主修语文的联合概率为:P(A=语文,B=初中) = \frac{300}{1460}

    1.2边缘概率 marginal probability

    从联合概率按类别求和就是边缘概率,比如这个学校

    ·主修数学的边缘概率为:P(数学) = \frac{学数学的总人数}{全校总人数}  = \frac{200 + 240}{1460}  = \frac{440}{1460}

    ·主修语文的边缘概率为:P(语文) = \frac{学语文的总人数}{全校总人数}  = \frac{230 + 300}{1460}  = \frac{530}{1460}

    边缘概率的和:P(语文)+ P(数学) + P(英语) = 1;P(高中生) + P(初中生) = 1

    1.3条件概率

    条件概率:满足条件B的所有事件中,事件A也发生的比例

       · 分析的对象:满足条件B的所有事件

        ·P(A|B) = \frac{联合概率}{边缘概率}  = \frac{P(B\cap A)}{P(B)} :事件B,A同时发生的概率除以事件B发生的概率

    条件概率:满足条件A的所有事件中,事件B也发生的比例

    · 分析的对象:满足条件A的所有事件

    ·P(B|A) = \frac{联合概率}{边缘概率}  = \frac{P(A\cap B)}{P(A)} :事件A,B同时发生的概率除以事件A发生的概率

    但是P(B|A) \neq  P(A|B) 。

    举例1:在高中生中(条件),主修英语的人,有多少?

    ·P(主修英语|高中生) = \frac{联合概率}{边缘概率}  = \frac{P(高中生 \cap 主修英语)}{P(高中生)}  = \frac{210}{640}

    举例2:在初中生中(条件),主修语文的人,有多少?

    ·P(主修语文|初中生) = \frac{P(初中生\cap 主修语文)}{P(初中生)}  = \frac{300}{820}

    举例3:主修数学的人中(条件),有多少人是高中生?

    ·P(高中生|主修数学) = \frac{联合概率}{边缘概率} \frac{P(主修数学\cap 高中生)}{P(主修数学)}  = \frac{200}{440}

    1.4联合概率,条件概率,与边缘概率

    ·P(x=主修英语 | y=高中生) = \frac{高中生\cap 主修英语}{P(高中生)} ,P(A|B) = \frac{P(A\cap B)}{P(B)}

    ·联合概率  = 条件概率 * 边缘概率,P(A,B) = P(A|B) * P(B),P(B,A) = P(B|A) * P(A)

    练习1:另外一所学校,初中生中主修数学(条件概率)的比例为1/3,初中生(边缘概率)的比例为1/2,求初中生并且主修数学(联合概率)的人群占全校的比例? 分析:p(A=主修数学|B=初中生) = 1/3, p(B=初中生) = 1/2,所以P(A=主修数学\cap B=初中生)为:1/3 * 1/2 = 1/6

    练习2: 2017年,找到工作的应届毕业生中,进入IT公司(条件概率)为1/3,毕业生找到工作(边缘概率)的比例为7/9,求找到工作并进入IT行业的人群占所有毕业生的比例?分析:P(A=进入IT公司|B=找到工作)= 1/3,P(B=找到工作) =7/9,所以P(A=进入IT公司\cap B=找到工作)的概率为: 1/3 * 7/9 = 7/27

    2.贝叶斯公式

    已知某学校,主修数学的人中,属于高中生的条件概率:P(B=高中生|A=主修数学),主修数学的边缘概率:P(A=主修数学),属于高中生的边缘概率:P(B=高中生),求高中生中,主修数学的同学的条件概率?分析:已知P(B|A)、P(A)、P(B),求 P(A|B)?,那么根据联合概率  = 条件概率 * 边缘概率即可求解啦!答: P(A|B) = \frac{P(B\cap A)}{P(B)}  = \frac{P(A) * P(B|A)}{P(B)}  

    那么这样我们就引出了贝叶斯公式啦:

                                            P(A|B) = \frac{P(B|A) * P(A)}{P(B)}

    离散情况下(求和),求P(B)的边缘概率,对贝叶斯公式进一步的分解:

    首先求P(B),P(B)为主修语数英三门学科的高中学生那么就可知:

    P(B) = P(B \cap  A= 语文) +  P(B \cap A= 数学) +  P(B \cap A= 英语) 

            = P(B|A=语文) * P(A=语文) + P(B|A=数学) * P(A=数学) + P(B|A=英语)* P(A=英语) ,

    所以在离散情况下贝叶斯公式可以分解为:

     P(A|B) = \frac{P(B|A=数学) * P(A=数学)}{P(B)}  = \frac{P(B|A=数学) * P(A=数学)}{\Sigma P(B|A=各个学科)  * P(A=各个学科)}  

    连续情况下(求积分),对贝叶斯公式进一步的分解:

     P(A|B) = \frac{P(B|A) * P(A)}{\int_A P(B|A) * P(A)*dA}

    练习:感冒的人中50%要打喷嚏,没有感冒的人中2%要打喷嚏。当下,感冒的人占比例为0.1,没感冒的是0.9,求条件概率P(感冒|打喷嚏)?分析: 感冒为事件A,打喷嚏为事件B,已知P(B|A=感冒) = 50%=0.5,P(B|A=没感冒)=0.02,P(A=感冒) = 0.1,P(A=没感冒) = 0.9,求P(A=感冒|B=打喷嚏)?

    解:根据离散情况下贝叶斯公式的展开形式将各个已知量带入:

    P(A|B) = \frac{P(B|A=感冒) * P(A=感冒)}{P(B)}  = \frac{P(B|A=感冒) * P(A=感冒)}{\Sigma P(B|A=感冒、没感冒)  * P(A=感冒、没感冒)}  =  \frac{0.5 * 0.1}{0.5*0.1+0.2*0.9} \approx 0.22

    3.通过案例理解贝叶斯

    1. 中乐透2亿美金的人中,60%疯了。中奖率为亿分之一。一个地区历史上有1%的人疯了。现在你的邻居疯了,请问他中乐透了吗?

    分析:根据贝叶斯公式:

    P(A=中乐透|B=疯了) = \frac{P(B=疯了|A=中乐透) * P(A=中乐透)}{P(B=疯了)}  = \frac{P(B=疯了|A=中乐透) * P(A=中乐透)}{P(B=疯了|A=中乐透)  * P(A=中乐透)+P(B=疯了|A=没中乐透)  * P(A=没中乐透)} ,假设P(B=疯了|A=没中乐透) * P(A=没中乐透) 为100x,P(B=疯了|A=中乐透) * P(A=中乐透) 为x,那么P(A=中乐透|B=疯了) = \frac{1}{101} ,可判断出这个邻居疯了但是他没中乐透

    2.流感的人90%要关节疼,发烧等症状。历史统计流感病患为总人群的5%。非流感出现同样症状的概率为30%。你室友出现了关节疼,发烧的症状,请问你要搬家吗?

    分析:事件A为流感,事件B为关节疼发烧,已知P(B|A=流感)=0.9,P(B|A=非流感)=0.3,P(A=流感) = 0.05,P(A=非流感) = 0.95,求P(A=流感|B)? 根据贝叶斯公式:

    P(A=流感|B) = \frac{P(B|A=流感) * P(A=流感)}{P(B)}  = \frac{P(B|A=流感) * P(A=流感)}{P(B|A=流感)  * P(A=流感)+P(B|A=非流感)  * P(A=非流感)}  = \frac{0.9 * 0.05}{0.9 * 0.05 + 0.3 * 0.95}  \approx  0.14, 所以不用搬家 。

    4.贝叶斯公式垃圾短信识别

    给定关键词,判断是否是垃圾短信,现在进入代码实战啦!

    导入包和数据,数据下载地址:贝叶斯垃圾短信数据资源,往CSDN上传资源一定要选择需要的积分,如果没有积分的话请留言。

    根据贝叶斯公式:

    · P(垃圾短信|具体关键词) = \frac{P(具体关键词|垃圾短息) * P(垃圾短信)}{P(具体关键词)}  = \frac{P(具体关键词|垃圾短信) * P(垃圾短信)}{P(具体关键词|垃圾短信) * P(垃圾短信)+P(具体关键词|正常短信)  * P(正常短信)}

    那么接下来一个个求吧:

    · P(具体关键词|垃圾短信) = \frac{垃圾短信中出现具体关键词的词频}{垃圾短信中所有词的词频}

    ` P(具体关键词|正常短信) = \frac{正常短信中出现具体关键词的词频}{正常短信中所有词的词频}

    ` P(垃圾短信的概率) = \frac{垃圾短信的数量}{垃圾短信数量+正常短信数量}  

    · P(正常短信的概率) = \frac{正常
短信的数量}{垃圾短信数量+正常短信数量}

    好啦,所有需要的参数我们都知道了 ,现在把这些参数带入贝叶斯公式吧:

    贝叶斯公式

    贝叶斯公式就写好啦,然后找几个关键词来验证一下有该关键词的短信是不是垃圾短信吧!

    脑筋急转弯:概率三门的问题

    电视游戏节目中,参赛这会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可以赢得该汽车,另外两扇门后面则各藏了一只羊。当参赛者选定一扇门,但未去打开它时,主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍关着的门。 问题是: 换另一扇们会否增加参赛者赢得汽车的机率?

    分析:信息的关键是,主持人开启门这个事件并不是随机事件,这个概率是1。

    确定事件A为参赛选手保持选择不变的情况下获得车,事件B为主持人打开一道门,后面是羊。那么根据贝叶斯公式想求P(A|B):P(A|B) = \frac{P(B|A)*P(A)}{P(B)}  = \frac{1 * 1/3}{1}  = \frac{1}{3} ,所以可以判定,如果参赛者换了另一扇门会增加获取汽车的概率到\frac{2}{3}

    相关文章

      网友评论

        本文标题:贝叶斯统计1

        本文链接:https://www.haomeiwen.com/subject/bbdxlqtx.html