水产品是冷链物流运输重要对象之一。随着居民对水产品需求量的增加,也给水产品冷链物流行业带来了诸多挑战。目前水产品冷链物流发展面临着流通率低,运输途中损耗高[1]等问题,为了加快水产品冷链物流的发展和保证水产品行业的供需平衡,对水产品冷链物流需求预测尤为重要。目前用于水产品冷链物流需求预测方法有灰色预测、BP神经网络等[2][3]。但水产品冷链物流系统是一个复杂的非线性系统,水产品冷链物流的需求量往往受多重因素的影响。过往研究只用单一的预测模型进行研究,不能够充分挖掘原始数据之间的潜在规律,存在一定的局限性,并未针对单一模型的预测优缺点进行组合创新,而组合模型在其他领域已经表现出较好的优越性[4][5]。
目前的需求预测方法上可以大致分为传统的统计模型和机器学习模型两大类[6]。传统的统计模型结构简单,无法挖掘数据之间的潜在规律,而机器学习恰恰能够弥补以往方法的不足。因此基于过往研究的启发,采用一种残差优化的BP-SVR组合模型对水产品冷链物流的需求量进行预测,首先BP神经网络能够通过强大的学习能力挖掘非线性数据之间的规律,再利用SVR模型对重构的残差序列进行处理[7]。
灰色关联度方法是用来分析系统内各个要素之间相关程度的方法。其基本思想是通过预测指标数列与其他影响因素数列之间曲线的相似程度,用关联度来判定各个要素之间关系是否密切,其计算公式如下:
其中:Y(k)为预测指标序列,Xi为影响因素序列,分辨系数ρ的取值范围在[0,1],一般取ρ=0.5,最后计算预测指标序列和影响因素序列之间的关联度,计算公式如下:
其中:相关系数的取值区间为[0,1]之间,并按相关程度排序,其值越大,代表二者之间的相关性越强。
BP神经网络是一种基于误差进行反向传递的多层前馈神经网络模型,由输入、隐藏和输出三层网络结构组成[8]。它的基本思想是通过反向传播算法不断修正多层连接权值和阈值,使网络的实际输出值和期望输出值的误差平方和最小。BP神经网络作为机器学习领域中比较重要算法,其优势在于通过误差进行前向反馈,使预测值不断接近真实值。同时BP神经网络模型清晰,适用于多特征输入的数据类型。其原理如图1所示。
其中:Pt为输入值,Wt为输入层到隐藏层的连接权值,Vj为隐藏层到输出层的连接权值,Q是输出值。
SVR模型作为机器学习中比较流行的监督算法。它根据结构风险最小化原则,可以识别输入和输出变量之间的任何联系,常用于分析数据的预测和分类[9]。SVR由于能较好地解决小样本、非线性、局部极小值等问题,在物流需求预测中得到成功应用[10]。常用的径向基高斯函数表达式如下:
最后添加非负松弛因子和拉格朗日乘子ai*和ai,并经过相应变化后,回归函数为:
其中:
本文选取湖北省2002到2021年相关数据来进行水产品冷链物流需求预测。根据供需关系,预测指标选取湖北省居民水产品的消费量(水产品的消费量Y=城镇常住人口*城镇水产品人均消费量+农村常住人口*农村水产品人均消费量)[11],影响需求量因素主要划分为4类:区域经济因素、供给因素、冷链物流技术因素和社会因素,具体如表1所示:
本文数据收集均来源于湖北省统计年鉴、中国渔业年鉴以及中国互联网络信息中心。其中互联网普及率部分年份数据缺失以年平均增长率的方式进行填补,城镇水产品人均消费量部分年份数据的缺失采取其与城镇人口进行最小二乘法拟合的方式进行填补,经检验拟合误差为0.22,效果良好,各指标统计数据如表2所示。
由于各个指标之间的计量单位和数量级不同,为了减小误差,采用最大最小值化方式对数据进行预处理,把各项数据转化到0,[1]之间,转化公式为:
对数据进行预处理后,用灰色关联度法分析预测指标和各个影响因素的相关性,分析结果如表3所示。结果显示水产品需求量与10个影响因素的相关系数均大于0.8,判定具有强相关性。
组合预测思想是让每个单一模型充分发挥各自优势,以提高预测精度[12]。目前使用较多的组合方式是修正单一模型的预测结果[13],另外组合模型的效果好坏也由数据的类型和样本大小来决定的。由于水产品冷链物流需求量具有随机性和时变性的特点,本文将BP神经网络和SVR两种机器学习模型进行组合,以发挥组合模型的优势。BP神经网络在对原始数据进行预测时,在训练时实际值与预测值两者之间会产生一定的偏差[7],针对产生的偏差值,再采用SVR模型对残差序列进行训练,利用SVR模型对BP神经网络产生的误差进行修正,预测的效果会更好,图2是BP-SVR模型建模流程图。
基于BP-SVR组合预测建模流程:
步骤1:将2002—2021的数据集作为原始序列
步骤2:用BP神经网络模型对前15年的数据进行训练和预测,得到预测值
步骤3:令训练集真实值和其预测值做差,得到残差序列:Rt=Yt-Yi。
步骤4:用SVR模型对残差序列Rt进行训练,再使用SVR模型进行建模,得到残差序列的预测结果。
步骤5:将BP模型对未来的预测值和SVR预测的误差Rt*相加,最终得到组合模型的预测结果。
本文共选用两种不同的模型性能评价指标,包括MAE(平均绝对误差)、MSE(均方误差),其表达式如下:
其中:yt和
通过使用Python软件,调用Sklearn模型库中的BP神经网络模型进行训练,在不断调试后选择relu作为激活函数,训练精度为0.001。由于水产品冷链物流需求受10个因素的影响,因此输入层结点为10,输出层节点数为1,经调试,隐含层神经元为8个时,训练效果最佳。数据集一般按照7∶3的比例进行划分,本文选前15年的数据作为训练集,后5年作为是验证集。经过反复的训练模型,当训练次数达到100时,误差几乎下降到最小。将后5年的数据输入训练好的BP神经网络模型中,得到2017—2021年4年水产品需求量的预测值,从验证集的拟合曲线可以看到两者变化趋势一致,但预测值总是小于真实值,存在一定的滞后性。
同样还是使用Python软件,首先调用Sklearn模型库中的SVR预测模型,用SVR模型对重构的残差序列进行训练寻优,核函数为高斯径向基函数,确定SVR模型中的最优惩罚因子和容忍因子,图5为测试样本的误差变化曲线。
通过上述SVR模型对误差进行训练后,把误差值加到真实值进行残差修正,得到BP-SVR预测结果,图6是BP-SVR组合模型拟合图,可以看到通过SVR模型进行误差修正后[15],两者变化的趋势不仅保持一致,且预测结果更加接近真实值。
为了验证模型的有效性,将GM模型、BP和SVR模型作为对照组进行模型评价。其中GM模型使用SPSSPRO软件进行预测,从表4中4项指标中,在单一模型预测中,虽然GM的模型优于BP模型,但GM模型只能预测相关影响因素未来变化趋势,不能挖掘相关因素和需求量之间的规律。最终,通过实验证明,BP-SVR模型的4项误差评价指标均小于其他对照组的模型,其中平均绝对误差降低了0.56~0.61。这是因为在训练主体部分的残差时,针对这一非线性且无规律样本时,发现SVR模型的预测效果要优于其他模型,且BP神经网络模型能够把需求量的影响因素考虑进去,所以BP-SVR这一组合模型更适合水产品需求量的预测。
使用构建好的BP-SVR组合模型对湖北省未来5年水产品需求量进行预测,首先要预测其影响因素的数据作为输入变量。在这里采用两阶段预测,第一阶段先用GM模型对其影响因素进行趋势预测,第二阶段将前20年的历史数据放入训练好的BP-SVR模型进行预测,可得到未来5年的水产品需求量。结果如表5所示,可以看到在经济保持相对稳定的前提下,湖北省未来几年的水产品冷链需求量仍会继续增长,为了保持水产品冷链健康有序发展,需要加大当地冷库等基础设施的建设[15],进一步优化和整合冷链物流现有的资源,减少运输途中水产品的流通损耗,以实现物流行业降本增效的目标。
水产品冷链物流需求量预测是受外界多种因素影响的系统,对其需求量进行有效预测,不仅可以为相关企业、政府制定发展战略提供有效的数据依据,且对当地重大冷链物流设施枢纽和铁路冷藏运输进行合理的布局和统筹规划提供可靠性的数据。本文在BP神经网络模型基础上运用灰色关联度选取对需求量影响较大的因素作为输入变量,构建SVR模型对BP神经网络模型进行误差修正,根据误差性能指标结果可知,BP-SVR模型的精度均比单一模型精度高。因此BP-SVR组合模型可有效用于水产品的需求预测中,后续研究可以通过增加新的影响因素指标和别的模型对比来探究新方法。