基于XGBoost算法的水质CODmn预测模型研究
2021-05-28魏福平方朝阳宗宇
魏福平,方朝阳,2,宗宇
(1.江西师范大学地理与环境学院,南昌330022;2.鄱阳湖湿地与流域教育部重点实验室,南昌330022)
0 引言
水质是人们十分关注的一个领域,水质的好坏直接影响人们的生产生活。高锰酸盐指数(Permanganate Index,CODmn)是常用来反映饮用水、水源水和地表水受有机和无机可氧化物质污染的程度的一个指标[1]。传统化学方法虽然具有精度高稳定性好的优点,然而其操作复杂耗时、易产生二次污染的缺点也不容小觑[2]。采用紫外-可见光谱技术对水样的光谱进行测定,分析其光谱特征并结合相应数学关系可以快速便捷地获取CODmn的值[3]。
本文针对国标法检测水样的水质CODmn的各种问题,基于极限梯度提升(eXtreme Gradient Boosting,XGBoost)算法,采用实际水样的紫外-可见光谱数据,构建了预测水质CODmn值的XGBoost的模型。研究表明,XGBoost算法在水质CODmn值的预测中具有模型精度较高、拟合优度好的特点。
1 方法介绍与模型构建
1.1 紫外-可见光谱法
紫外-可见光谱法是通过分析水样对入射光谱的某些波段吸收形成的光谱特征,从而得到水样中物质的组分和浓度等信息的方法,如图1所示。波长在10nm~380nm区间内的为紫外光谱,而在这个区间内又可以细分为远紫外光谱(10~200nm)和近紫外光谱(200nm~380nm)。波长在380nm~780nm区间内的为可见光谱。
1.2 极限梯度提升(XGBoost)算法
2015年,美国华盛顿大学博士陈天奇等人首次提出XGBoost算法,该算法是在梯度提升树(Gradient Boosting Decision Tree,GBDT)算法的基础上进行工程上的优化。XGBoost在原理上与GBDT算法相同,只是在工程上把GBDT的速度和效率发挥得更极致(ex-treme)。XGBoost算法与GBDT算法的主要区别在于:GBDT中梯度下降利用的是一阶泰勒公式展开,而XG-Boost采用了二阶泰勒公式展开进行梯度下降;……
