基于XGBoost农业经济产业结构分析
——以广东省中山市为例
2023-11-17李浩林李萌萌张小花张文峰梁凯豪李树良
李浩林,李萌萌,张小花,张文峰,梁凯豪,李树良
(1.仲恺农业工程学院机电工程学院,广东广州 510225;2.仲恺农业工程学院经贸学院,广东广州 510225;3.仲恺农业工程学院自动化学院,广东广州 510225;4.仲恺农业工程学院数学与数据科学学院,广东广州 510225)
中山市位于广东省中南部,地处粤港澳大湾区核心腹地[1]。中山市作为广东省的农业大市,农业生产位于全省前列,是广东省农业经济的重要组成部分[2]。据中山市统计局数据,2022年上半年农业经济发展态势良好,农林牧渔业总产值328 014万元,同比增长13.7%。探究农业经济产业结构对中山市农业经济增长的影响,不仅对中山市构建农业经济发展新格局具有重要影响,同时以中山市作为研究对象所得到的结论与对策也能够促进广东省农业经济快速发展。
在农业经济影响因素研究方面,专家学者们运用了许多不同的方法[3-4]。侯石安等[5]运用向量自回归(VAR)模型对贵州农业经济增长影响进行分析,结果表明现代物流投入、财政支农支出和农村固定资产投资对贵州省农业经济增长均有正向影响。张亦驰等[6]用个体和时间双向固定效应模型对农业经济增长的影响进行研究,得出农村水利、信息、卫生环境和滞后2期时的交通运输基础设施对农业经济增长有显著的正效应。宋淑丽等[7]运用多元回归模型对1990—2015年黑龙江省农业经济增长进行分析。研究发现:农业机械化、土地的规模经营、农村劳动力素质以及国家财政支农政策等对农业经济增长仍具有较明显的正向拉动作用。目前学者们大多运用计量经济模型研究农业经济问题,偏重于分析影响农业经济的影响因素之间关系和模型参数的估计[8-10],最近的相关研究开始探索将机器学习应用到农业经济问题分析中。袁玉萍等[11]把经济预警问题转化成机器学习问题,建立了基于支持向量顺序回归经济预警模型,对黑龙江省经济数据进行分析,结果表明该模型用于预警具有很高的精度。蒋锋等[12]对近年来机器学习方法在经济研究中的应用进行回顾,发现在处理非平稳和非线性时间序列时,机器学习模型的表现和预测性能均优于传统统计模型。于晓华等[13]指出机器学习具有庞大的数据收集和储存能力、强大的学习分析能力以及更智能化的语言分析能力等优点,因此将机器学习和传统的农业经济分析方法相结合,能够更精准、更科学地分析农业经济问题[14-15]。
极端梯度提升(extreme gradient boosting,XGBoost)是梯度提升(gradient boosting)的实现,近年来,XGBoost在空气质量预警、风险预警、需求量预测、电力负荷预测、影响因素研究等问题上取得了良好的效果。高晓辉等[16]运用EMD、AMI、XGBoost、ELM对南京市空气质量数据进行处理和预测,结果表明该预测方法具有更高的精度和更强的稳定性。王言等[17]运用XGBoost算法构建风险预警模型对国有企业并购的风险进行计量、监测、预警和管理,证明了基于XGBoost算法的预测结果在所有模型中表现最优,具有可靠性和适用性。唐贤伦等[18]提出一种基于XGBoost和时间卷积网络的短期电力负荷预测方法,结果表明,相比于SVR、LSTM等模型,该预测方法能取得更好的预测效果,更高的预测精度。朱月月等[19]利用XGBoost算法建立城市商业信用环境指数与社会经济指标的回归模型,分析研究我国信用环境的区域差异及影响因素。以上这些基于XGBoost模型的研究都获得了理想的结果,因此,采用XGBoost模型构建中山市农业经济影响因素分析模型具有良好的适用性与可行性。
该研究将使用XGBoost算法构建的模型结果与其他4种模型——增强学习(Adaboost)、支持向量机(SVR)、随机森林(RF)以及K最邻近算法(KNN)作对比实验,通过比较这5种模型的性能,考察基于XGBoost模型对中山市农业经济影响因素的分析效果。
1 材料与方法
选取广东省中山市1980—2020年的农业各产业产值数据以及总产值数据作为数据集[20],包含种植业、林业、畜牧业以及渔业4个板块。首先计算出农业各产业增长率,分析中山市各产业对农业经济总产值贡献率的大小和变化,以及产业调整的经济效益,然后构建XGBoost回归分析模型,将各产业的历年产值数据作为模型的输入自变量,农业总产值作为模型因变量,利用XGBoost模型对农业各产业结构产值变化对中山市农业经济总产值进行回归分析,最后得出中山市历年农业产业结构产值变化对经济影响的分析结果。为了对比出XGBoost模型在本次数据集表现性能的好坏,该研究选取增强学习(Adaboost)、支持向量机(SVR)、随机森林(RF)以及K最邻近算法(KNN)作为对比模型,在相同的数据集下进行训练,以R2、均方根误差(RMSE)和平均泊松偏差回归损失(Mean Poisson Deviation Regression Loss)作为评价指标区分各模型性能好坏。
(1)
其中正则化惩罚项定义树的复杂度,其表达式由2部分构成:
(2)
正则化项通过指定惩罚项来控制叶子节点过多的模型陷入过度拟合,其中γ为惩罚力度,λ为参数,T表示叶子节点的个数,节点数越多惩罚力度越大,Wj为节点j的数值,目的控制拟合偏差,以控制学习任务的灵活性,使得能够更好推广到回归模型中。
生成t棵树后,上棵树和其预测残差的和组成新生成的树,预测可以写成:
(3)
(4)
把常数项移除之后,目标函数变为:
(5)
定义公式:
Gj=∑i∈Igi,Hj=∑i∈Ihi
(6)
并且对Wj求偏导,可以得到:
(7)
把Wj代入目标函数,得到:
(8)
2 实证分析
2.1 历年各产业产值与增长率情况据中山市统计局统计,在1980—2020年,广东省中山市农业各产业的产值结构的比例出现一定的调整与变化,如图1所示,其中种植业与渔业总体呈上升趋势,最高产值均超过30亿万元;林业产业在1985—1995年呈上升趋势,但从20世纪90年代末至今林业产值增长为负增长,产值最高为6 708万元;畜牧业在1980—2010年呈正增长趋势,2010—2020年呈逐年下滑趋势。由此可见中山市近5年来林业与畜牧业的占经济总比呈下滑,渔业比重增加,种植业产值大体增长。
如表1所示,1980—2020年中山市农业各部分产业增长率逐年变化起伏较大,各产业的变化差异也很大,林业与畜牧业在中山市农业总体经济产值比重降低,且林业产业产值近20年增长持续低迷,负增长居多,两者平均增幅为0.46%和2.16%;渔业产业产值逐年平均增幅为9.69%,中间出现4次负增长,但是总体为正;种植业增长幅度较为平稳,平均增幅为3.45%。综上,中山市农业总产值总体呈正增长趋势。
表1 中山市各农业产业产值增长率
2.2 流程分析建模过程分为3个步骤:
(1)数据处理,首先在中山市统计局官网下载2021年中山市年鉴,对农业板块数据进行预处理,减少错误数据对模型的干扰。由于此次数据集的大小为的矩阵,为了保证训练集充分训练,不划分测试集与验证集。
(2)构建XGBoost回归模型,首先利用网格搜索对XGBoost模型的学习率、树深度、树的评估器数量、最小叶子权重等参数进行优化,获得最优参数XGBoost回归模型,然后利用二次最优化方法,对每次迭代的决策树进行参数分配与优化,对效果最优的模型进行保留。
该研究模型利用XGBoost对中山市各农业产业历年数据进行预测和分析,包含一些必要的参数调整,如树深度、学习率、树棵数以及最小叶子权重,不同的参数组合会对预测结果产生很大影响。该研究通过穷举法在所有候选参数中遍历循环,如表2所示。
表2 XGBoost模型参数取值范围Table 2 Value range of XGBoost model parameters
通过网格搜索对比每一种组合的性能得出最佳参数如表3所示。
表3 最优XGBoost参数Table 3 Optimal XGBoost parameters
(3)评价分析,通过均方根误差(Root mean square error)、R2、平均泊松偏差回归损失(Mean Poisson Deviation Regression Loss)等评价指标对XGBoost回归模型进行性能评价,并且与其他回归模型进行对比分析,计算公式如下:
(9)
(10)
(11)
2.3 试验环境处理器:AMD R5 3500U,基频2.1GHz、内存8G。操作系统:Ubuntu20.04LTS、程序设计语言Python3.8。算法集成开发环境:Scikit-learn + XGBoost +NumPy,参数调整使用Scikit-learn提供的网格搜素工具箱实现。
2.4 模型验证与对比分析
2.4.1XGBoost模型结果分析。采用集成学习XGBoost模型的特征相关重要性分析,提取对中山市各农业产业产值相关性参数得分,根据相关性参数得分分析出对中山市农业经济影响最深的产业,并且利用XGBoost模型回归曲线对中山市历年农业经济总产值进行回归分析。中山市历年农业经济总产值和XGBoost模型拟合曲线如图2所示。由图2可知,XGBoost模型对历年中山市农业经济产值数据拟合效果较好,曲线连接基本囊括所有数据点。
图2 1980—2020年中山市农业经济总产量XGBoost拟合曲线Fig.2 XGBoost fitting curve of the total agricultural economic output of Zhongshan City during 1980-2020
由XGBoost模型算出1980—2020年中山市各农业产业相关性总参数占比得分如图3所示,渔业产业得分为 0.598 4,种植业得分为0.354 9,林业得分为0.005 1,畜牧业得分为0.041 6。渔业得分最高,其次为种植业,畜牧和林业得分最低。由此可见,中山市农业经济支柱产业为渔业和种植业,尤其渔业占比最多。
图3 中山市各农业产业XGboost模型相关性参数得分Fig.3 XGboost model correlation parameter score of various agricultural industries in Zhongshan City
2.4.2不同算法模型的比较分析。为了验证基于XGBoost的中山市历年各农业产业产值回归预测性能,分别选取了K值最邻近算法(KNN)、支持向量机回归(SVR)、随机森林(RF)、增强学习(AdaBoost)方法对中山市历年各农业产业产值进行回归拟合,以及对上述算法模型的评价指标做出分析,包括均方根误差(Root mean square error)、R2、平均泊松偏差回归损失(Mean Poisson Deviation Regression Loss)等评价指标。
由图4可见,在经济总产量图的低处与高处的点较为离散,K值最邻近算法(KNN)、随机森林(RF)以及支持向量机回归(SVR)无法对离散较大的点进行比较好的拟合,可见集成学习进行回归预测拟合效果较好。增强学习(Adaboost)能大体对数据点进行拟合,但在细节点上未完全拟合,效果略差于XGBoost。
图4 1980—2020年中山市农业经济总产量各模型拟合曲线对比Fig.4 Comparison of fitting curves of each model of the total agricultural economic output of Zhongshan City during 1980-2020
5种模型评价指标如表4所示,5种模型的R2相差无几,均在0.99以上,表示5种算法都能对中山市历年各产业产值数据进行大体的拟合。但不同模型在RMSE与MPDRL表现差别巨大,XGBoost在所有模型中RMSE与MPDRL的值最小,分别是0.715 5与6.499 1×10-6,XGBoost的RMSE比KNN下降了25 467.081 6,比SVR下降了9 220.604 9,比RF下降了12 298.729 3,比AdaBoost下降了11 057.144 6。综上所述,XGBoost回归效果最好,RMSE与MDPRL均低于其他模型,其次是SVR模型和AdaBoost模型,KNN与RF在评价指标上表现较差。由此可见,XGBoost在此数据集上表现均高于其余模型,拥有较高的精准度,可为中山市各农业产业提供很好的回归拟合分析。
表4 各算法评价指标Table 4 Evaluation indicators of each algorithm
3 讨论
(1)该研究构建了基于XGBoost的回归模型,对1980—2020年中山市各农业产业产值预测以及特征相关性分析;采用网格搜素法来确定基于XGBoost模型的参数,可以使评价指标达到最优,提升了模型的鲁棒性,避免模型欠拟合,大幅度提高模型对数据拟合程度。整体而言,该研究构建的XGBoost模型相比SVR、KNN、RF以及AdaBoost等模型有较好的效果,具有预测性和拟合性好、泛化能力强等优点。
(2)从XGBoost模型特征相关性分析和数据分布特点得出各产业增长率以及对经济总产值的贡献占比情况如下:种植业、渔业增长率逐年大体上升,种植业在2017—2019年出现产值下滑,渔业保持逐年稳步上升;在2010年以前畜牧业有缓慢的增长趋势,在此之后产值逐渐下降,下降幅度较大;从2000年初开始林业产值增长为负,最高产值不超过6 000万元,此后产值基本保持在1 000万元左右不变。从历年来农业各产业产值对中山市农业总经济产值进行回归分析得出渔业对中山市农业总经济贡献占比最多,其次为种植业,最后是林业与畜牧业,占比分别是59.8%、35.5%、4.2%、0.5%。最后,通过模型回归拟合分析得出中山市各农业产业对整体农业经济呈正增长。
(3)农林经济产值的增长得益于渔业生产,因此保障渔业生产良好发展尤为重要。种植业发展劲头足,经济作物种植面积大幅增长。为持续增强农业农村经济活力,保持渔业和种植业的长远稳定增长是中山市农业高质量发展的关键因素。在促进渔业与种植业稳定增长的同时,中山市需要提高对林业与畜牧业的关注度。林业经济发展潜力巨大,应当坚持把森林资源保护和发展作为林业工作的主题,大力发展林业经济。面对畜牧业产能恢复缓慢,畜牧业生产回稳备受挑战的局面,政府需要扶持和引导建设畜禽养殖示范基地和种畜禽场,形成可持续农牧循环生态。发展特色畜牧业,强化品牌建设与带动,突出提质增效,积极建设特色畜牧产品优势产区。在稳增长的前提下补短板,优化农业产业结构,多措并举保障中山市农业经济保持良好发展态势。