基于改进多层感知机模型的港口吞吐量预测研究

2021-03-24 09:56刘苗苗蒋艳
软件工程 2021年3期
关键词:粒子群算法

刘苗苗 蒋艳

摘  要:精确的港口货物吞吐量预测对于港口的发展至关重要。本文提出了改进粒子群优化去尾均值多层感知机模型对上海港货物吞吐量进行预测。选取了影响上海港货物吞吐量的十个因素进行训练,实验结果表明该预测模型的预测性能明显优于传统MLP预测模型和基本的粒子群优化多层感知机模型。对该预测模型的误差分析和收敛性分析表明该预测模型可靠。

关键词:粒子群算法;去尾均值;多层感知机;港口吞吐量预测

中图分类号:TP183     文献标识码:A

Abstract: Accurate port cargo throughput forecast is vital to port development. This paper proposes an improved particle swarm optimization model of multilayer perceptron (MLP) with trimmed mean to predict the cargo throughput of Shanghai Port. Ten factors that affect cargo throughput of Shanghai Port are selected for training. The experimental results show that prediction performance of the proposed prediction model is significantly better than traditional MLP prediction model and basic particle swarm optimization multi-layer perceptron model. Error and convergence analyses of the prediction model show that the prediction model is reliable.

Keywords: particle swarm algorithm; trimmed mean; multilayer perceptron; port throughput forecast

1   引言(Introduction)

随着“21世纪海上丝绸之路”战略的实施,对港口的管理提出了更高的要求:准确地预测港口货物吞吐量,为港口调度提供依据,避免港口出现货物船舶的滞留,缩短交货周期,提高客户满意度,使港口运营更高效。因此,准确地预测港口货物吞吐量对港口发展至关重要。

目前,在港口货物吞吐量预测方面,陈昌源等[1]通过优化灰色分析法对上海港集装箱吞吐量进行了预测;黄荣富等[2]通过建立三次指数平滑法对港口吞吐量进行了预测;高嵩等[3,4]分别结合不同预测模型,建立组合预测模型并分别应用于天津港和宁波港的吞吐量预测;李广儒等[5]将Elman神经网络应用于宁波舟山港的货物吞吐量预测;胡克满等[6]运用灰色模型理论选取部分已知信息计算未知信息,结合人工神经网络系统对模型进行优化,给出了基于灰色神经网络的港口货物吞吐量预测算法。

2  吞吐量影响因素分析(Analysis of influencing factors of port throughput)

由于港口吞吐量受到政治、经济、文化、社会等因素的影响,各种因素相互作用导致上海港货物吞吐量在时间维度上呈现非线性变化的特点,而人工神经网络能够拟合非线性映射,具有较强的自适应和自学习能力。但是人工神经网络存在一些不足之处,它的初始权值和阈值都是随机生成的,并且在训练过程中容易陷入局部极小值,而用粒子群算法进行训练能够很好地解决人工神经网络存在的这些问题。此外,人工神经网络模型的功能往往依赖于网络权重的组合相加,容易受到离群值的负面影响[7],因此,本文采用一种改进粒子群(IPSO)优化的去尾均值多层感知机模型(Tr-MLP)对上海港的货物吞吐量进行预测研究。

本文的创新点在于在多层感知机模型中增加了去尾均值,减少离群值的负面影响,并且使用IPSO模型训练,使收敛速度更快,预测精度更高。

3   IPSO(Improved particle swarm optimization)

3.1   粒子群优化算法(PSO)模型

粒子群优化算法是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。该算法中每个粒子都可以看作搜索空间中的最优解,在移动与飞行的过程中,利用适应度函数求得适应度值,用适应度值评价当前解的优劣。每个粒子由位置、速度和适应度值三项特征值进行表示。PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫作个体极值;另一个极值是整个种群找到的最优解,这个极值是全局极值。不断调整飞行的速度和位置,以搜索到全局最優值。速度和位置更新公式如下[8]:

其中,m=1,2,…,M;j=1,2,…,N;vjm为第j个粒子在第m维的飞行速度;xjm为粒子的位置;和为非负的常数,称为加速度因子;为介于[0,1]的随机变量;为个体粒子经历的自身最优位置;为种群粒子集合中各个粒子进行比较后所经历的全局最优位置。

3.2   改进PSO

基础的PSO模型中,固定的惯性权重会减弱全局寻优能力和减慢收敛速度,因此提出利用非线性变化惯性权重来提高PSO的性能。将进行如下优化:

其中,和为的最大值和最小值,为当前迭代值,为最大迭代次数。当较小时,趋向,减小的速度较慢,以保证算法的全局搜索能力。随着迭代次数的增加,迅速非线性递减,以保证算法的局部搜索能力,因此改进的算法可以灵活调整全局搜索能力和局部搜索能力[9]。

4   去尾均值多层感知机模型(Tr-MLP model)

多层感知机模型(MLP)是一种人工神经网络,它的一个重要特点就是有多个神经元层,我们将第一层称为输入层,最后一层称为输出层,中间层称为隐藏层。MLP模型如图1所示,本文只涉及了一个隐藏层,输入层有三个变量[x1,x2,x3]和一个偏置变量b,输出层有三个神经。

假设第一层为输入层,输入的信息为[x1,x2,x3]。对于层L,用L1表示该层的所有神经元,其输出为yl,其中第j个节点的输出为yl(j),该节点的输入为ul(j),连接第L层与第(L1)层的权重矩阵为,上一层(第L1层)的第i个节点到第L层第j个节点的权重为。

单个神经元计算如下:

其中,xj表示输入数据,wkj表示连接权值,bk为阈值,f(x)为激活函数,通常取sigmoid函数。

由以上两个公式可知,神经元的输出结果受输入数据线性权重相加的影响,因此,当数据存在异常值的时候,对结果影响较大,根据文献[7],将去尾均值的概念引入MLP,vk公式改写如下:

5   实证研究(Empirical research)

5.1   关键因素选取

本人分析已有文献对沿海港口货物吞吐量影响因素的研究,以及利用SPSS相关分析工具对众多影响因素与上海港货物吞吐量进行相关性分析,选出了影响最大的前十个影响因素:国内生产总值、第一产业增加值、第二产业增加值、第三产业增加值、年末总人口、货物运输量、上海港口码头长度、上海港口泊位数、上海港口生产用万吨级泊位数、社会商品零售总额。数据来源于国家统计局《中国统计年鉴》年度数据[10],如表1所示。

5.2   基于IPSO-Tr-MLP模型的上海港吞吐量预测

本文选取2000—2018年的前十个影响因素统计值作为多层感知机的输入,将2000—2018年上海港货物吞吐量作为输出,分别利用传统的多层感知机(MLP)、PSO-Tr-MLP模型和IPSO-Tr-MLP模型对其进行训练拟合。多层感知机的网络结构设置为:输入层10个神经元、隐藏层40个神经元、输出层1个神经元,输入权重学习率lrHL取0.1,输出权重学习率lrOL取0.001,动力因子a取0.3,最大迭代次数取1,000 次。粒子群算法(PSO)参数设置为:群体粒子个数N为100,最大迭代次数Max_iteration取1,000 次,学习因子c1与学习因子c2均取1.5,惯性权重最大值wmax取0.8,惯性权重最小值wmin取0.4,位置最大值Xmax取5,位置最小值Xmin取-5,速度最大值vmax取1,速度最小值vmin取-1。使用matlab仿真实现传统的多层感知机(MLP)训练、基于PSO训练的去尾均值多层感知机(Tr-MLP)模型和基于IPSO训练的Tr-MLP模型的上海港吞吐量预测结果如表2所示,预测效果如图3所示。

6   结果分析(Result analysis)

6.1   误差分析

误差分析是通过分析预测模型的预测结果与实际值的贴近程度,进而反映出预测值与实际值之间存在的映射关系,是评价一个预测模型预测效果优劣的重要指标之一。其中,(代表预测值,T代表实际值)。根据表2获得预测结果,分别对三个模型的相对误差进行分析,得到如图4所示的相对误差分布图。

通过图4可以看出,三个模型的相对误差分布围绕error=0上下波动,通过计算两个模型的平均绝对误差(MAE)发现,MLP模型的预测MAE为0.273889,PSO-Tr-MLP模型的预测MAE为0.1465,IPSO-Tr-MLP模型的预测MAE为0.109626,如表3所示。

6.2   收敛性分析

基于MLP的预测模型除了需要保证模型的预测精度,作为被广泛应用的神经网络模型之一,收敛性是衡量神经网络性能的重要指标之一。由于MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度,因此本文选取MSE作为收敛性分析目标,得到了两个预测模型的MSE值随迭代次数变化的收敛曲线图,如图5所示的MLP模型收敛曲线图和如图6所示的PSO-Tr-MLP模型收敛曲线图,以及如图7所示的IPSO-Tr-MLP模型收敛曲线图。

显然,图5中MLP预测值的MSE值随着迭代次数的增加总体趋势是下降的,最终趋向0;而图6和图7的模型随着迭代次数的增加,MSE值迅速收敛到一个极小值。经过比较可以看出,IPOS-Tr-MLP模型得到更小的MSE值且更加快速地收敛到最小值,这证明改进的模型具有更好的全局搜索能力和更快的收敛速度。

7   结论(Conclusion)

为了解决港口货物吞吐量预测过程中非线性问题,以及在训练过程中容易陷入局部最小值的问题,本文的创新点在于在多层感知机模型中增加了去尾均值,减少离群值的负面影响,并且用改进的粒子群算法进行训练,使用动态变化的惯性权重、IPSO算法取代MLP的初始寻优过程,有效提高了收敛速度和预测精度;使用去尾均值多层感知机模型(Tr-MLP)有效避免了离群值的影响。通过对上海港货物吞吐量的预测结果进行分析,表明该预测模型的预测性能明显优于传统MLP预测模型和基本的粒子群优化多层感知机模型,对该预测模型的误差分析和收敛性分析表明该预测模型可靠。

参考文献(References)

[1] 陈昌源,戴冉,杨婷婷,等.基于改进GM(1,1)模型的上海港集装箱吞吐量预测[J].船海工程,2016,45(4):153-156.

[2] 黄荣富,綦化乐,蔡军.三次指数平滑法在港口吞吐量预测中的应用研究[J].水运工程,2007(6):38-40.

[3] 高嵩,肖青.基于组合模型的天津港吞吐量预测[J].水运工程,2011(4):54-57.

[4] 施泽军,李凯.基于灰色模型和指数平滑法的集装箱吞吐量预测[J].重庆交通大学学报(自然科学版),2008,27(2):302-304.

[5] 李广儒,朱庆辉.基于Elman神经网络的港口货物吞吐量预测[J].重庆交通大学学报(自然科学版),2020,39(06):8-12.

[6] 胡克满,蒋勇,王顺林,等.基于灰色神经网络的港口货物吞吐量预测算法[J].物流技术,2018,37(02):68-72.

[7] Yolcu U, Bas E, Egrioglu E, et al. A New Multilayer Feedforward Network Based on Trimmed Mean Neuron Model[J]. Neural Network World, 2015, 25(6):587-602.

[8] 王榮,白尚旺,党伟超,等.粒子群退火算法优化的BP神经网络及其应用[J].计算机系统应用,2020,29(01):244-249.

[9] 李万,冯芬玲,蒋琦玮.改进粒子群算法优化LSTM神经网络的铁路客运量预测[J].铁道科学与工程学报,2018,15(12):3274-3280.

[10] 国家统计局.中国统计年鉴[DB/OL].[2000-2018].http://www.stats.gov.cn/tjsj/ndsj.

作者简介:

刘苗苗(1993-),女,硕士,研究领域:决策分析.

蒋   艳(1974-),女,博士,副教授.研究领域:多目标决策.

猜你喜欢
粒子群算法
几种改进的萤火虫算法性能比较及应用
基于支持向量机的短期电力负荷预测
基于云计算平台的资源调度优化研究
一种基于高维粒子群算法的神经网络结构优化研究
基于PSODE混合算法优化的自抗扰控制器设计
蚁群算法的运用及其优化分析
电力市场交易背景下水电站优化调度研究
基于粒子群算法的产业技术创新生态系统运行稳定性组合评价研究
无线传感器网络联盟初始结构生成研究
交通堵塞扰动下多车场车辆路径优化