基于随机漂移粒子群优化的随机森林预测模型及水文应用实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于随机漂移粒子群优化的随机森林预测模型及水文应用实例崔东文;郭荣
【摘要】提出一种基于随机漂移粒子群(RDPSO)算法优化的随机森林(RF)预测方法,利用RDPSO算法优化RF决策树数量和分裂属性个数两个关键参数,构建RDPSO-RF预测模型,并与基于RDPSO算法优化的支持向量机(SVM)、BP神经网络预测模型作对比,以某水文站枯水期1~3月月径流预测为例,利用实例前43年和后10年资料对3种模型进行训练和预测.结果表明,RDPSO-RF模型对实例1~3月月径流训练、预测的平均相对误差绝对值分别为4.28%、3.88%、5.67%和3.74%、4.57%、4.88%,训练、预测精度均优于RDPSO-SVM、RDPSO-BP模型,具较好的预测精度和泛化能力,可为相关预测研究提供参考和借鉴.
【期刊名称】《三峡大学学报(自然科学版)》
【年(卷),期】2019(041)002
【总页数】5页(P6-10)
【关键词】径流预测;随机漂移粒子群算法;随机森林;参数优化
【作者】崔东文;郭荣
【作者单位】云南省文山州水务局,云南文山663000;云南省文山州文山市水务局,云南文山663000
【正文语种】中文
【中图分类】P338
1 研究背景
随机森林(random forest,RF)是由Leo Breiman提出的一种集成机器学习方法,可应用于分类问题、回归问题以及特征选择问题,其主要利用Bootsrap重抽样方法从原始样本中抽取多个样本,对每个Bootsrap样本进行决策树建模,然后组合多棵决策树通过投票方式得出最终评价结果[1].由于RF是基于决策树分类器的融合算法,可以看成由很多弱分类器(决策树)集成的强分类器,可有效避免“过拟合”和“欠拟合”现象的发生,对解决多变量预测具有很好的效果,被誉为当前最好的机器学习算法之一[2-3],已在各领域及水利行业[2-7]中得到应用.在实际应用中,对于不同的预测对象,RF决策树数量ntree和分裂属性个数mtry是不同的,二者成为决定RF预测或分类性能的关键性因素.目前普遍采用试凑的方法[3,8]或网络搜索的方法[1,9]确定决策树数量、分裂属性个数,但取值效果往往不理想.群体智能算法(SIA)由于具有灵活性、稳健性等特点以及分布性、简单性、可扩充性等优点已在RF决策树数量、分裂属性个数的优化中得到应用,如赵东等人[10]利用果蝇优化算法(FOA)对RF关键参数进行优化,通过构建FOA-RF模型对虫害数据进行预测,结果表明该模型具有较好的预测精度.王杰等人[11]提出一种基于粒子群优化(PSO)算法的加权随机森林分类模型,通过6组实验数据验证了该模型具有良好的分类效果.周博翔等人[12]提出一种蜜蜂交配优化随机森林算法(HBMORF)用于人体姿态识别,并通过实验证明了该模型的识别性能和稳定性能.
为进一步拓展群智能算法优化RF两个关键参数的应用范畴,本文提出一种基于随机漂移粒子群(random drift particle swarm optimization,RDPSO)算法优化的RF 预测方法,利用RDPSO算法优化RF决策树数量和分裂属性个数两个关键参数,构建RDPSO-RF预测模型,并构建基于RDPSO算法优化的支持向量机(SVM)、BP 神经网络预测模型作对比,以云南省某水文站枯水期1~3月月径流预测为例进行实
例研究,旨在验证RDPSO-RF模型用于水文预测预报的可行性和有效性.
2 RDPSO-RF预测模型
2.1 随机漂移粒子群算法
随机漂移粒子群(RDPSO)算法是孙俊等人受PSO算法的轨迹分析和金属导体中自由电子定向漂移运动、随机无规则热运动启发而提出来的一种具有较强全局搜索的群体智能算法.RDPSO算法中自由电子的定向漂移运动类似于粒子的局部搜索,随机无规则热运动类似于粒子的全局搜索[13].参考文献[13-15],RDPSO算法数学描述如下:
设RDPSO算法搜索过程中第t+1代的第i个粒子在第j维的定向漂移运动速度表示,随机热运动速度表示则第t+1代粒子运动速度的更新公式表示为:
基于PSO算法粒子趋向局部位置原理,定义定向漂移运动速度
式中,c 1、c 2表示常数,本文均设置为表示在(0,1)区间内均匀分布的随机数;表示第i个粒子当前最佳位置表示所有粒子个体当前最优位置.
式(2)可表示如下:
式中,β表示漂移系数表示吸引子.
基于无规则随机运动Maxwell速率分布率,定义无规则随机热运动速度如式(6):
式中,表示高斯分布函数;表示高斯分布标准差,定义如式(7):
式中,α表示热敏系数;表示当前粒子群中所有粒子个体的历史最优位置平均值,即式中,N表示群体规模.将式(6)改写为:
综上,RDPSO算法中粒子速度和位置更新公式表示为:
2.2 随机森林算法
随机森林(RF)算法是由Leo Breiman[16]提出的基于决策树分类器的融合算法,该算法通过随机的方法建立一个由许多决策树组成的森林,每棵决策树之间没有关联;每棵决策树均采用bootstrap方法进行采样,随机产生k个训练集,利用每个训练集生成对应的决策树;再从所有M个决策属性中随机抽取m个属性进行预测;在训练过程中,一般m的取值维持不变;训练结束后,当测试样本输入时,每棵决策树均对测试样本进行预测,并将所有决策树中出现最多的投票结果作为最终预测结果,具体算法步骤见文献[4,11,17].
假设对于一个测试样本x,第l棵决策树的输出为f tree,l(x)=i,i=1,2,…,c,即为其对应的输出值,l=1,2,…,L,L为RF中的决策树棵数,则RF的输出可表示为:
式中,I(·)表示满足括号中表达式的样本个数.
研究表明,决策树数量ntree和分裂属性个数mtry的合理选取是提高RF预测精度的关键,ntree设置过小易使RF训练不充分而导致模型“欠拟合”,设置太大又易使RF过度训而导致“过拟合”;同样,mtry设置太小易使RF过度训练而导致“过拟合”,设置太大会使得RF训练不充分而导致模型“欠拟合”.“过拟合”、“过拟合”均会降低RF模型的预测或分类性能[18].本文基于Matlab软件环境和随机森林工具箱,利用RDPSO算法寻优RF关键参数决策树数量(ntree)和分裂属性个数(mtry).
2.3 RDPSO-RF预测实现步骤
RDPSO-RF模型预测实现步骤可归纳如下(RDPSO-SVM、RDPSO-BP模型预测步骤可参考实现):
Step1:合理划分训练样本和预测样本.设定决策树数量ntree和分裂属性个数mtry 搜寻范围.
Step2:确定RDPSO-RF模型适应度函数.本文选用训练样本平均相对误差绝对值之和作为适应度函数,描述如式(13):
式中,y i为第i个样本实测值为第i个样本模拟值.
Step3:设置RDPSO算法群体大小N,最大迭代次数T,最大、最小热敏系数α,常数c 1和c 2.设置当前迭代次数t=0,初始化粒子位置和速度.
Step4:计算漂移系数β,依据式(8)群体平均最优位置.
Step5:基于式(13)计算目标适应度值,更新全局最优位置G和粒子局部最优位置P. Step6:根据式(11)、式(12)更新粒子的速度和位置.
Step7:判断RDPSO算法是否满足终止条件,若满足则转至Step8,否则令t=t+1,执行Step4~Step7.
Step8:输出RDPSO算法全局最优个体空间位置和适应度值,即待优化问题最优解. Step9:利用RDPSO算法优化获得的决策树数量ntree和分裂属性个数mtry代入RDPSO-RF模型对预测样本进行预测.
3 应用实例
1)数据来源及分析.实例数据来源于云南省某水文站,共有54年的实测水文资料.经分析,该水文站上年度月径流与次年度1~3月月径流存在较好的相关关系[19],见表1.
表1 上年度1~12月月均流量与次年1~3月月相关系数注:“**”表示在0.01水平(双侧)上显著相关.月份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月
12月次年1月次年2月次年1月 0.263 0.288 0.311*0.515**0.205 0.213
0.347*0.676**0.561**0.688**0.694**0.914** - -次年2月 0.208 0.239 0.234 0.461**0.239 0.217 0.288 0.608**0.545**0.634**0.583**0.864**0.832** -次年3月 0.222 0.248 0.193 0.366**0.137 0.110 0.177
0.545**0.436**0.498**0.492**0.737**0.800**0.842**
本文分别选取上年度4月、8月~12月,上年度4月、8月~12月及次年1月、上年度4月、8月~12月及次年1~2月月均径流量作为影响因子预测次年枯水期1月、2月、3月均径流量,输入维度分别为6维、7维和8维.
2)参数设置.RDPSO算法最大迭代次数T=200,最大、最小热敏系数α分别设置为0.9、0.3,常数c 1、c 2 均设置为2.RF、SVM、BP待优化参数搜索空间设置为:RF 决策树数量ntree∈[1,500],分裂属性个数mtry∈[1,20];SV M惩罚因子C∈[2-10,210]、核函数参数g∈[2-10,210]、不敏感系数ε∈[2-10,210]、交叉验证参数V=5;BP神经网络权、阈值搜索空间[-1,1],隐含层数为输入维度的2倍减1,隐含层和输出层传递函数均分别采用logsig和purelin,训练函数均采用traingdx,最大训练轮回200次,期望误差0.001.
3)模型构建及预测.基于上述分析,分别构建6输入1输出、7输入1输出和8输入1输出的次年枯水期1~3月月径流预测模型(对SVM、BP输入数据需进行归一化处理,RF输入数据无需处理).选取平均相对误差绝对值MRE和最大相对误差绝对值Max RE作为评价指标,利用RDPSO-RF、RDPSOSVM、RDPSO-BP模型对实例枯水期1~3月月径流进行预测,见表2,并绘制1~3月的拟合-预测相对误差效果图,如图1~3所示.
表2 实例枯水期1~3月月径流预测结果及其比较表月份样本评价指标/% RDPSO-RF模型 RDPSO-SVM模型 RDPSO-BP模型1月训练样本(前43年) MRE 4.28 7.52 5.52 Max RE 19.56 38.89 17.90预测样本(后10年) MRE 3.74
4.04 6.06 Max RE 6.74 14.18 12.36 2月训练样本(前43年) MRE 3.88
5.49
5.67 Max RE 17.40 1
6.93 16.02预测样本(后10年) MRE 4.57 5.93 6.38 Max RE
7.60 10.74 14.37 3月训练样本(前43年) MRE 5.67 9.03 11.26 Max RE 17.40 35.43 30.64预测样本(后10年) MRE 4.88 5.37 7.12 Max RE 19.08 11.04 13.19
图1 枯水期1月月径流拟合-预测相对误差效果图
图2 枯水期2月月径流拟合-预测相对误差效果图
图3 枯水期3月月径流拟合-预测相对误差效果图
依据表1~2及图1~3可以得出以下结论:
1)RDPSO-RF模型对实例1~3月月径流训练、预测的平均相对误差绝对值分别为4.28%、3.88%、5.67%和3.74%、4.57%、4.88%,无论训练样本还是预测样本,其精度均优于RDPSO-SVM模型(训练、预测的平均相对误差绝对值分别为
7.52%、5.49%、9.03% 和4.04%、4.93%、5.37%)和 RDPSO-BP模型(训练、预测的平均相对误差绝对值分别为5.52%、5.67%、11.26% 和 6.06%、6.38%、7.12%),表现出较好的预测精度和泛化能力;同时验证了本文提出的RDPSO-RF模型用于水文预测预报是可行和有效的,可为相关预测研究提供参考和借鉴.
2)由于RDPSO-RF模型融合了RDPSO算法良好的全局搜索能力和RF强分类集成器二者的优点,使得RDPSO-RF模型对于实例1~3月月径流的拟合、预测效果最好,有效避免预测过程中“过拟合”和“欠拟合”现象的发生;对于RDPSO-SVM 模型,除2月份外,其预测样本精度远优于训练样本精度,表现出“欠拟合”特
征;RDPSO-BP模型对于实例3月的预测同样表现出“欠拟合”特征.
3)3种模型比较而言,RDPSO-RF模型拟合-预测精度最高;RDPSO-SVM模型与RDPSO-BP模型各有优劣,但RDPSO-SVM模型拟合-预测精度略优于RDPSO-BP 模型.
4 结论
依据随机漂移粒子群(RDPSO)算法良好的全局搜索能力和随机森林(RF)强分类集成器二者的优点,本文提出RDPSO-RF水文预测模型,利用RDPSO算法对RF关键参数进行优化,并对云南省某水文站1~3月月径流进行拟合及预测.结果表
明,RDPSO-RF模型对实例1~3月月径流的拟合-预测精度均优于RDPSO-SVM、RDPSO-BP模型,具有较高的预测精度和泛化能力,将RDPSO-RF模型用于水文预测预报是可行和有效的,可为相关预测研究提供参考和借鉴.
参考文献:
【相关文献】
[1] 温博文,董文瀚,解武杰,等.基于改进网格搜索算法的随机森林参数优化[J].计算机工程与应
用,2018,54(10):154-157.
[2] 王盼,陆宝宏,张瀚文,等.基于随机森林模型的需水预测模型及其应用[J].水资源保
护,2014,30(1):34-37.
[3] 赖成光,陈晓宏,赵仕威,等.基于随机森林的洪灾风险评价模型及其应用[J].水利学
报,2015,46(1):58-63.
[4] 崔东文,金波.基于随机森林回归算法的水生态文明综合评价[J].水利水电科技进
展,2014,34(5):56-60.
[5] 胡添翼,戴波,何启,等.基于随机森林分类算法的边坡稳定预测模型[J].人民黄河,2017,39(5):115-118.
[6] 赵文秀,张晓丽,李国会.基于随机森林和RBF神经网络的长期径流预报[J].人民黄
河,2015,37(2):10-12.
[7] 严梦佳,钟平安,闫海滨,等.基于随机森林的水电站发电调度规则研究[J].水力发电,2018,44(1):85-89.
[8] 温廷新,张波,邵良杉.煤与瓦斯突出预测的随机森林模型[J].计算机工程与应用,2014,50(10):233-237.
[9] 陈元鹏,罗明,彭军还,等.基于网格搜索随机森林算法的工矿复垦区土地利用分类[J].农业工程学报,2017,33(14):250-257.
[10]赵东,臧雪柏,越宏伟.基于果蝇优化的随机森林预测方法[J].吉林大学学报(工学
版),2017,47(2):609-614.
[11]王杰,程学新,彭金柱.一种基于粒子群算法优化的加权随机森林模型[J].郑州大学学报(理学版),2018,50(1):72-76.
[12]周博翔,李平,李莲.改进随机森林及其在人体姿态识别中的应用[J].计算机工程与应
用,2015,51(16):86-92.
[13]方伟,周建宏.基于频繁覆盖策略的随机漂移粒子群优化算法[J].控制与决策,2017,32(12):2127-2136.
[14]奚茂龙,卢丹,等.随机漂移粒子群算法的RZWQM替代模型参数优化[J].计算机工程与应
用,2016,52(23):35-41.
[15]刘安灵,黄振刚,王朝霞.基于改进随机漂移粒子群算法的微电网优化运行[J].电子设计工
程,2018,26(6):33-37.
[16]Breiman L.Random Forests[J].Machine Learning,2001,45(1):5-32.
[17]崔东文,吴盛华.随机森林模型及其在湖库营养状态识别中的应用[J].人民珠江,2015,36(5):101-105.
[18]黄永刚,李龙.基于随机森林算法的矿井涌水量预测[J].煤炭技术,2017,36(1):220-221.
[19]崔东文,黄恩奎.改进引力搜索算法与支持向量机在枯水期月径流预测中的应用[J].人民珠
江,2016,37(6):48-52.。