概率小回忆
作者:互联网
随机事件及概率、联合概率分布、条件概率分布、全概率和贝叶斯公式。
随机事件及概率
概率亦称“或然率”,它反映随机事件出现的可能性( likelihood )大小。随机现象是在一定条件下,并不总是出现相同结果的现象。例如,抛一枚硬币,观察正面或反面出现的情况。抛硬币的实验就是个随机实验,它满足:
可重复性。在相同条件下,可以进行大量次重复试验。
偶然性。每次试验中可以出现不同的结果,而不能预先知道发生哪种结果。
统计规律性。试验中一切可能出现的结果可以预先知道。
随机变量可以是离散的或连续的。离散变量从一组预先确定的集合中取值,这组值可能是有序的(掷骰子的点数从1到6)或者无序的(预测天气)。它可能是有限的(从标准扑克牌中随机抽出一张牌,有52种可能的结果)或者无限的(预测水流量)。离散变量的概率分布可以可视化为一个直方图。每个结果都有一个与之相关的正概率,且所有结果的概率之和总是1。
连续随机变量取实数值。这些取值可能是有限的或无限的。无限连续变量可能取遍整个实数范围,或者可能是仅有上界或下界的区间。连续变量的概率分布可以通过绘制概率密度函数( PDF )来可视化。一个结果的概率密度表示随机变量取该值的相对可能性。它可以取任何正值并且积分总是1。图1描述了一个离散分布列(直方图表示)与概率密度函数函数的图像,形象的表示出了两个概念的不同。
联合概率分布和边缘概率
联合概率分布简称联合分布,是两个及以上随机变量组成的随机向量的概率分布。根据随机变量的不同,联合概率分布的表示形式也不同。对于离散型随机变量,联合概率分布可以以列表的形式表示,也可以以函数的形式表示;对于连续型随机变量,联合概率分布通过一非负函数的积分表示。
假设X和Y都服从正态分布,那么P(X>1,Y=0)就是一个联合概率,表示X>1和Y=0两个条件同时成立的概率。A与B的联合概率表示为P(AB)或者P(A,B),或P(A∩B)。
边缘概率是与联合概率对应的。这些仅与单个随机变量有关的概率称为边缘概率,如P(X=a)或P(Y=b)。
条件概率
条件概率是指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:
读作“在B的条件下A的概率”。条件概率其实反应了一个朴素的概念,你平时在推理不确定的事情时,下意识的需要去找和事情有关的证据。因为证据越多,你对不确定的事情的推理就越有信心。
联合概率、边缘概率与条件概率之间的关系
联合概率、边缘概率与条件概率之间的关系可以写为:
其中:
联合概率P(X=a,Y=b)
满足X=a且Y=b的样本;
边缘概率P(X=a)
不考虑Y的取值,所有满足X=a的样本;
条件概率P(X=a∣Y=b)
在Y=b的前提下,满足X=a的样本(比例)。
全概率公式与贝叶斯公式
全概率公式为概率论中的重要公式,它将对复杂事件 A 的概率求解问题转化为了在不同情况下发生的简单事件的概率的求和问题。它的具体解释为:
)
全概率
就是表示达到某个目的有多种方式(或者造成某种结果,有多种原因),求达到目的的概率是多少(造成这种结果的概率是多少)。
贝叶斯定理
由英国数学家贝叶斯提出,用来描述两个条件概率之间的关系。所谓贝叶斯公式,是指当分析样本大到接近总体数时,样本中事件发生的概率将接近于总体中事件发生的概率。P(A∣B) 和P(B∣A)是两个条件概率,贝叶斯公式表示为
P(A∣B)=P(B∣A)×P(A)/P(B)
贝叶斯公式就是当已知结果,求导致这个结果的第 i 原因的可能性是多少。其原理相当于执果索因。
在贝叶斯法则中,每个名词都有约定俗成的名称:
P(A) 是 A 的先验概率或边缘概率。之所以称为”先验”是因为它不考虑任何B方面的因素;
P(A|B) 是已知 B 发生后 A 的条件概率,也由于得自 B 的取值而被称作 A 的后验概率;
P(B|A)是已知 A 发生后 B 的条件概率,也由于得自 A 的取值而被称作 B 的后验概率;
P(B) 是 B 的先验概率或边缘概率,也作标准化常量(normalized constant)。
二项分布
二项分布是由伯努利提出的概念,指的是重复n次独立的伯努利试验。在每次试验中只有两种可能的结果,而且两种结果发生与否互相对立,与其它各次试验结果无关,事件发生与否的概率在每一次独立试验中都保持不变,则这一系列试验总称为n重伯努利实验,当试验次数为1时,二项分布服从 0−1 分布。
考虑只有两种可能结果的随机试验,当成功的概率(π)是恒定的,且各次试验相互独立,这种试验在统计学上称为伯努利试验(Bernoulli trial)。如果进行n次伯努利试验,取得成功次数为X(X=0,1,2…,n)的概率可用下面的二项分布概率公式来描述:
其中,式中n为独立的伯努利试验次数,π为成功的概率,(1−π)为失败的概率。C(X,n)表示在n次试验中出现X的各种组合情况,在此称为二项系数。
二项分布的示例
抛硬币试验就是伯努利试验。在一次试验中硬币要么正面朝上,要么反面朝上,每次正面朝上的概率都一样p=0.5。且每次抛硬币的事件相互独立,即每次正面朝上的概率不受其他试验的影响。如果独立重复抛n=10次硬币,正面朝上的次数k可能为0,1,2,3,4,5,6,7,8,9,10中的任何一个,那么k显然是一个随机变量,这里就称随机变量k服从二项分布。
基于 scipy 的二分布计算
在 Python 中, scipy 包提供了丰富的可用函数。其中,计算每次观测的二项分布概率密度函数为:
stats.binom.pmf(k,n,p)
其中n 表示测量次数, k 是目标结果的次数, p 为抽样概率。输出为k个元素的数组,数组的每个元素表示出现k次目标结果的概率。
下面我们通过一个具体例子来说明一下该函数的用法。
有一个质地均匀的骰子,投掷5次骰子,求出现3次点数为6的概率。
使用 scipy 进行求解为:
binom.pmf(range(6), 5, 1/6)
得到输出:
array([0.401878, 0.401878, 0.166751, 0.032150, 0.003215, 0.000129])
由结果可知:出现0或1次6点的概率为40.2%,而出现3次6点的概率为3.215%。
beta分布
贝塔分布( Beta Distribution ) 是一个作为伯努利分布和二项式分布的共轭先验分布的密度函数,在机器学习和数理统计学中有重要应用。在概率论中,贝塔分布,是指一组定义在(0,1)区间的连续概率分布。其概率密度函数为:
下面我们通过一个问题来具体的分析 beta 分布的使用。假设一个概率实验只有两种结果,一个是成功,概率是X;另一个是失败,概率为(1−X)。其中,X的值我们是不知道的,但是它所有可能的情况也是等概率的。如果我们对X的不确定性用一种方式描述,那么,可以认为X是个来自于[0,1]区间的均匀分布的样本。
这是很合理的,因为X只可能是[0,1]之间的某个值。同时,我们对X也一无所知,认为它是[0,1]之间任何一个可能的值。这些都与[0,1]均匀分布的性质契合。
现在,假设我们做了n次独立重复的实验,我们观察到k次成功,n−k次失败。这时候我们就可以使用这些实验结果来修订之前的假设了。换句话说,我们就要计算X的条件概率,其条件是我们观察到的成功次数和失败次数。这里计算的结果就是 beta 分布了。
在这里,在总共n次实验,k次成功的条件下,X的条件概率是一个 beta 分布,其参数是k+1和n−k+1。
示例
:beta分布用于评价旧货商服务质量
假设亚马逊上有三家旧货商,其评价结果分别如下:
商家一:85193个评论,94%的正向
商家二:20785个评论,98%的正向
商家三:840个评论,99的正向
那么这三个商家中,哪一家的服务质量最好呢?假设我们对三家旧货商的信息一无所知,那么这些参数的先验可以认为是一个均匀分布,也可以等同于 beta(1,1) 。根据之前的知识,我们知道,最终这三家旧货商的服务质量应当服从三个不同参数的 beta 分布,即 beta(80082,5113)、beta(20370,417)和beta(833,9)。
注意,当 beta 分布的参数很大的时候,我们可以使用相同均值和方差的正态分布代替这个 beta 分布。
因此,最终这三家供货商,商家3的服务质量的标准差是0.003,是最大的。其他两家的标准差比这个还小。因此,我们可以认为这三家供货商的服务质量都高度聚焦于他们的均值。因此,从第一个或第二个分布中抽取的样本不太可能比第三个样本的值高。也就是说前两个服务商不太可能质量比第三个高。
scipy 的 beta 分布计算
Python 的scipy中含有 beta 分布函数。下面给出该函数的用法:
beta.pdf(x,a,b)
其中x是给定的取值范围,a为α值,b为β值。它的返回值就是指定输入的概率值。
例如,在旧货商的正向评论率问题中,我们使用 scipy 的 beta 函数就可以得到三家供货商的服务质量函数。在本问题中,x∈[0,1]表示正向评论率,三个旧货商的 beta 函数为beta.pdf(x,80082,5113),beta.pdf(x,20370,417),beta.pdf(x,833,9)。
使用 beta 函数后得到的值就是正向评论率的概率。
编程要求
我们现在考虑这么个问题:
问题1. 在一个收费站,收费站一段时间(比如每隔1小时)会经过一些车(n辆)。假设经过的车只分两种,大车和小车。我们希望通过观察收费站一长段时间的车辆经过情况,估计小车占所有车的比例 p 。
首先我们使用这样的策略:每隔一个小时统计一次,那么在每个小时内,小车的数量应该服从(n,p)二项分布。但是有个问题,就是每个小时的 n (车辆总数)是不同的, p 也不同,那么十个小时的观测到的小车数目,就是十个不同的二项分布的期望,所以不好假设是二项分布了。
估计小车的比例 p 显然仅能出现于0到1之间。任何时刻的小车的比例具有随机性,这些提示我们一段时间的小车比例的分布可能符合贝塔分布。
记每小时的小车数为α ,大车数β,则小车的比例为 a/a+b。而这个比例就服从B(α,β)。也就是说,计算每小时观测到的小车比例,可以认为小车车流量服从 beta 分布,并进行求解。因此,小车的占比p的可能性为0 ~ 1,作为beta分布的输入x,α 和β为函数的参数。
本关的编程任务是,补全src/distribution/beta.py文件中 Begin-End 区间的代码,解决问题1并输出结果。
测试说明
本关的测试过程如下:
读者将src/distribution/beta.py中的代码补充完毕,然后点击评测。平台自动编译运行beta.py,并以标准输入方式提供测评输入;
平台获取程序的输出,然后将其与预期输出对比。如果一致,则测试通过,否则测试失败。
以下是平台对src/distribution/beta.py的样例测试集:
测试输入:
0.5
0.5
预期输出:
[1.06103295 0.79577472 0.69460912 0.64974733 0.63661977 0.649747330.69460912 0.79577472 1.06103295]
标签:概率,概率分布,试验,beta,分布,二项分布,回忆 来源: https://blog.csdn.net/qq_45484797/article/details/120315511