vlambda博客
学习文章列表

R语言贝叶斯数据分析

       什么是贝叶斯推理?

       所谓贝叶斯推理,即在当前所掌握的信息,如个人经验等(通常贝叶斯分析数据中常见专业术语:先验,prior),的基础上,再根据收集的证据(通常指数据),对当前所掌握的信息可信度进行修正/调整,更新所掌握信息的过程(更新的信息有一个专业的名称,叫后验,posterior)。一句话概括,贝叶斯推理就是对当前所掌握的信息重新分配可信度的过程。

       我们来看一个简单的例子,小明发现自己的一个花瓶被打碎了,且花瓶是甲乙丙丁四个人当中的一个人打碎的,因为没有其他的信息,只能假设他们打碎花瓶的可能性相等。如果用概率表示,甲乙丙丁打碎花瓶的概率均为1/4。

      小明打听到,甲这段时间都不在本地,不可能打碎花瓶。根据这一信息,剩下只有乙丙丁可能打碎花瓶。如此,他们打碎花瓶的概率变成了0、1/3、1/3、1/3。

...

      通过不断收集信息,逐个排除,如果最后只剩下丁,那么丁打碎花瓶的概率就变为1。这就是贝叶斯推理,通过不断更新已有信息的可信度,最终得到新的信息可信度。这其实也是著名侦探小说里福尔摩斯经常所用的演绎推理:当你排除所有不可能,剩下的,不管多么不可信,那就是真相。

        所以,在做贝叶斯推理分析时,我们首先要有一组分配可信度的参数(如,上面例子中的甲乙丙丁),其次还要有可以用来更新可信度的似然函数,然后收集相关的数据信息,再根据数据信息,重新分配我们对不同参数的可信度。而所有的这些分析,都可以使用R语言进行,包括上面例子用来展示的图。