欢迎光临散文网 会员登陆 & 注册

【一文了解贝叶斯统计】

2023-07-18 16:01 作者:永驻神明  | 我要投稿

    在讲贝叶斯统计之前,需要讲一下统计学派。理解这两个学派的分析理念对于理解机器分析等复杂算法非常重要。

    一个是经典统计学派,一个是贝叶斯统计学派。

    例如,著名的掷硬币实验,假设我们要知道一个硬币是否均匀。那么怎么做呢,我们不可能直接去理解这个硬币的本质,知道它是否均匀。

    现在我们得到了观测数据:共进行了200次实验,30次正面朝上,170次反面朝上,这个数据称D。假设硬币p(正面朝上)=0.5,下面简称零假设,那么数据D是否推翻了我们的零假设呢?

    下面我们分别以经典统计学方法和贝叶斯统计方法推理,以理解这两个学派的分析理念:

    对于经典统计学方法:

    它的理念是从总体到样本数据的,总体的特征(参数)是固定不变的,样本数据是可以变化的。

    思路为:

    1 假设零假设成立

    2 构造总体:根据观测数据构造产生数据的一个假设总体和总体期望数据

    3 量化差异:用一个统计方法(称检验统计量)量化样本数据D和总体期望数据的差异(量化方法有%5Cchi%20%5E2(%3D%5Csum_%7Bi%7D%5En%5Cfrac%7B(O_%7Bi%7D-E_%7Bi%7D)%5E2%7D%7BE_%7Bi%7D%7D%20%2CO%E4%B8%BA%E8%A7%82%E6%B5%8B%E5%80%BC%2CE%E4%B8%BA%E6%9C%9F%E6%9C%9B%E5%80%BC)),计算观测检验值

    4 抽样构造检验统计量的分布函数(从大总体(总体总数放大)中抽样(蒙特卡洛方法))

    5 衡量观测检验值在分布函数出现的可能性大小(p值法等)

    6 最后做出是否拒绝零假设的判断

    此处实例采样R检验函数(它把上述前5个步骤都做了,检验函数的名称通常提供了假设总体的分布或检验统计量的名称,详情可以看文末附录):

    结果分析:

    p-value接近于零,远比0.05小,说明观测数据出现的可能性非常小,故拒绝零假设,硬币不均匀。  

    对于贝叶斯统计方法:

    它的理念是数据更新信念(假设),是从数据到总体的,对于一套数据(数据还可以更新),在这个分析中它是不变的,需要做的是选出最有解释力的信念,信念是可变的。

    贝叶斯定理:

    p(H%7CD)*p(D)%3Dp(D%7CH)*p(H)

    前面经典统计分析基本上是计算p(D%7CH)这一块,并且H是不变的,即零假设下,观测数据D出现的可能性(概率)来判断零假设对于数据的解释能力,结果是概率很低拒绝零假设。但在贝叶斯统计里,情况可能不一样。

    它的目的是找到最能解释当前数据的信念,信念是可变的,数据也可以再扩展。

更新信念的方法:

  •     比较全概率假设,即当p(正面朝上)取哪个值时获得此数据的概率最大。

这里用%5Cbeta%20分布函数实现这个功能:

运行结果是:

可以看到p(正面向上)的概率在0.1到0.2,最有可能出现上述观察数据:

即对于上述观测数据,p(正面朝上)的概率在0.11到0.19之间的概率为90%(0.95-0.05)。

这样同样拒绝了零假设,同时给出了更有可能的假设。

  •  先验概率

上述计算的是p(D|H),即似然概率,贝叶斯统计的特点是加强了背景知识(先验概率p(H))的作用。

对于上述例子,假如有一个专业人员告诉你,这个硬币的制作厂商非常严格,硬币均匀的概率90%(p(H)=0.9),几乎不可能出现如此不均匀的硬币,如此,我们可能会怀疑是否应该接受零假设:

此时可以计算后验概率p(H|D):

对于%5Cbeta%20分布,有一个重要的特性:

beta(%5Calpha%20_%7B%E5%90%8E%E9%AA%8C%7D%20%2C%5Cbeta%20_%7B%E5%90%8E%E9%AA%8C%7D)%3Dbeta(%5Calpha%20_%7B%E5%85%88%E9%AA%8C%7D%20%2B%5Calpha%20_%7B%E4%BC%BC%E7%84%B6%7D%2C%5Cbeta%20_%7B%E5%85%88%E9%AA%8C%7D%2B%5Cbeta%20_%7B%E4%BC%BC%E7%84%B6%7D)

    %5Calpha%20%E4%B8%BA%E4%BA%8B%E4%BB%B6%E5%8F%91%E7%94%9F%E6%AC%A1%E6%95%B0%EF%BC%9B%5Cbeta%20%E4%B8%BA%E4%BA%8B%E4%BB%B6%E4%B8%8D%E5%8F%91%E7%94%9F%E6%AC%A1%E6%95%B0

我们可以利用这个特性在不知道p(D)的情况下计算后验概率:

由前面我们可以接受硬币均匀(p(正面朝上)在0.4到0.6之间)的概率为0.01:

即100个硬币里,有1个硬币均匀。

而由先验概率,知道100个硬币里有10个是均匀的.

那么后验概率中:

运行结果:

此时硬币均匀的概率为94%,此时我们可以接受零假设:

  • 其他假设

我们仍然可以做出其他的假设,来解释数据,比如抛硬币的人作弊,然后再比较这两个假设的解释能力,后面的过程可以称作假设检验。


附录:R语言相关函数

1 积分函数:

输出积分值:integrate(函数,积分下限,积分上限)

2 PDF概率密度函数(以字母d开头):

输出%5Cbeta%20分布函数:dbeta(p,k,n-k),p是事件概率,k是事件发生次数,n是总次数

输出正态分布函数:dnorm(x,mean=0,sd=1),sd是标准差%5Csigma%20

3 CDF累计分布函数(以字母p开头,PDF的原函数):

输出概率值:%5Cbeta%20分布的CDF:pbeta(p,k,n-k)

输出概率值:二项分布的CDF:pbinom(k,n,p)

(eCDF经验累计分布函数:ecdf(数组))

4 分位函数(以字母q开头,CDF的逆):

输出值:qbeta(p,k,n-k)

5 采样函数:

输出数组:从%5Cbeta%20分布中采样:rbeta(采样次数,k,n-k)

输出数组:从正态分布中采样:rnorm(采样次数,k,n-k)

输出数组:sample(总体数组,抽样次数)

6 检验函数(以test结尾):

binom.test(k,n,p, alternative = "two.sided"):计算精确的二项式检验。样本量较小时推荐使用

prop.test(k,n,p, alternative = "two.sided"):当样本量较大(N> 30)时可以使用。它使用二项式的分布在较大样本中与正态分布近似的原理

卡方拟合优度检验:chisq.test(实际观察频次数组,假设的期望分布概率数组)

卡方独立性检验:chisq.test(观测二维列联表)

单样本t检验:t.test(观察数据数据,mu=120,alternative="two.sided"),mu为假设总体的数学期望


【一文了解贝叶斯统计】的评论 (共 条)

分享到微博请遵守国家法律