基于贝叶斯网络的数据预测
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 -2 贝叶斯预测思想
先验概率分布反映了抽样前我们对未知参数的认识,抽样后样本信息带来了新的 信息,根据新信息,我们对未知参数的认识也随之发生了变化。根据新信息,贝叶斯 公式,把先验概率分布转化为后验概率分布,此变化就体现在了后验概率分布中。或 者可以说,后验概率分布是先验概率分布和样本信息的综合,它体现了先验概率信息 和样本信息。在应用上往往都是根据得到的后验概率分布做出推断,贝叶斯预测正是 建立在利用先验概率分布、样本信息得到后验概率分布基础之上的。 预测的目的在于得到一个明智的决策, 以便给相关部门或人员带来指导性的意见。 贝叶斯预测在预测过程中也要建立预测模型。贝叶斯预测在建模过程中应用了很多传 统的预测模型,例如线性回归、指数平滑与线性时间序列模型等,他们都是贝叶斯动 态模型的特殊情况。 贝叶斯统计预测方法与经典的统计预测方法有一个很大的区别,经典的统计预测 方法总是根据过去的数据信息,建立统计预测模型,产生常规预测结果,是以纯粹的 机械形式将输入信息转化为输出信息,因此,经典的统计预测方法不能处理异常情况 的发生。然而贝叶斯统计预测方法不仅仅利用过去的数据信息,还利用了人们对预测 的主观认识。人对预测有主观认识或经验认识,贝叶斯统计预测利用贝叶斯公式将人 们对预测的主观认识或经验认识与先验信息综合,得到后验信息,所以后验信息不仅
, xn ; 就看成是 x1 , x2 ,
x3 ,……, xn 对 的条件密度,记为 p x1 , x2 , x3 ,
, xn | 或者简写为 p x | ;
(2) 用 表示 的先验分布, 一般根据以往对参数 知识来确定先验分布 (经 常用于表示先验知识) ,如果没有关于先验参数 先验知识, 应采用在 取值范 围内的均匀分布 (也被成为贝叶斯假设) , 这也是贝叶斯统计方法中最容易引起争议的 一步; (3)利用先验分布 和条件分布密度 p x1 , x2 , x3 ,
图 -3 贝叶斯预测系统例外管理原则运行框图
贝叶斯预测的另一个重要基本思想是建立动态模型,并且把预测分布看成是条件 概率分布。预测者根据先验信息(之前的经验或主观认识) t | Dt 1 求出预测分布 从而得到人们多需要的预测数值。贝叶斯预测递推算法的框架如图 -4 所示。
p yt | Dt 1 ,并且运用贝叶斯公式求得后验信息 t | Dt ,不断对先验信息进行修正,
仅包含先验信息,还体现了人们的主观认识,因此贝叶斯预测能够处理异常情况的发 生。所谓的异常情况或例外情况一般有两种情况, 第一种情况是在预测过程中,基于人们对预测事件未来状况的认识或经验,异常 情况的发生是可以预料到的,比如有信息显示,明年年底将要建立一个新工厂,则电 力需求将要增加,也就是说电力需求将要增加的问题是能够预料到的,预测者需要及 时对预测模型进行干预。 第二种情况则是在预测过程中,异常情况的发生是不可预测的,对这种情况通常 采用监控的方法来处理预测模型。贝叶斯统计预测按照例外管理原则处理第二种异常 情况发生的框架图如图 -3 所示。
, xn | ,可以求出 x1 ,
x2 , x3 ,……, xn 与 的联合分布以及样本数据 x1 , x2 , x3 ,……, xn 的分布,于 是就可以利用二者求得 对 x1 , x2 , x3 ,……, xn 的条件分布密度,也就是利用贝
叶斯公式求得后验分布密度 p | x1 , x2 , x3 , (4)利用后验分布密度 p | x1 , x2 , x3 , 作检验) ,则
1
贝叶斯统计方法
贝叶斯统计方法是基于贝叶斯定理而发展起来用于系统地阐述和解决统计问题的 方法。贝叶斯统计方法不同于经典统计方法。经典统计方法只利用两种信息:一是模 型信息,二是样本信息。然而贝叶斯统计方法的核心是贝叶斯公式。 1963 年,贝叶斯提出了贝叶斯公式:
P Ai | B
P B | Ai P Ai
PB | A P A
i 1 i i
n
其中, A1 , A2 ,……, An 是两两互斥的事件,且 P Ai 0 , i 1, 2,3,
,n,
事件 B 的发生总是与 A1 , A2 ,……, An 之一同时发生。贝叶斯公式是在观察到事件 看作是导致随机事件 B 发生的各种可能原因, 则 P Ai 可以理解为随机事件 Ai 发生的 先验概率(A Priori Probability) 。如果我们知道随机事件 B 发生这个新信息,则它可 用于对事件 Ai 发生的概率进行重新的估计。事件 P Ai 就是知道了新信息“A 发生” 后对于事件 Ai 发生概率的重新认识,称为随机事件 Ai 的后验概率( A Posteriori Probability) 。 贝叶斯统计方法的核心观点是:在关于事件 A 的任何统计推断问题中,除了使用 样本信息 X 所提供的信息数据外, 还必须对事件 A 预先规定一个先验概率分布, 它可 以是预测者根据自己的经验来确定,也可以是预测者根据自己的主观认识来确定。在 进行统计推断时,先验概率分布是不可或缺的一个重要要素。 贝叶斯学派把先验概率分布解释为:在得到样本信息前就有的关于事件 A 的概率 分布的主观认识。先验概率分布不必有客观依据,它可以部分或者全部地基于主观认 识。 例如,某人甲怀疑自己得了一种疾病 A ,在就诊时医生对他测了诸如血压、体温 等指标,其结果信息构成样本 X 。按经典(传统)学派的观点,医生在诊断甲是否得 病时,只使用统计模型及样本 X 提供的信息即可。而按贝叶斯学派的观点,在统计推
基于贝叶斯网络的数据预测
近来,人们对各种预测模型做了大量的研究工作,使各个预测模型预测结果更加 准确,给人们的相关工作带来了指导作用。然而预测的关键是找到一个能生成最佳预 测结果的模型,而不是最适合历史数据、最能解释历史数据的模型。最适合历史数据 的模型不一定是最好的预测模型,预测模型可能很适合模拟历史数据,但预测结果仍 然欠佳,这说明模型的内在和外在的正确性之间存在着很大的差异。贝叶斯预测不同 于传统预测方法。传统预测方法在预测过程中只利用两种信息:模型信息和样本数据 信息;然而贝叶斯预测在预测过程中不仅利用模型信息和样本数据信息,还利用了先 验概率信息,即决策者的主观意识。贝叶斯预测在预测过程中应用了决策者的主观信 息,因此在预测过程中可以处理不确定性问题的发生,从而保证预测结果的可靠性以 及给人们指导意义的准确性。因此对贝叶斯预测方法的研究具有重要的意义。
, xn 的过程;
, xn 做出对 的推断(估计 或者对
p | x1 , x2 , x3 ,
其中, p x1 , x2 , x3 ,
, xn
p x1 , x2 , x3 , , xn |
p x1 , x2 , x3 , , xn
图 -4 贝叶斯预测递推算法框架
3
贝叶wk.baidu.com网络的数据预测
近年来,随着我国经济和居民生活水平的高速增长,中国民航目前正处于快速发 展的黄金时期。航班量增多、航班密度逐步加大,许多资源配置的矛盾也日益凸显出 来。空域、机场资源难以满足日益增长的航班量,再辅以天气等诸多影响航班正常运 行的因素,机场大面积航班延误难以避免。为了提供较为可靠的航班延误分析,在一 定程度上能为机场和航空公司提供某种因素情况下的航班延误预警,为相关单位提前 做好大面积航班延误的准备工作提供参考,采用基于贝叶斯网络的数据预测算法。 贝叶斯网络作为机器学习的一个分支,在处理不确定问题以及复杂系统中多因素 间的相互依赖问题时,它具有推论和可视化两方面的独一无二的强壮性。而航班延误 正是一个这样的问题,直接影响航班延误的因素有很多,经过延误波及后间接的因素 更加复杂。部分因素之间还有一定的依赖关系。故贝叶斯网络可作为分析和预测航班 延误、波及的方法和手段。 造成航班延误的因素众多,航班延误的因素按其属性可以分为四大类: 航空公司 原因、机场管理原因、航空管制原因、以及旅客原因等。根据航班延误因素,大致可 分析归纳于如图 -5 航班延误指标图所示。
B 已经发生的条件下,寻找导致 B 发生的每个原因的概率。在该公式中,直观地将 Ai
断之前,必须对事件 A 的发生规定一个介于 0 至 1 之间的先验概率 P A (可以是甲 认为自己得病的概率) ,才能对甲是否得病进行推断。比如规定 P A 0.01(即甲认 为自己得病的概率为 0.01) ,根据样本信息 X 的分布 P X 事件 A 的先验概率分布
, xn | d 。
, xn p x1 , x2 , x3 ,
2
贝叶斯预测方法
贝叶斯 (Bayes) 预测是一种以贝叶斯统计方法为基础、 以贝叶斯定理为理论依据, 以动态模型为研究对象的时间序列预测方法。贝叶斯(Bayes)预测方法在统计推断中 不仅仅使用了模型信息及样本数据信息,还使用了先验概率分布信息,这也是不同于 非贝叶斯统计预测的标志。 贝叶斯预测在预测过程中,对总体分布的未知参数预先规定一个先验概率分布, 此概率分布可以是根据以前的数据、经验给出,也可以是完全根据决策者的主观意识 给出。这样将先验概率分布、总体分布、样本信息通过贝叶斯定理(贝叶斯公式)就 可以得到后验概率分布,通过后验概率分布对预测目标进行预测。其一般模式可用图 -2 表示。
图 -5 航班延误指标图
从图 -5 中可看出,终点站(terminal)和飞机类型(Aircraft_type)不予考虑,量 化的指标包括 Airline、Task_code、D_OR_I、stdtime、Delay_mins 五个因素驱动,延 误因素分为进港延误和离岗延误。针对量化数据,采用贝叶斯网络进行预测,提供更 加可靠的的航班延误预警,编写 MATLAB 程序如下。 %---------------------------------------% 基于贝叶斯判别的机场航班延误因素分析 %---------------------------------------clc,clear,close all load('sourcedata.mat'); load data.mat load('datatest.mat'); n=size(data); %***********创建朴素贝叶斯分类器对象***********
P X | A P A ,计算得 P A | X 0.86 ,即在 P X 得到样本信息 X 前甲得病的概率为 0.01,在得到样本信息 X 后,认识发生了变化, 甲得病的概率提高到了 0.86。这一改变的发现既与样本信息 X 有关,也离不开先验概 率分布 P A 。
P A 、贝叶斯公式户 P A | X
贝叶斯学派认为,后验概率分布综合了样本信息 X 及先验概率分布 P A ,因此 抽样的全部目的是完成由先验概率分布到后验概率分布的转换,从而完成对事件 A 认 识的改变。此过程如图 -1 所示。
图 -1 贝叶斯统计方法
贝叶斯统计方法在统计过程中用到了先验概率分布,即决策者的主观因素。可以 说在统计过程中是否使用先验概率分布是区分贝叶斯统计方法和非贝叶斯统计方法的 标志。使用不同的先验概率分布对后验概率分布的确定是有影响的。但是贝叶斯学派 已经证明,开始时不管使用什么样的先验概率分布,随着实验次数的增多,后验概率 分布对初始先验概率分布的依赖会越来越小,后验概率分布最终趋于一致。 贝叶斯统计方法归纳如下: (1)将未知参数看成随机变量(或者随机向量) ,记它为 ,于是当 已知时, 样本 x1 , x2 , x3 ,……, xn 的联合分布密度 p x1 , x2 , x3 ,
% 创建朴素贝叶斯分类器对象 ObjBayes training=data(1:103,1:5); group=data(1:103,6); ObjBayes = NaiveBayes.fit(training,group,'Distribution','kernel') %**********对训练样本进行判别**************** % 利用所创建的朴素贝叶斯分类器对象 ObjBayes,对训练样本进行判别 pre0 = ObjBayes.predict(training); disp '贝叶斯分类器训练数据和实际结果是否相等,相等为 1,否则为 0' isequal(pre0, group) % 判断判别结果 pre0 与分组向量 group 是否相等 pre1 = ObjBayes.predict(data(1:103,1:5)); % isequal(pre1, data(71:103,6)) % 判断判别结果 pre0 与分组向量 group 是否相 等 figure, subplot(211),bar(data(: ,6));figure(gcf);axis tight,box off,grid on title('原始数据---> 用于训练网络---103 组数据 ---实际延误率') subplot(212),bar(pre1);figure(gcf);axis tight,box off,grid on title('贝叶斯网络训练结果---预测延误率') %% 贝叶斯预测误差统计 By1=ysw(data,pre1) %% % 对于样本进行预测 test=datatest(: ,1:5); datatestresult=datatest(: ,6); pre2 = ObjBayes.predict(test); figure, %isequal(pre1, datatestresult) % 判断判别结果 pre0 与分组向量 group 是否相等 subplot(211),bar(datatest(: ,6));figure(gcf);axis tight,box off,grid on title('输入待检验的数据,实际结果') subplot(212),bar(pre2);figure(gcf);axis tight,box off,grid on title('贝叶斯网络训练结果') %% 贝叶斯预测误差统计 By2=ysw(datatest,pre2) 运行程序输出如下结果。 ObjBayes = Naive Bayes classifier with 20 classes for 5 dimensions. Feature Distribution(s):kernel 贝叶斯分类器训练数据和实际结果是否相等,相等为 1,否则为 0 ans = 0 By1 = 8 1 0 1 3