R语言贝叶斯数据分析
Posted R语言与数据分析思考
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言贝叶斯数据分析相关的知识,希望对你有一定的参考价值。
什么是贝叶斯推理?
所谓贝叶斯推理,即在当前所掌握的信息,如个人经验等(通常贝叶斯分析数据中常见专业术语:先验,prior),的基础上,再根据收集的证据(通常指数据),对当前所掌握的信息可信度进行修正/调整,更新所掌握信息的过程(更新的信息有一个专业的名称,叫后验,posterior)。一句话概括,贝叶斯推理就是对当前所掌握的信息重新分配可信度的过程。
我们来看一个简单的例子,小明发现自己的一个花瓶被打碎了,且花瓶是甲乙丙丁四个人当中的一个人打碎的,因为没有其他的信息,只能假设他们打碎花瓶的可能性相等。如果用概率表示,甲乙丙丁打碎花瓶的概率均为1/4。
小明打听到,甲这段时间都不在本地,不可能打碎花瓶。根据这一信息,剩下只有乙丙丁可能打碎花瓶。如此,他们打碎花瓶的概率变成了0、1/3、1/3、1/3。
...
通过不断收集信息,逐个排除,如果最后只剩下丁,那么丁打碎花瓶的概率就变为1。这就是贝叶斯推理,通过不断更新已有信息的可信度,最终得到新的信息可信度。这其实也是著名侦探小说里福尔摩斯经常所用的演绎推理:当你排除所有不可能,剩下的,不管多么不可信,那就是真相。
所以,在做贝叶斯推理分析时,我们首先要有一组分配可信度的参数(如,上面例子中的甲乙丙丁),其次还要有可以用来更新可信度的似然函数,然后收集相关的数据信息,再根据数据信息,重新分配我们对不同参数的可信度。而所有的这些分析,都可以使用R语言进行,包括上面例子用来展示的图。
以上是关于R语言贝叶斯数据分析的主要内容,如果未能解决你的问题,请参考以下文章
R语言中贝叶斯网络(BN)动态贝叶斯网络线性模型分析错颌畸形数据|附代码数据