【一文了解贝叶斯统计】
在讲贝叶斯统计之前,需要讲一下统计学派。理解这两个学派的分析理念对于理解机器分析等复杂算法非常重要。
一个是经典统计学派,一个是贝叶斯统计学派。
例如,著名的掷硬币实验,假设我们要知道一个硬币是否均匀。那么怎么做呢,我们不可能直接去理解这个硬币的本质,知道它是否均匀。
现在我们得到了观测数据:共进行了200次实验,30次正面朝上,170次反面朝上,这个数据称D。假设硬币p(正面朝上)=0.5,下面简称零假设,那么数据D是否推翻了我们的零假设呢?
下面我们分别以经典统计学方法和贝叶斯统计方法推理,以理解这两个学派的分析理念:
对于经典统计学方法:
它的理念是从总体到样本数据的,总体的特征(参数)是固定不变的,样本数据是可以变化的。
思路为:
1 假设零假设成立
2 构造总体:根据观测数据构造产生数据的一个假设总体和总体期望数据
3 量化差异:用一个统计方法(称检验统计量)量化样本数据D和总体期望数据的差异(量化方法有),计算观测检验值
4 抽样构造检验统计量的分布函数(从大总体(总体总数放大)中抽样(蒙特卡洛方法))
5 衡量观测检验值在分布函数出现的可能性大小(p值法等)
6 最后做出是否拒绝零假设的判断
此处实例采样R检验函数(它把上述前5个步骤都做了,检验函数的名称通常提供了假设总体的分布或检验统计量的名称,详情可以看文末附录):
结果分析:
p-value接近于零,远比0.05小,说明观测数据出现的可能性非常小,故拒绝零假设,硬币不均匀。
对于贝叶斯统计方法:
它的理念是数据更新信念(假设),是从数据到总体的,对于一套数据(数据还可以更新),在这个分析中它是不变的,需要做的是选出最有解释力的信念,信念是可变的。
贝叶斯定理:
前面经典统计分析基本上是计算这一块,并且H是不变的,即零假设下,观测数据D出现的可能性(概率)来判断零假设对于数据的解释能力,结果是概率很低拒绝零假设。但在贝叶斯统计里,情况可能不一样。
它的目的是找到最能解释当前数据的信念,信念是可变的,数据也可以再扩展。
更新信念的方法:
比较全概率假设,即当p(正面朝上)取哪个值时获得此数据的概率最大。
这里用分布函数实现这个功能:
运行结果是:

可以看到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):
对于分布,有一个重要的特性:
我们可以利用这个特性在不知道p(D)的情况下计算后验概率:
由前面我们可以接受硬币均匀(p(正面朝上)在0.4到0.6之间)的概率为0.01:
即100个硬币里,有1个硬币均匀。
而由先验概率,知道100个硬币里有10个是均匀的.
那么后验概率中:
运行结果:

此时硬币均匀的概率为94%,此时我们可以接受零假设:
其他假设
我们仍然可以做出其他的假设,来解释数据,比如抛硬币的人作弊,然后再比较这两个假设的解释能力,后面的过程可以称作假设检验。
附录:R语言相关函数
1 积分函数:
输出积分值:integrate(函数,积分下限,积分上限)
2 PDF概率密度函数(以字母d开头):
输出分布函数:dbeta(p,k,n-k),p是事件概率,k是事件发生次数,n是总次数
输出正态分布函数:dnorm(x,mean=0,sd=1),sd是标准差
3 CDF累计分布函数(以字母p开头,PDF的原函数):
输出概率值:分布的CDF:pbeta(p,k,n-k)
输出概率值:二项分布的CDF:pbinom(k,n,p)
(eCDF经验累计分布函数:ecdf(数组))
4 分位函数(以字母q开头,CDF的逆):
输出值:qbeta(p,k,n-k)
5 采样函数:
输出数组:从分布中采样: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为假设总体的数学期望