1. 引言
近些年来随着“发展一带一路”和“推进铁水联运”等政策的积极推进,促进铁路运输已成为了我国实现经济增长和构建绿色物流系统的重要措施。为了实现这一目标,需要有合理的资源分配和高效的运营方式。在此背景下,对铁路货运量进行科学预测,有助于优化资源配置,为铁路部门提供运营建议,从而确保运输网络的顺畅与高效,具有重要的现实意义。
国内外,已有不少学者开展了对于货运量预测的相关研究。程肇兰等人基于广铁2010~2017年的货运量数据,构建了LSTM模型,与ARIMA模型和BP模型的预测结果做比较,结果表明LSTM网络预测精度更优[1]。康家明建立了GM(1,1)-LSTM模型对东莞市2023~2030年的公路货运量做出了预测,首先通过构建灰色GM(1,1)模型作出预测,再将灰色GM(1,1)预测的残差值作为LSTM的输入,进行残差修正[2]。龙宇等人综合考虑了铁路货运量同时具有线性和非线性的特征,提出了ARIMA-LSTM-XGBoost组合预测模型,首先通过ARIMA对铁路货运量作出初步预测,再利用LSTM模型对预测残差值进行修正,采用误差倒数法确定前者和XGBoost的权重进行组合预测[3]。陈鹏芳等人选取了陕西省2001~2019年的铁路货运量和18个相关的指标数据作为模型的样本,利用PCA方法提取样本数据的主成分作为模型的输入,构建了基于鲸鱼算法优化参数的LSSVM模型,相比传统的LSSVM模型和WOA-LSSVM模型预测效果更好[4]。谭雪等人分别构建了单步预测和多步预测的GRU神经网络,并在某铁路局2011~2017年的货运量上进行实验,实验表明单步预测的GRU模型比SVM、BP以及LSTM等模型的表现更好[5]。徐玉萍等人构建了LSTM模型和引入注意力机制的LSTM模型,分别与乘积季节模型进行组合预测,实验表明两种组合预测模型的效果均优于单一预测模型,其中乘积季节模型与引入注意力机制的LSTM模型的组合预测模型精度最高[6]。Fan Yang等人基于西安2008~2013年的货运量数据构建了结合马尔科夫链过程的灰色GM(1,1)模型[7]。
鉴于单个预测模型在准确捕捉货运量时间序列数据的复杂特征方面具有局限性,本文基于GM(1,1)预测模型和SVM预测模型,创新性提出了一种基于平均绝对百分比误差倒数的组合预测模型GM(1,1)-NGO-SVM。选择浙江省1982年至2017年的铁路货运量数据作为训练集,构建并训练GM(1,1)模型和SVM模型,同时为了提升SVM模型的性能,引入北方苍鹰算法(NGO)对SVM模型的超参数进行寻优,根据两个单一预测模型在训练集上的误差,采用误差倒数加权求和法,得到组合预测模型。为了证明该组合预测模型的有效性,对浙江省2018年至2022年的铁路货运量进行预测,与SVM模型、GM(1,1)模型和NGO-SVM模型作比较,证明所提出的组合预测方法的有效性。
2. 研究方法
2.1. 灰色预测模型GM(1,1)
灰色预测模型GM(1,1)是一种基于灰色系统理论的预测模型,其通过构建灰色微分方程来描述数据序列的变化规律,并利用少量数据样本就可以进行参数估计和预测。
根据浙江省历年的铁路货运数据,按年份的由先到后的顺序构建原始序列
。GM(1,1)模型通常要求数据序列具有指数增长或衰减的趋势,因此需要对原始序列进行级比检验。计算序列级比的过程如公式(1)所示,如果所有
均在
之间,则可以直接将序列
作为模型的输入,否则需取合适的常数c对序列
进行平移操作。
(1)
原始序列存在着波动性和随机性,为了尽量减少对预测结果的影响,对其进行一次累加,获得累加序列
,具体过程如下所示:
(2)
根据累加序列
,构建一阶常微分方程。
(3)
其中,a是GM (1,1)模型的发展灰度,u是GM(1,1)模型的内生控制灰度。由于序列数据为离散数据,所以
。则公式(3)变为:
(4)
为了消除数据的随机性影响,对序列
中紧邻两个时刻的数值取均值,生成均值序列
。
(5)
(6)
用均值序列
表示微分方程中的
,得到公式:
(7)
利用最小二乘法,求得参数的估计值。
(8)
其中,
。
将求得参数的估计值代入一阶常微分方程
,并求解得:
(9)
通过累减还原,可得到预测值
:
(10)
2.2. 北方苍鹰算法(NGO)
北方苍鹰优化算法是MOHAMMAD DEHGHANI等人在2022年提出的一种启发式算法,其灵感来自于北方苍鹰捕捉猎物的过程,主要包括两个阶段分别是:猎物搜索与识别和追击与逃亡[8]。
猎物搜索与识别阶段:
北方苍鹰在该阶段会任意选择一只猎物并进行攻击。该过程数学建模如公式(11)~(13)所示:
(11)
(12)
(13)
式中,
是第i只北方苍鹰的猎物所在位置,
是第i只北方苍鹰在第j维度上的猎物的位置,
是第i只北方苍鹰在第j维度上经过猎物搜索与识别环节后更新的位置;r是范围在[0, 1]内的随机数;I取值为1或2;
是第i只北方苍鹰的猎物的位置所对应的目标函数值;
是第i只北方苍鹰经过P1阶段所在新位置对应的目标函数值;P1表示北方苍鹰算法的第一阶段猎物搜索与识别。其中r和I都是更新北方苍鹰位置的随机数,增加了北方苍鹰算法在全局空间寻找最优解上的勘探能力。
追击与逃亡阶段:
当猎物面对北方苍鹰的攻击时,会做出逃跑的反应。在追击的过程中,北方苍鹰的飞行速度很快,几乎可以完美追击到猎物,这大大提升了北方苍鹰算法的局部搜索能力。假设北方苍鹰追捕猎物的范围是接近于一个半径为R的捕猎位置。该过程数学建模如下:
(14)
(15)
(16)
其中,
代表的是第i只北方苍鹰在第j维度上经过追击与逃亡阶段后更新的位置;P2表示北方苍鹰算法的第二阶段追击与逃亡阶段;t代表当前迭代次数;T代表最大迭代次数;
代表第i只北方苍鹰经过P2阶段的新位置;
是第i只北方苍鹰经过P2阶段的新位置对应的函数值。
2.3. 支持向量机算法(SVM)
支持向量机(SVM)是一种以监督学习的形式对数据集进行二元分类的广义线性分类器,因为其泛化能力强即对未知样本的预测精确度较高,通过引入核函数可以将低维空间的线性不可分的数据映射到高维空间变得线性可分,以及避免局部最优解的特点,近些年来已经被广泛应用在各类时间序列预测问题上。
假设训练样本集
其中
和
分别代表了输入向量和输出向量。将训练样本集通过非线性映射函数
映射到高维空间,在高维空间进行线性回归,其线性回归函数如下:
(17)
式中,
为权重向量的转置向量,b为偏置。为了寻找最优的w和b值,需要降低模型计算的复杂度,因此引入松弛变量
,从而得到优化问题及其约束条件为:
(18)
式中,C为惩罚参数。为了对该凸二次规划问题求解,引入拉格朗日乘子和核函数,得到新的函数为:
(19)
常用的核函数有线性核函数、多项式核函数、Sigmoid核函数以及高斯核函数,本文选取高斯核函数作为SVM的核函数:
(20)
其中,
,是高斯核函数的核参数,控制了其宽度,
是高斯核函数的中心。
2.4. NGO-SVM模型
SVM的惩罚因子和核函数参数选择对模型预测性能的影响很大,它们直接关联到预测模型的复杂度和泛化能力。为了优化这些关键超参数,并提高SVM模型的预测性能,本文创新引入NGO算法,该算法兼具全局寻优和局部寻优的特点,能够自动且高效地搜寻到最优参数组合,进而构建NGO-SVM模型。
NGO-SVM算法的参数优化步骤为:
步骤一:初始化北方苍鹰算法的相关参数,包括种群个数设置为10,最大迭代次数设置为50次,针对SVM超参数(惩罚因子和核函数参数)的搜索范围,设定为合理的上下界区间[0.01, 1000],以确保搜索空间覆盖广泛。
步骤二:随机生成初始北方苍鹰种群,每只苍鹰代表一组SVM超参数(惩罚因子和和函数参数)的候选解。选择浙江省1982年至2017年的铁路货运量作为训练集,通过计算每组超参数下SVM模型的均方根误差作为适应度函数,评估各候选解的适应度。确定初始种群中最优适应度的个体及其对应的候选解,作为搜索起点。
步骤三:在猎物搜索阶段,随机选择猎物的位置,根据公式(11)~(13)计算北方苍鹰个体的新位置,若新位置的适应度更优,则更新该北方苍鹰的位置。在追击与逃亡阶段,根据公式(14)~(16)进一步调整北方苍鹰的位置。同样,若新位置的适应度更优,对应的均方根误差越小,则对位置进行更新。在每轮迭代中,持续追踪并记录种群中的最优适应度及其对应的参数组合。
步骤四:当迭代次数达到预设值时,停止迭代过程。输出当前种群中的最优适应度值及其对应的最佳参数组合,这些参数用来构建SVM预测模型。
通过引入NGO算法,避免了人为选择SVM模型参数的盲目性,显著提高了参数优化的效率,为构建高预测精度的SVM模型打下了扎实的基础。
2.5. GM(1,1)-NGO-SVM模型
为了提升铁路货运量预测的精准度,本文创新性地结合了GM(1,1)模型与NGO-SVM模型,提出了GM(1,1)-NGO-SVM模型,以充分利用二者捕捉序列线性与非线性的特征。这一组合预测策略旨在通过融合两种模型的预测效果,达到比单一预测模型更精确的结果。
在确定GM(1,1)模型与NGO-SVM模型的权重时,采用平均绝对百分比误差作为评估指标,旨在根据模型预测性能的优劣动态调整其权重,具体计算公式如下所示:
(21)
式中,i与j分别代表了GM(1,1)模型与NGO-SVM模型,n代表了预测模型的总数,Mape代表了预测模型的平均绝对百分比误差。Mape值越小的模型,其预测精度越高,应该赋予更大的权重,并通过归一化处理,确保所有模型的权重之和为1。最终预测值:
(22)
式中,
为组合预测模型预测值,
为第i模型的预测值。
3. 建模和实验
3.1. 数据来源和评估指标
本研究所使用的数据来自浙江省统计年鉴2023版中1982年到2022年的铁路货运量数据。对数据集进行划分,选取浙江省1982年至2017年的铁路货运量年度数据作为训练样本分别训练GM(1,1)模型,NGO-SVM模型和GM(1,1)-NGO-SVM模型。模型训练完后,利用三种模型分别预测2018年至2022年的铁路货运量,选取均方根误差、平均绝对误差以及平均绝对百分比误差作为误差评估指标。
3.2. 灰色预测模型GM(1,1)建模分析
将浙江省1982年至2017年的铁路货运量序列进行级比检验,发现原始序列未通过级比检验,需要对原始序列进行平移。平移后序列值及级比值如下表1所示。
经过平移后,序列值的所有级比值都在(0.947, 1.056)的范围内,通过级比检验,该序列适合构建灰色预测模型。通过最小二乘法得到发展灰度a的值为−0.007,内生控制灰度u的值为9574.,代入一阶常微方程,得到GM(1,1)模型的预测结果如图1所示。
Table 1. Level ratio test
表1. 级比检验
年份 |
原始值 |
平移后序列值 |
平移后级比值 |
1982 |
1609 |
9941 |
- |
1983 |
1681 |
10013 |
0.993 |
1984 |
1736 |
10068 |
0.995 |
1985 |
1781 |
10113 |
0.996 |
…… |
…… |
…… |
…… |
2016 |
3332 |
11664 |
1.000 |
2017 |
3513 |
11845 |
0.984 |
Figure 1. The prediction results of the GM(1,1) model
图1. GM(1,1)模型预测结果
在训练集上,GM(1,1)模型的平均相对误差率为0.12小于0.2,拟合效果良好。后验差比值0.1985小于0.35,证明该模型精度等级高。因此,该模型可用于浙江省铁路货运量预测。利用该模型对未来5年的货运量做出预测并与真实的2018~2022年货运量数据进行对比分析,结果表2所示。该模型在测试集上,均方根误差为204.23,平均绝对误差为160.6,平均绝对百分比误差为4.08%。
Table 2. Actual freight volume (2018~2022) versus predicted values using GM (1,1) model
表2. 2018年至2022年真实货运值VS GM(1,1)预测值
年份 |
真实值 |
预测值 |
残差值 |
2018 |
3728 |
3931 |
−203 |
2019 |
3936 |
4014 |
−78 |
2020 |
4083 |
4098 |
−15 |
2021 |
4471 |
4182 |
289 |
2022 |
4602 |
4267 |
335 |
3.3. NGO-SVM模型建模分析
对原始序列进行滑动窗口处理,窗口大小设置为3,步长为1,每次使用三个历史数据点预测一个未来值,窗口每次只向前移动一个时间步长,共划分出38个时间窗口。为了找到最优的SVM参数组合,利用NGO算法对SVM的参数进行寻优,当算法迭代到第七次时,所寻参数对应的适应度收敛至最小,即惩罚因子C = 126.61,核函数参数g = 0.011。NGO-SVM模型在训练集上的表现如图2所示。训练集上均方根误差为181.75,平均绝对误差为139.73,平均绝对百分比误差为5.3%。测试集上的表现如图3所示。测试集上均方根误差为216.31,平均绝对误差为193.84,平均绝对百分比误差为4.59%。2018~2022年浙江省铁路货运量预测值与真实值对比,见表3所示。
Figure 2. Prediction results of NGO-SVM on the training set
图2. NGO-SVM模型训练集预测结果
Figure 3. The prediction results of the NGO-SVM model
图3. NGO-SVM模型预测结果
Table 3. Actual freight volume (2018~2022) versus predicted values using NGO-SVM model
表3. 2018年至2022年真实货运值VS NGO-SVM预测值
年份 |
真实值 |
预测值 |
残差值 |
2018 |
3728 |
3573 |
155 |
2019 |
3936 |
3781 |
155 |
2020 |
4083 |
3967 |
116 |
2021 |
4471 |
4088 |
383 |
2022 |
4602 |
4438 |
164 |
3.4. GM(1,1)-NGO-SVM模型建模分析
根据GM(1,1)和NGO-SVM模型在测试集上的平均绝对百分比误差,利用公式(21)确定各模型的权重。得到GM(1,1)模型的权重是53%,NGO-SVM模型的权重是47%。利用公式(22)构建GM(1,1)-NGO-SVM组合预测模型。GM(1,1)-NGO-SVM组合预测模型对2018~2022年的铁路货运量预测,均方根误差为190.8,平均绝对误差为140.6,平均绝对百分比误差为3.19%。预测结果如表4所示。
Table 4. Actual freight volume (2018~2022) versus predicted values using GM(1,1)-NGO-SVM model
表4. 2018年至2022年真实货运值VS GM(1,1)-NGO-SVM预测值
年份 |
真实值 |
预测值 |
残差值 |
2018 |
3728 |
3763 |
−35 |
2019 |
3936 |
3904 |
32 |
2020 |
4083 |
4036 |
47 |
2021 |
4471 |
4137 |
383 |
2022 |
4602 |
4347 |
255 |
3.5. 各模型分析
为了验证GM(1,1)-NGO-SVM组合预测模型的精度,分别构建SVM模型、NGO-SVM模型和GM(1,1)模型,选择均方根误差、平均绝对误差和平均绝对百分比误差为误差评估指标,结果如表5所示。可以发现,GM(1,1)-NGO-SVM组合预测模型的各项误差指标均最小。
Table 5. The prediction errors of individual models
表5. 各模型预测误差
模型 |
均方根误差 |
平均绝对误差 |
平均绝对百分比误差 |
GM(1,1) |
204.23 |
160.6 |
4.08% |
NGO-SVM |
216.31 |
193.84 |
4.59% |
GM(1,1)-NGO-SVM |
190.8 |
140.6 |
3.19% |
SVM |
551.56 |
453.37 |
10.37% |
4. 总结与分析
为了提高对浙江省未来铁路货运量的预测准确性,本文创新性提出了一种基于GM(1,1)-NGO-SVM的组合预测模型,选择1982至2017的铁路货运量作为训练集,2018年至2022年的铁路货运量作为测试集。通过实验和对比,本文提出的GM(1,1)-NGO-SVM在各项误差评估指标上均表现出色,相较于传统的单一预测方法,降低了预测误差,提高了预测精度。该组合预测模型可以为浙江省铁路部门提供科学、可靠的运营决策建议。