陈 琛,吴 青,高 嵩
(1.武汉商学院 商贸物流学院,武汉 430056;2.武汉理工大学 物流工程学院,武汉 430063;3.武汉理工大学 智能交通系统研究中心,武汉 430063)
货运量是指一定时期内实际运送的货物吨数,是到达货运量和发送货运量的总和.水路货运量既是水路运输为国民经济服务的生产成果指标,也对港口、航运企业生产计划、组织的重要指导作用.目前的货运量多为年度中长期预测,主要有2类:一类通过拟合货运量与影响因素间的关系展开预测[1-2],但是大部分影响因素是以年度为单位的经济统计量,无法进行短期预测;另一类是考虑时间因素,通过货运量历史时间规律对未来进行预测,主要是各种时间序列方法[3-5],目前多为年度预测,短期预测研究较少.Gao等[4]利用向量自回归模型将6种典型的预测模型结合,对月度港口吞吐量进行预测.吴丽彬等[5]构建时间序列与回归分析混合预测模型对月度货运量进行预测.随着时间粒度减小,时间序列波动明显,预测精度不能满足要求,时间序列方法短期预测时间粒度一般只到月度预测.
考虑空间因素可以提高短期预测精度,越来越多的学者在短时公路交通量预测中将空间因素考虑在内[6],尤其是时空因素与神经网络相结合的短期预测取得了不错的效果.Vlahogianni等[7]集成和优化了上下游道路上顺序传感器采集的数据,构建了模块化神经元预测器.Zeng等[8]基于道路上游和下游的交通数据构建了时间延迟时空神经网络(TDSSNN)模型.Wang 等[9]通过时间空间神经元构建路网的时空关系,建立时空神经网络交通量预测模型.田保慧等[10]利用上下游道路路网内流量相似性高的传感器获得的数据进行预测.然而,公路网络中的交叉路口使得道路在网络中有明确的上下游路口,交通量预测时通常考虑与这几条简单明确的上下游路口的时空关系即可.但是水路运输网络中,任意水路连通的港口间都可以开通直达航线,使得影响货运量的上下游港口数量众多.如武汉港某月接收171个航线上游港口货物,向156个航线下游港口发送货物,如此高维的空间数据难以直接运用于货运量预测.如何寻找影响港口货运量的主要上下游港口,提取货运网络主要空间特征,从而降低货运空间维度是利用空间因素的关键.
由此,本文提出了一种基于频繁港口和神经网络(FR-NN)的水路货运量预测模型.该模型基于频繁模式思想,将频繁港口作为影响货运量的主要上下游港口,利用频繁低维数据保留货运网络的主要空间关联,然后利用神经网络拟合频繁货运网络内港口货运量间的时空关系.实验结果表明,模型能较好地解析频繁港口和目标港口的时空关系,以此对各种时间粒度的短期水路货运量进行预测,预测效果优于仅依赖于时间维度的传统时间序列方法,尤其是能进行小时间粒度的周、日货运量预测.
传统的货运量预测只考虑了时间维度,而对于短期预测,货运量时间序列不平稳加剧,还需要借助于货运网络的空间关系提高预测精度.图1和图2分别为长江干线4个港口24个月和60周的货运量(M).由图可见,时间粒度减小,货运量波动加剧,仅依靠时间维度进行预测受到影响较大.而货运网络中,不同港口间的货运量表现了一定的相似性,考虑这种空间因素可能有助于短期预测.
图1 港口月货运量Fig.1 Monthly freight volume
图2 港口周货运量Fig.2 Weekly freight volume
理论上,了解与目标港口所有空间关系可以更精确预测,但有水路连通的港口间就可以开通航线,使得水路货运网络中的上下游港口比公路和铁路网络中的数量多得多,如武汉港2015年5月的某一周就有船舶驶向79个不同港口,同时还有来自124个不同港口的船舶驶入,如此复杂的水路货运空间网络信息难以直接利用,需要挖掘网络内港口结点间的主要关联,用低维数据保留主要空间关联.
频繁模式是频繁出现在数据集中的模式,如项集、子序列和子结构等,频繁模式挖掘可以搜索数据集中反复出现的联系,借助频繁模式思想和频繁模式挖掘方法发现货运网络内目标港口的频繁港口,由频繁港口保留港口间主要空间关联.
1.2.1频繁模式相关定义 设I={i1,i2,…,in} 是一个项集,一个事务T是项集组成的一个序列,事务数据库D是一个事务集.
定义1X的绝对支持度为在事务集中出现的次数,记为SC(X),支持度为绝对支持度与事务总数的比值,记为S(X).
定义2给定最小支持度阈值σmin,若S(X)≥σmin,则称X为频繁的.
1.2.2频繁港口挖掘 船舶航次频繁程度反映了港口间空间关联程度,对船舶航次事务数据集进行挖掘,找出航线网络中与目标港口关联度高的频繁港口集合.
目标港口v的货运网络G=(V,E),其中V={v1,v2,…,vn}是网络中所有与v有航线连接的港口集合,边集E是v与vi的连通航线集合,一个航次事务T1=〈…,v,vi,…〉或T2=〈…,vi,v,…〉,其中vi∈V包含了一次货物在两港间的运输,对应的事务数据集D1和D2分别是航次事务T1和T2的集合,C(D1)和C(D2)分别为D1和D2中的事务总数.由频繁模式定义可得
(1)
设目标港口的频繁港口PF={P1,P2,…,Pk},Q=[q1q2…qt]T为某港口时间段t的货运量时间向量,目标港口和频繁港口间的时空状态关系如图3所示.
图3 频繁港口与目标港口货运量间的时空关系Fig.3 Temporal-spatial relationship between frequent ports and target port
预测模型首先利用频繁港口提取了货运网络的主要关系.然后在拟合时空关系时,由于网络空间内港口货运量存在着相关性,但他们的时空关系并不明确且可能存在着复杂非线性,考虑神经网络对多种相关关系的较好处理能力,及其在公路短时交通量预测中的良好表现[8-9,11],采用神经网络拟合频繁港口与目标港口间的时空关系.
神经网络自20世纪80年代进入蓬勃发展时期以来一直热度不减,全世界范围内对其网络结构研究、改进、应用的成果举不胜举.神经网络主要有前馈、反馈、自组织3大类,前馈神经网络从输入层到输出层传递信息,通过神经元间的权值调整对复杂关系进行映射;自组织神经网络通过竞争学习进行无导师监督学习;反馈神经网络通过神经元状态演变到达网络稳态.由于不同的工作机制,前馈网络适合于非线性映射、回归、分类等,自组织网络擅长于无监督分类,反馈网络在模式识别、优化计算等方面会有较好应用.模型中采用前馈网络解析频繁港口与目标港口货运量间的时空关系.
误差反向传播(BP)的多层前馈神经网络是最基础也是应用最广泛的神经网络,它正向从输入层、隐层、输出层逐层传播信息,再反向传播信号误差,通过调整网络权值减小误差.虽然BP网络存在局部最优、收敛速度慢、过度拟合等风险,但非线性映射和泛化能力仍然使其在预测领域有着无与伦比的卓越表现.仅含一个隐层的BP神经网络已经在数学上证明能以任意精度逼近任意非线性函数,选择如图4所示的3层BP神经网络进行预测,结合经验和实验对比建模.
图4 神经网络结构图Fig.4 Structure of neural network
图4中,输入向量F=[f1f2…fk]T通过权值矩阵V得到隐含层输出向量H=[h1h2…hm]T,
hj=f(VTF)
(2)
H再经由权值矩阵W获得神经网络输出
o=f(WTH)
(3)
正向获得神经网络输出o之后,再利用网络输出o与期望输出q之间的误差e反向调整网络的权值矩阵V和W,利用梯度下降法调整量分别为
(4)
hj(1-hj)fi
(5)
式中:η为学习系数,正向输出和反向调整迭代多次直至达到迭代次数或者误差e减小到指定范围;hp为隐含层第p个值;wj为隐含层到输出层权值矩阵第j个元素;l为输出向量元素.
算法步骤:
(1)数据准备.确定最小支持度阈值σmin和时间范围,整理航线网络数据;
(2)频繁港口挖掘.从目标港口历史数据时间段的所有航次事务数据集中,挖掘满足最小支持度阈值σmin的频繁港口;
(3)确定神经网络结构.输入层节点数为频繁港口数量,隐含层1层,隐含层节点数在经验范围[11]内比较确定,输出层1个节点;
(4)神经网络训练.频繁港口历史货运量为输入,目标港口货运量为期望输出对神经网络进行训练,调整网络权值直至误差达到指定范围;
(5)利用训练好的神经网络来预测目标港口货运量.
港口、航运企业等生产调度常以周为单位,周货运量预测对企业生产计划有重要指导意义,以武汉港周货运总量为例验证模型预测效果,然后扩展分析关键参数和模型在不同时间粒度上的预测效果.
数据来源于长江航运大数据平台的船舶进出港签证数据.长江航运大数据平台是依托交通部建设科技项目《长江航运大数据平台关键技术及应用研究》建成的大数据中心,整合了多源的长江航运数据.船舶每次进、出港都需要进行签证,每条进(出)港签证数据包含了船舶上一经过港(下一经过港)、在本港到达货运量(发送货运量)等信息.
选取2012年1月2日0时~2014年12月29日24时的船舶进出港签证数据,周一0时~周日24时记为1周,包括156周共155组数据.该时间段内武汉港进出港签证数据约 1.56×105条,与300多个港口有航线联系,周货运总量为到达货运量和发送货运量之和.
3.1.1频繁港口挖掘 事务数据库集D是研究时间段内所有包含武汉港的航次事务T集合,事务数据集Darrive和Dleave分别为包含武汉港进港和出港的航次事务Tarrive和Tleave.航次事务的事务数据库集D=D1∪D2,包含数据 156 665 条,且D1∩D2=∅,其中进港签证记录集Darrive为 77 887 条,出港签证记录集Dleave为 78 778 条.
选取σmin=2.5%,根据频繁港口的定义计算得到武汉港的频繁港口PF={城陵矶(6.32%),上海(5.75%),重庆(3.81%),富池(2.93%),武穴(2.64%),宜昌(2.63%),九江(2.50%)},共7个港口.
3.1.2神经网络建模 神经网络的黑箱训练过程使其结构、训练集和训练过程都缺少明确的定量研究,通过随机取值、多次仿真的方式确定合适的模型.每个模型仿真50次,选择效果较好的作为最终模型.每次训练设计如下.
(2)训练集设计.155组数据中的前139组作为训练集,输入向量为7个频繁港口第1~139周标准化货运量后,期望输出为武汉港第2~140周标准化货运量,剩余16组用于测试模型预测效果.训练集中随机选择80%样本进行训练,剩余20%样本作确认,防止过拟合.
(3)网络训练.神经网络训练选用S型激励函数,训练算法为梯度下降法,学习率η=0.05.终止条件为:最大迭代次数500次,相对误差ΔE<10-5时,确认样本误差连续50次迭代不下降,满足任一训练结束.
3.1.3预测结果对比分析 选用典型的时间序列方法(指数平滑、ARIMA、灰色预测),通过多元线性回归拟合频繁港口与目标港口货运量,并将结果与本文FR-NN方法的预测结果进行对比.时间序列周期设定为52,通过分析武汉港1~140周历史货运量的变化规律,分别选择简单周期指数平滑、ARIMA(1,0,1)和GM(1,1)对99~103周货运量进行预测.用平均绝对百分比误差MAPE和方均根误差RMSE评价预测精度和稳定性,R2评价模型拟合效果,即
(6)
(7)
(8)
采用不同方法对用货运量进行预测的结果如表1所示.由表1可见,FR-NN模型的预测精度和稳定性从数值上较时间序列方法有一定提升,多元线性模型的解析效果不如采用神经网络多元线性,其回归拟合结果为
y=733 704.61+0.118x1+0.252x2-
0.10x3+0.299x4-0.058x5+
0.609x6+0.255x7
时间序列方法的决定系数都不高,模型可解释性很低,引入频繁港口与目标港口时空因素后预测效果变好,显然线性关系解析的效果不如FR-NN模型,神经网络能更好地拟合频繁港口与目标港口间的时空关系.
表1 周货运量预测结果对比Tab.1 Comparison of week predicting freight volume
频繁模式的最小支持度阈值σmin决定了频繁港口的数量.阈值设定较高时,频繁港口数量较少,神经网络结构简单,但是保留的货运网络时空信息少;阈值较低时,频繁港口数量较多,可保留更多的网络时空信息,但是神经网络结构过于复杂.通过分析最小支持度阈值对预测结果的影响,确定合适的取值范围.武汉港不同支持度阈值对应频繁港口如表2所示.
神经网络建模同前,隐含层神经元个数在经验范围对比分析多次仿真选择最优的网络结构,不同阈值下预测效果如表3所示.
支持度阈值减小,频繁港口数量更多,神经网络能更好地解析频繁港口与目标港口的时空关系,预测精度和稳定性也提升.随着阈值进一步减小,神经网络出现过拟合,泛化能力降低,可能是由于训练样本数量不足,而目前数据资源限制,无法增加更多的训练样本;也可能说明阈值较低的港口对目标港口货运量预测的作用并不明显.综合考虑预测效果和建模成本,支持度阈值应设置在[2.0%,3.0%]范围内,本文建模时选取σmin=2.5%.
表2 武汉港频繁港口及支持度Tab.2 Frequent ports and support of Wuhan Port
表3 不同支持度阈值预测比较Tab.3 Comparative analysis of different support threshold
3.3.1月货运量预测 受数据资源限制,只收集到2012年1月~2014年12月共36个月的数据.利用FR-NN模型,用前30个月29组数据训练模型,预测第31~36月的货运量.同时选用典型的时间序列方法:指数平滑、ARIMA、灰色预测第31~36月的货运量,时间序列周期为12.通过分析第1~30月武汉港历史货运量规律,分别选择winter可加性季节指数平滑、ARIMA(1,0,0)和GM(1,1)进行预测,结果如表4所示.
表4 月货运量预测结果对比Tab.4 Comparison of month predicting freight volume
从预测结果来看,FR-NN模型的预测精度、稳定性和模型表现都最好,3种时间序列方法中GM(1,1)的预测精度和稳定性最好,他通过灰数寻找时间序列的变化规律,决定系数R2的参考意义不大,同时指数平滑和ARIMA模型的R2=0.765 和R2=0.883,拟合效果也较为理想.
3.3.2天货运量预测 选取2014年7月28日~2014年12月31日共156天155组数据.运用FR-NN模型,用前139组训练模型,最后16组验证,与指数平滑、ARIMA、灰色预测对比分析.通过分析第1~86天武汉港历史货运量规律,分别选择简单指数平滑、ARIMA(0,0,0)和GM(1,1)进行预测.预测结果如表5所示.
表5 日货运量预测结果对比Tab.5 Comparison of day predicting freight volume
随着时间粒度的减小,预测精度都降低,时间序列和多元线性方法很难拟合相关关系,FR-NN的预测精度和拟合水平明显好于时间序列方法,但是模型的解析能力也并不完全不令人满意,继续增加隐层节点可以略微提升决定系数但出现过拟合,需要进一步研究如何提升预测精度和模型拟合水平.
通过不同时间粒度预测分析,随着时间粒度减小,货运量随机干扰增多,预测精度降低,FR-NN模型对不同时间粒度都能进行有效预测,尤其是在周和日这样较小时间间隔上预测结果明显优于时间序列方法.
(1)基于频繁模式思想寻找频繁港口可以提取水路货运网络主要空间关系,利用低维数据保留主要时空特征.在此基础上建立的FR-NN模型能利用神经网络较好地拟合频繁港口与目标港间的货运量时空关系.考虑时空因素的模型能提高短期货运量预测精度,在各种时间粒度上预测效果均好于时间序列方法,尤其是可以进行时间序列难以完成的小时间粒度的周和日货运量预测.
(2)较小的最小支持度阈值能保留较多的网络空间信息,可以提高模型拟合效果和预测精度,但过多的频繁港口会增大模型开销并产生过拟合,通过对比分析,挖掘频繁港口的最小支持度阈值σmin应设置在[2.0%,3.0%]范围内.
(3)神经网络通过解析频繁港口和目标港口货运量时空关系能进行预测,但最小支持度阈值过小和对日货运量预测时,神经网络明显过拟合泛化能力反而降低,是否说明频繁港口与目标港口货运量时空关系存在不能够解析的不确定的部分,后续研究将探讨用灰度预测中灰度的处理方法或非参数回归的不精确映射关系处理不确定部分,与时空因素结合进行货运量预测.