本发明涉及民航信息技术领域,尤其涉及一种旅客航班需求分析方法和系统。
背景技术:
在保持收益最大化的前提下,如何提供最佳的折扣、如何合理的安排仓位的开放是航空公司收益管理者一直在思考的两个问题,这两个问题都与航线旅客需求密切相关。随着民航业的快速发展,准确测量市场需求是航空公司市场销售部门的核心诉求,其中,基于O&D的旅客航班需求对航空公司收益管理者来讲至关重要。目前,航空公司能够轻松的获得各航线历史旅客量数据,然而,并没有一个成熟分析方法能够为航空公司反映航班未来的需求变化。因此,如何能够敏感有效的反映旅客航班需求的未来变化趋势、为航空公司收益管理提供决策依据,是对民航信息服务的新一阶段的要求。
目前的技术能够实现基于O&D的各航班历史旅客量的查询功能,数据来源于旅客统一视图中的成形数据,忽略了渠道和旅客对需求的影响,数据获取的周期大多以天、周甚至是月为单位,其实时性及敏感性也较差。另一方面,中国航空公司在中长期的销售管理(一般指二周以后的航班)上,主要使用传统的市场需求测量方法,短期的销售管理(一般二周以内)还主要依赖于人的经验,缺乏对旅客航班需求量的变化趋势进行准确及时的反映。
基于对航空公司收益管理数据支持的完善,本发明提出一种分布式实时民航旅客航班需求分析方法,基于大数据平台采集各渠道全量查询数据,数据来源范围广,对市场感知性强,能够实现以十分钟为单位对旅客航班查询数据进行收集和解析,并且结合传统的市场需求测量方法,使用指数方式更加实时、敏感、准确的反映将来任何一个时间段内的旅客航班需求变化趋势。
技术实现要素:
为解决现有存在的技术问题,本发明实施例提供一种旅客航班需求分析方法和系统。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种旅客航班需求分析方法,所述方法包括:
进行数据预处理得到航班查询数据;
根据所述航班查询数据进行旅客查航班行为模式分类;
对所述分类得到的旅客查询航班行为类别进行权值训练;
根据所述权值训练的结果以及所述分类得到的旅客查询航班行为类别,计算每个产品集在多个维度下的需求指数;
将所述需求指数进行前端展示。
其中,所述进行数据预处理得到航班查询数据,包括:对获取并解析后的旅客查询航班日志数据使用Hadoop分布式数据处理平台进行数据预处理,生成航班查询数据并存储到Hadoop分布式数据平台的Hive组件中。
其中,所述根据所述航班查询数据进行旅客查航班行为模式分类,包括:从Hadoop分布式数据处理平台的Hive组件中读取预处理生成的航班查询数据,通过不同渠道各自对应的分类决策树进行查询航班行为分类,得到旅客查询航班行为类别的数据。
其中,所述根据所述航班查询数据进行旅客查航班行为模式分类,还包括:将所述旅客查询航班行为类别的数据存储到Hadoop分布式数据处理平台的Hive组件中。
其中,所述对所述分类得到的旅客查询航班行为类别进行权值训练,包括:使用模式搜索算法,通过迭代计算获取每个旅客查询航班行为类别的权重。
其中,所述对所述分类得到的旅客查询航班行为类别进行权值训练,包括:获取训练样本数据,以训练样本中所有产品的各查询行为类别的加权和与相应的预订量在给定的时间范围内变化趋势一致性最大化为目标,使用模式搜索算法,计算最优的权值,最终将得到的所有查询航班行为类别的权值系数输出保存到IndexWeight.txt文件中。
其中,所述计算每个产品集在多个维度下的需求指数,包括:将分类所得结果按产品集聚合,并使用权值训练所得的权值系数,通过线性加权求和的方法计算每个产品集在多个维度下的需求指数,所述需求指数包括瞬时需求指数、和/或累计需求指数、和/或历史需求指数、和/或未来需求指数。
其中,根据计算得到的瞬时需求指数结果计算所述未来需求指数、历史需求指数、历史细节指数;其中,所述未来需求指数表示以当前日期为界,对一个产品集的所有已计算的瞬时需求指数进行累加求和;所述历史需求指数表示以当前日期为界,对一个产品集在特定时间段内的所有瞬时指数进行累加求和;所述历史细节指数表示一个产品集在特定时间段内任意一单位时间内的瞬时指数。
一种旅客航班需求分析系统,所述系统包括:
基础数据处理模块,用于进行数据预处理得到航班查询数据;
行为模式分类模块,用于根据所述航班查询数据进行旅客查航班行为模式分类;
权值训练模块,用于对所述分类得到的旅客查询航班行为类别进行权值训练;
指数计算模块,用于根据所述权值训练的结果以及所述分类得到的旅客查询航班行为类别,计算每个产品集在多个维度下的需求指数;
前端展示模块,用于将所述需求指数进行前端展示。
其中,所述基础数据处理模块,用于:对获取并解析后的旅客查询航班日志数据使用Hadoop分布式数据处理平台进行数据预处理,生成航班查询数据并存储到Hadoop分布式数据平台的Hive组件中。
其中,所述行为模式分类模块,用于:从Hadoop分布式数据处理平台的Hive组件中读取预处理生成的航班查询数据,通过不同渠道各自对应的分类决策树进行查询航班行为分类,得到旅客查询航班行为类别的数据。
其中,所述行为模式分类模块,还用于:将所述旅客查询航班行为类别的数据存储到Hadoop分布式数据处理平台的Hive组件中。
其中,所述权值训练模块,用于:使用模式搜索算法,通过迭代计算获取每个旅客查询航班行为类别的权重。
其中,所述权值训练模块,具体用于:获取训练样本数据,以训练样本中所有产品的各查询行为类别的加权和与相应的预订量在给定的时间范围内变化趋势一致性最大化为目标,使用模式搜索算法,计算最优的权值,最终将得到的所有查询航班行为类别的权值系数输出保存到IndexWeight.txt文件中。
其中,所述指数计算模块,用于:将分类所得结果按产品集聚合,并使用权值训练所得的权值系数,通过线性加权求和的方法计算每个产品集在多个维度下的需求指数,所述需求指数包括瞬时需求指数、和/或累计需求指数、和/或历史需求指数、和/或未来需求指数。
其中,所述指数计算模块,还用于:根据计算得到的瞬时需求指数结果计算所述未来需求指数、历史需求指数、历史细节指数;其中,所述未来需求指数表示以当前日期为界,对一个产品集的所有已计算的瞬时需求指数进行累加求和;所述历史需求指数表示以当前日期为界,对一个产品集在特定时间段内的所有瞬时指数进行累加求和;所述历史细节指数表示一个产品集在特定时间段内任意一单位时间内的瞬时指数。
本发明实施例基于大数据平台,提供一种即时高效的旅客航班需求实时分析方法和系统,能够敏感快速的反映未来二到四个月内旅客对于航班的需求变化趋势。基于大数据平台采集各渠道全量查询数据,数据来源范围广,对市场感知性强,能够实现以十分钟为单位对旅客航班查询数据进行收集和解析,使用指数方式敏感的反映未来二到四个月旅客航班需求的变化趋势,对航空公司收益管理数据的完善提供了支持。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例民航旅客航班需求分析方法的总体流程图;
图2为本发明实施例民航旅客航班需求分析系统的架构图;
图3为本发明实施例民航旅客航班需求分析方法的数据流图;
图4为本发明实施例中民航旅客航班需求权值训练流程图。
具体实施方式
本发明实施例提出一种分布式实时的民航旅客航班需求分析方法和系统,对获取的查询数据进行解析、预处理,然后对渠道查询行为模式进行分类与建模,最后进行需求指数计算,并将计算得出的需求指数进行了前端展示。
如图1所示,本发明实施例提出的民航旅客航班需求分析方法主要包括以下步骤:
(1)数据预处理:对获取并解析后的民航旅客查询航班日志数据使用Hadoop分布式数据处理平台按要求进行数据预处理,生成航班查询数据并存储到Hadoop分布式数据平台的Hive组件中。先获取HDFS下经过解析后的用户查询日志文件数据,接着按已设计好的数据格式要求对数据进行预处理,完成对用户查询记录的预处理工作后,将其结果按IBE、MCSS分别输出路径到表。预处理后滤去了旅客查询日志中对查询行为分类无用的部分,大大缩减了数据量大小,提升了后续工作处理效率。
(2)旅客查询航班行为模式分类:从Hadoop分布式数据处理平台的Hive组件中读取预处理功能模块生成的航班查询数据,对旅客的查询航班行为进行分类,实现从预处理完的Hive表中数据出发,分别获取IBE、MCSS前10分钟的查询数据,然后IBE和MCSS再按照各自分类决策树的方法对渠道进行查询模式分类。分类决策树算法以不同产品的不同粒度的时间范围内的查询次数、查询频率、查询内容以及与其他产品的查询行为异常与否为出发点,对不用维度下的若干指标进行计算和分析,形成分类决策树算法。得到航班查询行为分类数据并存储到Hadoop分布式数据处理平台的Hive组件中。
(3)旅客查询航班行为类别权值训练:使用模式搜索算法,通过迭代计算获取每个查询行为类别的权重。首先获取训练样本数据,以训练样本中所有产品集(O&D&FD,O&D&flightDate)(指查询航线在某个起飞日期、从某个出发地到某个到达地的产品集合)的各查询行为类别的加权和与相应的预订(booking)量在给定的时间范围内变化趋势一致性最大化为目标,使用模式搜索算法,计算最优的权值。最终将得到的所有类别的权值系数输出保存到IndexWeight.txt文件中。
(4)需求指数计算:将分类所得结果按O&D&FD聚合,并使用权值训练模块所得的权值系数,通过线性加权求和的方法计算每个O&D&FD在多个维度下的需求指数,包括瞬时需求指数、累计需求指数、历史需求指数以及未来需求指数。
(5)结果展示:将由需求指数计算模块计算得到的瞬时需求指数结果计算出未来需求指数、历史需求指数、历史细节指数,最后将未来需求指数、历史需求指数、历史细节指数等结果通过网页或类似的形式进行前端展示。
其中,上述各需求指数说明如下:
1.未来需求指数:以当前日期为界,对某个产品集(O&D&FD)的所有已计算的瞬时需求指数进行累加求和。
2.历史需求指数:以当前日期为界,对某个产品集(O&D&FD)在过去某一天的所有瞬时指数进行累加求和。
3.历史细节指数:某个产品集(O&D&FD)在过去某一天的任意10分钟的瞬时指数。
本发明实施例提出的客航班需求分析系统主要包括:基础数据处理模块、行为分类模块、权值训练模块、指数计算模块和前端展示模块。其中,基础数据处理模块对应于本发明实施例所述方法中的数据预处理,完成旅客查询航班日志数据的解析和预处理,以便于后续计算;行为分类模块,对应于本发明实施例所述方法的旅客查询航班行为模式分类,完成民航旅客查询航班行为的分类;权值训练模块对应于本发明实施例所述方法中的旅客查询航班行为类别权值训练,完成民航旅客查询航班行为各类别的权值计算;指数计算模块,对应于本发明实施例所述方法中的需求指数计算,完成指数计算;前端展示模块,对应于本发明实施例所述方法的结果展示,完成指数计算模块计算得到的指数的前端展示。如上述步骤描述,本发明实施例的系统在基于Hadoop大数据处理平台的技术上,对一个月的民航旅客查询行为日志数据进行处理并计算了民航旅客航班的需求指数,实际应用中,本发明实施例旅客航班需求分析系统可以采用如图2所示的整体架构。
实际应用中,本发明实施例民航旅客航班需求分析方法的整体数据流可以是如图3所示的过程,包括:获取当前单位时间查询数据流;通过Hadoop平台对查询数据流进行基础数据处理并进行基础数据存储;读取Hadoop平台存储的数据并进行需求指数模型训练和计算,并将计算结果存储到关系型数据库;将关系型数据库存储的需求指数进行输出,即进行前端显示。
具体地执行过程如下:
基础数据处理:利用Hadoop大数据平台的Spark组件,并行分布式的对旅客查询航班日志数据进行预处理,即进行格式化解析以及基础的数据转换,并将解析后的数据存入了Hive组件中。
其中,预处理具体算法过程如下:
(1)以行为单位读取解析后的日志文件;
(2)对每行记录按逗号分割,并按照规定格式获取各个字段,对关键字段进行有效性判断并对不同格式关键字段进行转换。得到key为:IBE,MCSS,SHOP,ERROR;VALUE为:处理后的每行记录。
(3)过滤得到key为IBE和MCSS的数据
(4)将结果注册成临时表存入Hive中。
预处理后单条记录数据顺序及解释如下表1所示:
表1
基础数据存储时还需要进行行为分类获取:从Hadoop大数据平台的Hive组件中读取处理后的数据,在Spark组件中对民航旅客查询航班行为进行了分类,将分类后的结果存储到了Hive组件中,并且在内存中使用了临时表,以便后续能够快速调用数据;
查询行为分类类别的描述如表2所示:
表2
需求指数模型的权值训练:在上一步行为分类之后,抽取部分数据成为样本,结合历史数据,训练了各类旅客查询航班行为的权值。具体训练过程如图4所示。
需求指数模型的指数计算:从Hadoop大数据平台的Hive组件中读取分类后的数据,并且结合权值训练得到的权值,计算出民航旅客航班需求指数,并存储到关系型数据库中。
需求指数的输出即前端展示:从关系型数据库中读取民航旅客航班需求指数数据,计算出未来需求指数、历史需求指数、历史细节指数并进行网页展示,所展示的内容如表3所示。
表3
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。