Research on Civil Aviation Passenger Volume Forecasting Method Based on Machine Learning
In order to improve the accuracy of civil aviation passenger traffic prediction, this paper, based on the civil aviation passenger traffic data of recent 18 years, builds the ultimate gradient lift tree XGBoost prediction model, conducts multi-feature analysis, processes major factors such as seasons and holidays, and compares it with the SVR model. By comparing the prediction curves, it shows that SVR model can find the optimal hyperplane to fit the data in the high-dimensional space, and XGBoost model is suitable for complex nonlinear relationship modeling. The experimental results show that compared with SVR vector regression model, linear model and random forest model, XGBoost prediction model is more accurate and sensitive to influencing factors. XGBoost model has higher R 2and lower MSE, which can improve the forecast accuracy and stability of civil aviation passenger volume more effectively, and provide an important reference for the development of air transport production plan and air transport industry.
Machine Learning
航空运输作为当今全球化社会中不可或缺的重要组成部分,其运输效率和服务水平对社会经济发展有着重要的作用。航空公司需要可靠的工具对客运量进行预测,以便更好地调整航班计划、优化资源配置,满足旅客需求。
近年来,为了适应社会经济发展和科技进步的需求,通过预测和数据分析的方法来改进工作在各个领域发挥着重要作用
本文旨在利用XGBoost模型和SVR模型,结合时间序列分析方法,深入探讨民航客运量需求的预测方法,以期为相关行业的发展提供更为可靠和高效的预测方案,推动科技与社会经济的融合发展。
XGBoost (Extreme Gradient Boosting)即极度梯度提升树模型。XGBoost的目标函数由两部分组成,损失函数和正则项。
对于第t颗树,第i个样本的,模型的预测值:
(1)
其中, 是第t次迭代之后样本i的预测结果; 是第t棵树的模型预测结果; 是第 棵树的预测结果;
对于第i个样本,最终的预测值为:
(2)
最终得到原始目标函数:
(3)
其中,第一项是损失函数;第二项是正则项,代表全部t棵树的复杂度。这两项是两个维度的问题,一个是针对所有样本,一个是针对所有树。
SVR (Support Vector Regression)是一种支持向量机(SVM)的回归变体,它通过在线性函数两侧制造一个“间隔带”来处理回归问题。在SVR中,模型函数也为线性函数,形式为:
(4)
(5)
(6)
但与线性回归模型不同,SVR的目标是找到一个超平面,使得所有落在间隔带内的样本点的损失为零,而间隔带外的样本点的损失则计入总损失。
如
SVR在线性函数两侧制造了一个“间隔带”,间距为d (也叫容忍偏差,是一个由人工设定的经验值),对所有落入到间隔带内的样本不计算损失,当且仅当 与y之间的差距的绝对值大于 通过最大化间隔带的宽度与最小化总损失来优化模型。
SVR的最优结果为:
定义误差为loss,则SVR模型问题可表达为
此次时间序列民航客运量数据为二维样本 ,模型预测值为 ,误差为 ,SVR模型中允许最大误差d,当 时,开始计算误差,否则默认为准确预测值。
其中loss表达式为:
,
C为惩罚系数, 为损失函数。
选取了中国民航总局官网中2005年1月至2024年1月的民航客运量数据作为研究对象,部分数据见
月份 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
2018 |
2019 |
2020 |
2021 |
2022 |
2023 |
1 |
1500 |
1748 |
1941 |
2267 |
2567 |
2567 |
3058 |
3246 |
3736 |
4393 |
4647 |
4647 |
4401 |
3004 |
2942 |
3977 |
2 |
1502 |
1702 |
2025 |
2163 |
2349 |
2787 |
3109 |
3493 |
3898 |
4279 |
4843 |
5341 |
729 |
2386 |
3121 |
4320 |
3 |
1581 |
1800 |
2173 |
2282 |
2503 |
2878 |
3025 |
3670 |
3894 |
4431 |
5140 |
5341 |
1664 |
4768 |
1527 |
4569 |
4 |
1659 |
1883 |
2157 |
2437 |
2605 |
2849 |
3142 |
3579 |
4000 |
4402 |
5074 |
5341 |
2573 |
5091 |
1197 |
5000 |
5 |
1536 |
2264 |
2600 |
2758 |
3071 |
3476 |
3730 |
4165 |
4642 |
5046 |
5657 |
5930 |
4598 |
2227 |
2189 |
5170 |
6 |
1417 |
1771 |
2185 |
2325 |
2530 |
2865 |
3061 |
3404 |
3800 |
4374 |
4938 |
5341 |
3060 |
4116 |
2189 |
5312 |
7 |
1718 |
2103 |
2547 |
2660 |
2995 |
3266 |
3580 |
3915 |
4353 |
4860 |
5378 |
5930 |
3894 |
4899 |
3385 |
6243 |
8 |
1596 |
2264 |
2660 |
2758 |
3071 |
3476 |
3730 |
4165 |
4642 |
5046 |
5657 |
5930 |
4598 |
2227 |
3213 |
6396 |
9 |
1641 |
1931 |
2260 |
2501 |
2744 |
3049 |
3315 |
3672 |
4169 |
4655 |
5029 |
5930 |
4775 |
3599 |
1989 |
5349 |
10 |
1834 |
2171 |
2448 |
2638 |
2829 |
3165 |
3488 |
3855 |
4374 |
4883 |
5408 |
5930 |
5014 |
3875 |
1572 |
5605 |
11 |
1700 |
1958 |
2078 |
2371 |
2584 |
2851 |
3240 |
3498 |
3971 |
4646 |
5006 |
5930 |
4425 |
2142 |
1234 |
4899 |
12 |
1567 |
1875 |
2103 |
2300 |
2563 |
2793 |
3193 |
3500 |
4041 |
4666 |
5018 |
5930 |
4216 |
2698 |
1841 |
5059 |
1) 对时间序列数据进行预处理,根据模型的特征重要性进行特征选择;
2) 计算趋势特征(斜率、差分等),捕捉时间序列数据中的趋势信息;
3) 将数据时间戳分解为年、月时间特征;
4) 创建滞后特征,将过去部分时间点的观测值作为特征输入到模型中;
5) 使用移动平均和移动总和特征来平滑数据并捕捉趋势;
6) 对时间序列数据进行滑动窗口交叉验证,确保模型对未来数据的泛化能力;
7) 通过交叉验证调整超参数,提升模型性能和泛化能力。
由
观察
观察
观察
观察
在
由
C参数控制了正则化的强度,它的值越大,正则化效果越弱。选择合适的C可以避免模型过拟合或欠拟合,这里通过交叉验证来调整C的值,从
Gamma参数是RBF核函数的一个参数,它控制了数据点的影响范围。较小gamma值表示影响范围较大,较大的gamma值表示影响范围较小,这里通过交叉验证来调整,从
选取SVR模型对预处理的民航客运量数据进行部分月份的预测分析。从
为了验证模型的有效性,将构建的XGBoost模型与SVR模型的实验预测结果进行对比。虽然它们很有用,而且被广泛用于比较同一数据集上的不同方法,但在这里,表达相对于我们试图预测的时间序列的大小的误差会更有用。为了更加清楚直观地对比,对两个模型进行均方根误差RMSE、平均绝对百分比误差MAPE和平均绝对误差MAE的对比分析。各指标数据对比见
(7)
RMSE均方根误差,范围 ,当预测值与真实值的差值越接近0,表示模型越完美;误差越大,该值越大。
(8)
MAPE平均绝对百分比误差,范围 ,MAPE的值越接近0%表示模型越完美,MAPE大于100%则表示劣质模型。
(9)
MAE平均绝对误差,是绝对误差的平均值,平均绝对误差能更好地反映预测值误差的实际情况。范围 ,当预测值与真实值完全吻合时等于0,即完美模型;误差越大,该值越大。
预测模型 |
RMSE |
MAE |
MAPE(%) |
XGBoost模型 |
0.97 |
0.89 |
8.36% |
SVR模型 |
0.99 |
0.97 |
8.74% |
随机森林模型 |
1.06 |
1.39 |
11.73% |
线性回归模型 |
1.36 |
1.49 |
25.74% |
本文主要使用XGBoost模型描述时间序列数据的变化,SVR模型模拟数据的非线性规律,可以很好的处理非线性问题和不确定性问题。
机器学习技术在时间序列预测方面取得了较大的发展与成功应用。选取民航客运量时间序列数据,对其进行分析和处理后,构建XGBoost模型,SVR模型,提取时间序列特征对民航航线的客运量进行预测。与其他模型相比,XGBoost模型和SVR模型具有运算速度快、精度高、泛化能力强等优点。民航客运量预测工作数据量大,分布规律呈现非线性函数关系,因此采用XGBoost模型和SVR模型解决该问题。将决策树模型与向量回归模型进行对比分析,试图找出更符合实际情况的模型。通过对基于时间序列民航客运量的预测,对比两类方法,得出结论:相较于SVR模型,XGBoost模型均能表现出更加优秀的预测精度,XGBoost模型在学习与预测时间序列能力方面更为优秀,实验数据的预测效果更好。
学生科技基金(XSB2024-009) + 青年基金项目(QJ2023-037)。
*通讯作者。