一、简介
1 贝叶斯统计方法
3 贝叶斯预测方法
贝叶斯统计预测方法与经典的统计预测方法有一个很大的区别,经典的统计预测方法总是根据过去的数据信息,建立统计预测模型,产生常规预测结果,是以纯粹的机械形式将输入信息转化为输出信息,因此,经典的统计预测方法不能处理异常情况的发生。然而贝叶斯统计预测方法不仅仅利用过去的数据信息,还利用了人们对预测的主观认识。人对预测有主观认识或经验认识,贝叶斯统计预测利用贝叶斯公式将人们对预测的主观认识或经验认识与先验信息综合,得到后验信息,所以后验信息不仅仅包含先验信息,还体现了人们的主观认识,因此贝叶斯预测能够处理异常情况的发生。所谓的异常情况或例外情况一般有两种情况。
4 贝叶斯网络的数据预测
贝叶斯网络作为机器学习的一个分支,在处理不确定问题以及复杂系统中多因素间的相互依赖问题时,它具有推论和可视化两方面的独一无二的强壮性。而航班延误正是一个这样的问题,直接影响航班延误的因素有很多,产生延误的间接影响因素较多,部分因素之间还有一定的依赖关系。故贝叶斯网络可作为分析和预测航班延误的方法和手段。
近年来,随着我国经济和居民生活水平的高速增长,中国民航目前正处于快速发展的黄金时期。航班量增多、航班密度逐步加大,许多资源配置的矛盾也日益凸显出来。空域、机场资源难以满足日益增长的航班量,再辅以天气等诸多影响航班正常运行的因素,机场大面积航班延误难以避免。为了提供较为可靠的航班延误分析,在一定程度上能为机场和航空公司提供某种因素情况下的航班延误预警,为相关单位提前做好大面积航班延误的准备工作提供参考,采用基于贝叶斯网络的数据预测算法。
造成航班延误的因素众多,航班延误的因素按其属性可以分为四大类: 航空公司原因、机场管理原因、航空管制原因、以及旅客原因等。根据航班延误因素,大致可分析归纳于如图航班延误指标图所示。
%----------------------------------------
clc,clear,close all
load('sourcedata.mat');
load data.mat
load('datatest.mat');
n=size(data);
%***********创建朴素贝叶斯分类器对象***********
% 创建朴素贝叶斯分类器对象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)
三、运行结果
四、备注
完整代码或者代写添加QQ1575304183