基于蚁群和粒子群集成的lssvm脉动风速预测方法
【技术领域】
[0001] 本发明涉及一种基于智能优化集成LSSVM(最小二乘支持向量机)脉动风速预测 方法,具体的说是一种基于蚁群(AC0)和粒子群(PS0)集成的LSSVM脉动风速预测方法。
【背景技术】
[0002] 对于高耸结构、高层建筑结构、大跨度空间结构、大跨桥梁结构及高压输电塔线体 系等,风荷载是结构设计时所必需考虑的一类重要的随机动力荷载。风荷载的设计不当不 仅仅会影响到人们使用建筑结构的舒适程度,而且还会使建筑结构出现一定的损伤和破 坏,给人们带来巨大的生命财产损失。通常把风分为平均风和脉动风来加以分析,其中脉动 风具有随机特征,它将使结构可能发生顺风向振动、横风向驰振、漩涡脱落、扭转发散振动 及其它耦合振动等形式的风致随机振动。这些形式的振动不仅影响结构的内力分布,更重 要的是,将使结构产生动力失稳现象,从而极大地降低结构实际的极限承载力。因此,工程 中考虑风的动力响应是极其重要的。近年来,随着信息科学技术的迅速发展,基于数据驱动 技术的方法逐渐成为许多领域中的热点和发展方向。
[0003] 支持向量机(SVM)是基于统计学习理论提出的一种小样本学习方法,遵循结构风 险最小化原理。其基本思想是通过内积函数(核函数)定义的非线性变换将输入空间变换 到一个高维空间,在这个高维空间中寻找输入变量和输出变量之间的一种非线性关系。利 用支持向量机很好的学习能力,可实现对有限样本的脉动风速时程的预测模拟。支持向量 机的性能依赖于模型的参数,对于参数的选择,至今还未提出明确的理论依据。利用智能优 化方式对LSSVM模型参数进行智能提取成为一大热点。目前常见的对LSSVM优化的方式 主要有粒子群算法、遗传算法、蚁群算法和人工蜂群算法等,在一定程度上,各类优化算法 在对LSSVM参数优化中取得一定的效果,但是得到的预测模型预测精度和速度还是不够理 想。
[0004] 结合粒子群算法容易陷入局部最优,而其他几种优化算法具有较强的全局寻优能 力的特点。因此,如何运用智能优化方法集成的方式对LSSVM模型参数进行智能提取,以获 得运行速度更快、预测精度更高的LSSVM对脉动风压的预测模型具有很大的意义。
【发明内容】
[0005] 本发明的目的在于提供一种基于蚁群和粒子群集成的LSSVM脉动风速预测方法, 其利用ARMA生成脉动风速的有限样本,将样本划分为训练集和预测集,初始化LSSVM模型 参数,输入训练集并进行归一化处理,利用AC0和PS0的集成优化算法智能提取LSSVM的核 函数参数〇和正则化参数C的最佳组合,利用Trainlssvm函数来训练建立模型,导入预测 数据,预处理后利用Simlssvm函数对测试样本进行预测,得到预测的脉动风速时程谱。计 算预测结果和原始预测样本数据的均方根误差RMSE、平均相对误差AE和相关系数R,进行 比较分析。
[0006] 根据上述发明构思,本发明采用下述技术方案:本发明基于蚁群和粒子群集成的 LSSVM脉动风速预测方法包括如下步骤:
[0007] 第一步:利用ARMA模拟生成一定时间段脉动风速样本,将脉动风速样本分为训练 集、测试集两部分,对其分别进行归一化处理;
[0008] 第二步:初始化蚁群算法相关参数,设置核函数参数和正则化参数范围 CG[(:_,(:_]和〇G[0_,0_],将一组参数序列(C,〇)作为蚁群算法中蚂蚁的初始 位置向量;由训练集对LSSVM进行训练学习,计算每个蚂蚁个体的目标函数值,再计算每个 蚂蚁的信息素浓度,目标函数值越小,信息素浓度越大;
[0009] 第三步:从蚁群中随机抽取p只蚂蚁,由每只蚂蚁所在位置的信息素浓度大小,选 择蚂蚁目标函数值最小的位置为Xbest,并将该蚂蚁作为头蚁Xobj;蚁群中其他蚂蚁向头 蚁位置移动进行全局搜索;
[0010] 第四步:迭代过程中对每个位置上蚂蚁信息素浓度进行更新,检查是否满足迭代 终止条件,若不满足,返回第三步;否则,算法结束输出最优参数组合(C,0);
[0011] 第五步:利用第四步得到的最优参数组合(C,〇),初始化粒子群相关参数;分别 用每个粒子向量所对应的LSSVM模型对学习样本进行预测,得到各粒子当前位置值的预测 误差,并将其作为各粒子的适应度值,再将各粒子的当前适应度值与该粒子自身的最优适 应度值进行比较,如果更优,则将粒子当前的位置作为该粒子的最优位置;
[0012] 第六步:将各粒子的自身最优位置适应度值与群体最优位置的适应度值比较,如 果更优,则将该粒子的最优位置作为群体的最优位置;检查是否满足寻优结束条件(达到 预先设定的最大迭代次数或预设精度),若满足则结束寻优,求出最优解;否则继续新一轮 搜索;
[0013] 第七步:利用第六步得到的核函数参数〇和正则化参数C的最佳组合,利用 Trainlssvm函数来训练建立模型,导入预测数据,预处理后利用Simlssvm函数对测试样本 进行预测,得到预测的脉动风速时程谱;计算预测结果并分别与PSO-LSSVM、AC0-LSSVM以 及原始预测样本数据的均方根误差RMSE、平均绝对误差AE和相关系数R进行比较分析。
[0014] 优选地,上述第一步中,归一化处理公式为式(1):
[0016] 式中,xmin是x的最小值,x_是x的最大值,利用此式把x的范围整到[0, 1]。
[0017] 优选地,第二步中,计算每个蚂蚁个体的目标函数值的公式为式(2)、式(3)、式 (4):
[0019] Cfflin^C^Cfflax (3)
[0020] 0min^ 0 ^ 0 max ⑷
[0021] 其中F为最小均方误差,yjp兑分别为监测样本的真实值和通过LSSVM计算出的 预测值,。为核函数参数,C为正则化参数,Cmax、Cmin为正则化参数C允许的最大值和最小 值,0max、0minS核函数参数0允许的最大值和最小值。
[0022] 优选地,第三步中,蚁群中其他蚂蚁根据下向头蚁位置移动进行全局搜索,式子如 下式(5):
[0023] Xi= (l-A)Xi+AXobJAG(〇, 1) (5)
[0024]式中,X为(〇, 1)范围的可调参数,X&j为目标函数最小的头蚁位置。
[0025] 优选地,第四步中,每个蚂蚁的信息素浓度计算公式为式(6):
[0027] 式中,e为数学常数,即自然对数的底数,F为优化问题的目标函数,\为蚂蚁的初 始位置向量。
[0028] 优选地,在第五步和第六步中,粒子更新自己速度和位置的公式如下式(7)、式 (8):
[0029] v=wXv+CiXr:X(pbest-x) +C2Xr2X(gbest-x) (7)
[0030] x=x+v (8)
[0031] 其中:V为粒子的速度;X为当前粒子的位置;i^Pr2是介于(0,1)之间的随机数; CJPC2是学习因子。
[0032] 本发明带来的有益效果:与自适应的粒子群算法相比,混合优化算法具有优化精 度高,收敛精度高,迭代次数少,成功率高等特点,体现出良好的鲁棒性和较快的收敛速度。
【附图说明】
[0033] 图1为PS0-LSSVM数值模拟的脉动风速预测和实际风速谱的比较示意图。
[0034] 图2为PS0-LSSVM数值模拟的脉动风速自相关函数与实际自相关函数的比较示意 图。
[0035] 图3为PS0-LSSVM数值模拟的脉动风速自谱密度函数与实际自谱密度函数的比较 示意图。
[0036] 图4为AC0-LSSVM数值模拟的脉动风速预测和实际风速谱的比较示意图。
[0037] 图5为AC0-LSSVM数值模拟的脉动风速自相关函数与实际自相关函数的比较示意 图。
[0038] 图6为AC0-LSSVM数值模拟的脉动风速自谱密度函数与实际自谱密度函数的比较 示意图。
[0039] 图7为AC0+PS0-LSSVM数值模拟的脉动风速预测和实际风速谱的比较示意图。
[0040] 图8为AC0+PS0-LSSVM数值模拟的脉动风速自相关函数与实际自相关函数的比较 示意图。
[0041] 图9为AC0+PS0-LSSVM数值模拟的脉动风速自谱密度函数与实际自谱密度函数的 比较示意图。
[0042] 图10为AC0+PS0-LSSVM数值预测模拟脉动风速的流程图示意图。
【具体实施方式】
[0043] 以下结合附图对本发明的实施进一步详细说明。
[0044] 本发明对LSSVM常用核函数而言,RBF核只有一个待定参数,拟合精度较高,故采 用核函数为RBF核的LSSVM,接下来应用AC0和PS0串行混合的方法快速选取最佳的核函数 参数〇和正则化参数C组合。蚁群算法求解过程复杂度较大,每一步都有若干参数需要调 整,整个算法迭代一次的时间较长,容易出现停滞现象,不利于发现更好的解,其收敛性能 对初始化参数的设置比较敏感,但是精度较高;粒子群算法是利用适应值来评价系统,并根 据适应值来进
行一定的随机搜索,对种群的初始化不敏感,需要的代码和参数较少,受所求 问题维数的影响较小,其执行一次迭代的时间非常短,但由于可调参数少,与蚁群算法相比 往往需要更多的迭代次数才能找到最优解,容易出现早熟现象。因此,将蚁群和粒子群算法 结合起来,采用蚁群算法进行全局搜索,确定最优解存在的领域,然利用蚁群算法得到的最 优解初始化粒子群的位置、速度和群体规模。进而通过粒子群算法的局部搜索,实现非凸空 间的高效搜索,获得在实际计算中更高的精度和更快的速度。
[0045] 本发明基于蚁群和粒子群集成的LSSVM脉动风速预测方法包括如下步骤:
[0046] 第一步,通过ARMA法数值模拟(模拟功率谱为Kaimal谱)生成的一定数量沿高度 均匀分布的脉动风速时程,作为有限的原始脉动风速样本数据,将ARMA模型生成的样本数 据分成两部分:取前3000s脉动风速值作为学习样本,接着的1000s风速值作为预测样本, 并对样本进行归一化处理。
[0047] 第二步:初始化蚁群算法,设置蚁群种群规模N1= 30,最大迭代次数M1= 100,信 息挥发系数P= 〇. 45,设置核函数参数和正则化参数范围
,将 一组参数序列(C,〇 )作为蚁群算法中蚂蚁的初始位置向量;由训练集对LSSVM进行训练学 习,计算每个蚂蚁个体的目标函数值,再计算每个蚂蚁的信息素浓度,目标函数值越小,信 息素浓度越大;
[0048] 第三步:由式(5)计算蚁群中每只蚂蚁所在位置的信息素浓度大小,即从蚁群中 随机抽取P只蚂蚁,由每只蚂蚁所在位置的信息素浓度大小,选择蚂蚁目标函数值最小的 位置为Xbest,并将该蚂蚁作为头蚁Xobj;蚁群中其他蚂蚁向头蚁位置移动进行全局搜索;
[0049] 第四步:用式(7)、式(8)、式(9)对每个位置上蚂蚁信息素浓度进行迭代更新,检 查是否满足迭代终止条件,若不满足,返回第三步;否则,算法结束输出满足全局最优的参 数组合(C,〇 );
[0050] 第五步:利用第四步得到的满足全局最优的参数组合(C,〇),初始化粒子群,设 置粒子群种群规模N2= 40,最大迭代次数M2= 200,学习因子(^= 2、C2= 2。分别用每个 粒子向量所对应的LSSVM模型对学习样本进行预测,得到各粒子当前位置的适应度值,再 将所有粒子当前的适应度值与该粒子个体极值Pbest进行比较,如果更优,则将粒子当前的 位置作为该粒子的最优位置,当前适应度值作为个体极值Pbest;
[0051]第六步:将各粒子的个体极值pbest与群体最优位置的适应度值gbest比较,如果 更优,则将该粒子的最优位置作为群体的最优位置,该粒子的个体极值Pbest作为群体极值 gbest。检查是否满足迭代寻优结束条件,若满足则结束寻优,求出最优解(C,〇);否则继续 新一轮搜索;
[0052] 第七步:利用第六步得到最优解(C, 〇 ),利用Trainlssvm函数来训练建立模型, 导入预测数据,预处理后利用Simlssvm函数对测试样本进行预测,得到预测的脉动风速时 程谱;计算预测结果并分别与PS〇-LSSVM、AC〇-LSSVM以及原始预测样本数据的均方根误差 RMSE、平均绝对误差AE和相关系数R进行比较分析,见表1 :
[0053] 表1三种方法模拟的评价指标表
[0054]
[0055] 以上步骤可以参考图10,直观地给出了本发明的实施流程。从预测模拟所得的脉 动风速谱(图1、图4、图7),自相关函数图像(图2、图5、图8),自谱密度函数的图像(图 3、图6、图9)可看出,结合AC0、PS0集成的智能优化方法所得的LSSVM模型所得到的预测数 据图像和实际的更吻合。从表1,从数据上可以直观的看出,结合AC0、PS0集成的智能优化 方法所得的LSSVM模型预测数据的均方根误差RMSE相比AC0优化算法下降了 34. 7 %,相比 PS0优化算法下降了 62. 6 % ;平均相对误差AE相比AC0优化算法下降了 42. 7 %,相比PS0 优化算法下降了 47.3% ;相关系数R相比AC0优化算法提高了 10.0%,相比PS0优化算法 提高了 15. 4%。
[0056] 本发明通过AC0和PS0集成算法对LSSVM的模型参数进行智能选择,获得优化的 LSSVM模型,利用已知时间段的风速对LSSVM模型进行训练学习,更精确、更快速地预测未 知时间段的风速。
【主权项】
1. 一种基于蚁群和粒子群集成的LSSVM脉动风速预测方法,其特征在于,其包括以下 步骤: 第一步:利用ARMA模拟生成一定时间段脉动风速样本,将脉动风速样本分为训练集、 测试集两部分,对其分别进行归一化处理; 第二步:初始化蚁群算法相关参数,设置核函数参数和正则化参数范围C e [Cmin,CmJ 和σ e [〇min,〇max],将一组参数序列(C,〇)作为蚁群算法中蚂蚁的初始位置向量;由训 练集对LSSVM进行训练学习,计算每个蚂蚁个体的目标函数值,再计算每个蚂蚁的信息素 浓度,目标函数值越小,信息素浓度越大; 第三步:从蚁群中随机抽取P只蚂蚁,由每只蚂蚁所在位置的信息素浓度大小,选择蚂 蚁目标函数值最小的位置为Xbest,并将该蚂蚁作为头蚁Xobj ;蚁群中其他蚂蚁向头蚁位 置移动进行全局搜索; 第四步:迭代过程中对每个位置上蚂蚁信息素浓度进行更新,检查是否满足迭代终止 条件,若不满足,返回第三步;否则,算法结束输出最优参数组合(C,〇); 第五步:利用第四步得到的最优参数组合(C,〇),初始化粒子群相关参数;分别用每 个粒子向量所对应的LSSVM模型对学习样本进行预测,得到各粒子当前位置值的预测误 差,并将其作为各粒子的适应度值,再将各粒子的当前适应度值与该粒子自身的最优适应 度值进行比较,如果更优,则将粒子当前的位置作为该粒子的最优位置; 第六步:将各粒子的自身最优位置适应度值与群体最优位置的适应度值比较,如果更 优,则将该粒子的最优位置作为群体的最优位置;检查是否满足寻优结束条件,若满足则结 束寻优,求出最优解;否则继续新一轮搜索; 第七步:利用第六步得到的核函数参数σ和正则化参数C的最佳组合,利用 Trainlssvm函数来训练建立模型,导入预测数据,预处理后利用Simlssvm函数对测试样本 进行预测,得到预测的脉动风速时程谱;计算预测结果并分别与PSO-LSSVM、AC0-LSSVM以 及原始预测样本数据的均方根误差RMSE、平均绝对误差AE和相关系数R进行比较分析。2. 根据权利要求1所述的基于核函数组合的PS0-LSSVM脉动风速预测方法,其特征在 于,所述上述第一步中,归一化处理公式为以下式:式中,XmiJ X的最小值,X _是X的最大值,利用此式把X的范围整到[〇, 1]。3. 根据权利要求1所述的基于核函数组合的PS0-LSSVM脉动风速预测方法,其特征在 于,所述第二步中,计算每个蚂蚁个体的目标函数值的公式为以下三式:Cfflin^ C ^ Cfflax 0min^ 0 ^ 0 max 其中F为最小均方误差,yjP免.分别为监测样本的真实值和通过LSSVM计算出的预测 值,σ为核函数参数,C为正则化参数,Cmax、Cmin为正则化参数C允许的最大值和最小值,0max、0Dlin为核函数参数σ允许的最大值和最小值。4. 根据权利要求1所述的基于核函数组合的PSO-LSSVM脉动风速预测方法,其特征在 于,所述第三步中,蚁群中其他蚂蚁根据下向头蚁位置移动进行全局搜索,式子如下式: Xi= (1-λ )X i+λ Xobj λ e (〇, I) 式中,λ为(〇, 1)范围的可调参数,Xtjbj为目标函数最小的头蚁位置。5. 根据权利要求1所述的基于核函数组合的PS0-LSSVM脉动风速预测方法,其特征在 于,所述第四步中,每个蚂蚁的信息素浓度计算公式为下式: T{i) = eF{Xi) 式中,e为数学常数,即自然对数的底数,F为优化问题的目标函数,\为蚂蚁的初始位 置向量。6. 根据权利要求1所述的基于核函数组合的PS0-LSSVM脉动风速预测方法,其特征在 于,所述第五步和第六步中,粒子更新自己速度和位置的公式如下式:其中:V为粒子的速度;X为当前粒子的位置;rjPr2是介于(0,1)之间的随机数A和 C2是学习因子。
【专利摘要】本发明提供一种基于蚁群和粒子群集成的LSSVM脉动风速预测方法,其包括如下步骤:进行归一化处理;计算每个蚂蚁的信息素浓度;蚁群中其他蚂蚁向头蚁位置移动进行全局搜索;迭代过程中对每个位置上蚂蚁信息素浓度进行更新,检查是否满足迭代终止条件,若不满足,返回第三步;否则,算法结束输出最优参数组合;初始化粒子群相关参数;将各粒子的自身最优位置适应度值与群体最优位置的适应度值比较;得到预测的脉动风速时程谱。本发明具有优化精度高,收敛精度高,迭代次数少,成功率高等特点。
【IPC分类】G06F19/00, G06N3/00
【公开号】CN104899431
【申请号】CN201510256023
【发明人】李春祥, 丁晓达, 迟恩楠
【申请人】上海大学
【公开日】2015年9月9日
【申请日】2015年5月19日