本发明属于能源预测技术领域,尤其涉及一种能源消费预测方法。
背景技术
能源是社会发展的重要物质基础,其消费影响着自然环境和经济的稳定持续发展。随着中国经济的快速发展,其能源消费量不断攀升,已经成为世界上最大的能源消费国。因此,通过建立合适的能源消费预测模型,准确预测能源消费总量,可以为我国制定合理的能源生产计划以及节能减排相关政策提供科学的依据,对推动世界经济和环境的可持续发展具有重要的现实意义。
能源系统是一个复杂非线形系统,其消费量的发展变化具有增长性和波动性。目前,学者们提出了各种模型用于能源消费预测,如:灰色理论,模糊逻辑方法,多元回归模型等,但方法相对传统。
近年来,人工智能技术不断发展,人工智能预测模型广泛地应用于预测领域,也包括能源消费预测领域。支持向量机是目前应用极为广泛的一种人工智能预测模型。支持向量机是建立在统计学习理论的vc维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以求获得最好的推广能力的监督学习模型。它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到预测等机器学习问题中。最小二乘支持向量机是采用最小二乘价值函数和等式约束对标准支持向量机的一种改进算法,与标准支持向量机相比,其具有更快的训练速度和更好的收敛精度。当前,已有学者采用最小二乘支持向量机对能源消费进行预测。为了提高预测的准确性,研究者们采用多种算法对lssvm的参数进行优化,如蚁群算法、人工蜂群算法、灰狼算法等多种优化算法。
但由于能源消费预测易受外界因素干扰,序列包含噪声较多,如何能实现对能源消费进行精确预测仍然是需要解决的技术问题。
技术实现要素:
为了实现对能源消费的准确预测,本发明提出了一种能源消费预测方法,包括:
步骤1:采集包括历史能源消费量、人口数量、gdp、产业结构、能源消费结构、能源强度、碳排放强度以及进出口总额在内的样本数据;
步骤2:对样本数据进行无量纲化处理,并计算各个样本数据与能源消费结构的灰色关联度,根据灰色关联度的排序来筛选模型的输入因素;
步骤3:对待预测序列进行基于集成经验模态分解(eemd)的序列降噪,得到多个imf分量;
步骤4:对通过集成经验模态分解得到的imf分量运用改进的混合蛙跳算法优化最小二乘支持向量机(isfla-lssvm)的参数,并建立预测模型,对预测的结果进行重构,得到最终的能源消费预测结果。
所述集成经验模态分解为在传统经验模态分解的基础上,在原有信号中加入高斯白噪声,利用白噪声频率均匀分布的统计特性,消除原信号中的间歇现象,从而有效地抑制模态混叠问题。
所述集成经验模态分解的具体步骤如下:
步骤301:在目标信号中加入随机高斯白噪声序列,
xm(t)=x(t)+k·nm(t)(1)
式中,k为加入的白噪声的幅值系数,nm(t)为白噪声序列,x(t)为目标信号,xm(t)为加入白噪声的信号;
步骤302:将加入白噪声的信号利用emd分解为一组imf;
步骤303:每次加入不同的白噪声序列,重复上述步骤;
步骤304:计算分解后imf的均值,把分解得到的各个imf的均值作为最终的结果,
式中,m为emd的集成次数,m=1,2,…,n;ci,m为第m次emd分解所产生的第i个imf,
所述改进的混合蛙跳算法为在传统的混合蛙跳算法中,引入非线性递减的惯性权值,避免算法陷入局部最优解。
所述改进的混合蛙跳算法公式如下:
di=rand()(xbi-xwi)(8)
x′w=ωxw+di(-dmax≤di≤dmax)(10)
式中,di为青蛙的步长,rand()是分布在[0,1]之间的随机数,xbi、xwi分别为适应度最优和最差的第i个青蛙;x′w为更新后得到的青蛙的适应度,xw为原来的青蛙的适应度,ω为惯性权重,dmax是青蛙的最大步长,ωmax为最大惯性权重;ωmin为最小惯性权重;t为当前子种群的迭代次数与当前总的混合迭代次数的乘积;k为子种群总的迭代次数。
所述运用改进的混合蛙跳算法优化最小二乘支持向量机的参数具体包括:
步骤401:设置改进的混合蛙跳算法的参数,初始化青蛙种群;
步骤402:计算每个青蛙个体的适应度值并进行排序;
步骤403:进行子群体划分,并确定每个子群体中的最优解、最差解和群体全局最优解;
步骤404:对每个子群体中的最差青蛙个体做局部搜索并进行更新操作,直至局部搜索结束;
步骤405:把更新后的子群体进行混合;
步骤406:判断是否达到最大迭代次数,如果达到,停止优化,输出最优解,否则转至步骤402;
步骤407:将优化后的参数值赋给最小二乘支持向量机,构建预测模型进行预测。
本发明的有益效果:
本发明采用的是混合蛙跳算法来实现对lssvm的优化,混合蛙跳算法模拟了青蛙群体中各个子群体找寻食物时展开信息交换的行为,是一种全新的启发式群体进化算法,具有高效的计算性能和优良的全局搜索能力。采用eemd算法对能源消费序列进行降噪。实验证明运用emd-isfla-lssvm模型对能源消费进行预测,预测曲线与实际曲线的拟合程度非常好,预测效果显著。
附图说明
图1为实施例中的集成经验模态分解结果。
图2a~2d分别为实施例中的imf1、imf2、imf3的预测结果及残余信号。
图3为实施例中最终预测结果及残差。
具体实施方式
下面结合附图,对实施例作详细说明。
1、经验模态分解
(1)emd
emd(经验模态分解)算法通过筛选方式将复杂信号分解为若干个imf(intrinsicmodefunction),imf表示了信号的内在特征振动形式。imf分量必须满足以下两个条件:
1)极值点的个数和过零点的个数相同或至多相差1个;
2)上、下包络线应局部对称。
对于信号x(t),emd算法的流程如下:
1)确定信号x(t)所有极大值与极小值点;
2)根据信号的极大值与极小值点,利用三次样条插值的方法分别构造x(t)的上、下包络线的fa(t)和fb(t);
3)求得信号的局部均值:fm(t)=(fa(t)+fb(t))/2;
4)计算x(t)与fm(t)的差值,e(t)=x(t)-fm(t);
5)判断e(t)是否满足imf条件,如果满足则得到第一个imf分量imf1(t),否则重复上述步骤直到信号满足imf条件为止。
6)令r(t)=x(t)-imf1(t),判断r(t)是否需要继续分解,如需要则用r(t)代替x(t)重复以上步骤,否则分解结束。
至此,信号emd分解结束,最后信号x(t)分解为若干个imf分量imfi(t)与剩余分量r(t)之和。即
(2)eemd(集成经验模态分解)
emd算法会引入模态混叠问题,为解决这一问题,huang和wu提出了eemd方法。在传统emd的基础上,eemd方法在原有信号中加入高斯白噪声,利用白噪声频率均匀分布的统计特性,消除原信号中的间歇现象,从而有效地抑制模态混叠问题。
eemd的具体分解步骤如下:
1)在目标信号中加入随机高斯白噪声序列。
xm(t)=x(t)+k·nm(t)(1)
式中,k为加入的白噪声的幅值系数,nm(t)为白噪声序列。
2)将加入白噪声的信号利用emd分解为一组imf;
3)每次加入不同的白噪声序列,重复上述步骤;
4)计算分解后imf的均值,把分解得到的各个imf的均值作为最终的结果。
式中,n为emd的集成次数;ci,m为第m次emd分解所产生的第i个imf。2、lssvm
最小二乘支持向量机(lssvm)是由suykens等人提出的一种对支持向量机(svm)的改进算法,该算法将非线性问题转化为高维特征空间的线性估计问题,提高了求解速度和泛化能力。
设训练集为(xi,yi),i=1,2,…,n,n为训练样本总数,xi∈rm为输入样本,yi为输出样本,lssvm在高维特征空间的线性函数为:
式中,ω为权系数向量,b为偏置常量。该回归问题考虑函数复杂度和拟合误差,可将其表示为一个等式约束的优化问题,即:
设αi为lagrange乘子,通过建立拉格朗日等式,把式(2)转化为无约束优化问题,如式(3)所示:
根据非线性最优规划的karush-kuhn-tucker条件求得参数αi,b,代入公式(1),得到支持向量机的输出:
选择径向基核函数rbf作为lssvm的核函数,得到lssvm的预测函数为:
3、改进的混合蛙跳算法
(1)sfla
混合蛙跳算法sfla由eusuff和lansey于2003年最先提出。作为一种新型的仿生物学智能优化算法,sfla结合了模因演算法(ma,memeticalgorithm)和粒子群优化算法(pso,particleswarmoptimization)两种群智能优化算法的优点。该算法具有概念简单,调整的参数少,计算速度快,全局搜索寻优能力强,易于实现的特点。
混合蛙跳算法的基本思想如下:
对于一个d维目标搜索空间,通过随机生成的方式产生初始群体,且整个群体由f只青蛙构成。然后,再将种群分为s个子群体,各子群体内均含有n只青蛙,并且满足f=s×n,且青蛙个体按照适应度进行排序。青蛙的划分方式按以下规则来执行:把第1只青蛙划分入第1个子群,第2只青蛙划分入第2个子群,第j只青蛙划分入第j个子群,而后第j+1只青蛙划分入第j+1个子群。依次类推,直到所有青蛙划分结束。对于每个子群体,设适应度最优和最差的青蛙分别为xb和xw,此外,种群中有着最优适应度的青蛙表示为xg。在子群体的每一次进化过程中,对xw做局部搜索操作并使其得到更新,采取的策略如下:
di=rand()*(xbi-xwi)(8)
x′w=xw+di(-dmax≤di≤dmax)(9)
式中,rand()是分布在[0,1]之间的随机数;dmax是青蛙的最大步长。若更新后得到的青蛙x′w的适应度比原来的青蛙xw更优,就用x′w替换xw;否则,就用xg替换xb,再按式(8)和(9)执行局部搜索过程;若此时得到的新解仍然不能比原来的青蛙xw更优,就采取随机产生一个新位置的办法替换原来的xw。不断重复上述操作,直至结束局部搜索。之后,重新划分种群,并再次展开局部搜索。不断重复上述步骤,直至达到结束条件。
(2)isfla
在传统的sfla算法中,待更新的青蛙个体的特征对更新值的影响是恒定不变的,这种做法不但会使算法的收敛速度下降,还容易致使其陷入局部最优。因此,为使算法的搜索效率得到改善,本文引入非线性递减的惯性权值,对传统sfla算法进行改进,避免算法陷入局部最优解。
引入惯性权值,此时的更新策略如公式(3)所示:
x′w=ωxw+di(-dmax≤di≤dmax)(10)
惯性权值ω反映了青蛙的运动趋势,传统的惯性权值的取值采取随着种群迭代次数的增加而线性递减的策略,虽然该策略简单且直接,但是很难反映种群复杂的局部搜索过程,且容易使算法陷入局部最优解。因此,本文采用如下非线性递减策略:
式中,ωmax为最大惯性权重;ωmin为最小惯性权重;t为当前子种群的迭代次数与当前总的混合迭代次数的乘积;k为子种群总的迭代次数。上述递减过程使得ω在种群搜索的前期数值较大,到了后期变得较小,在一定程度上降低了算法陷入局部最优的几率。
4、isfla-lssvm(改进的混合蛙跳算法优化最小二乘支持向量机)
采用径向基核函数(rbf)的lssvm模型进行预测,需要确定正则化参数与核函数宽度两个参数,它们将直接影响模型的性能,进而影响预测的精度。因此,本文选择改进的混合蛙跳算法对最小二乘支持向量机的参数进行优化。优化的步骤如下:
step1:设置isfla模型的参数,初始化青蛙种群;
step2:计算每个青蛙个体的适应度值并进行排序;
step3:进行子群体划分,并确定每个子群体中的最优解、最差解和群体全局最优解;
step4:对每个子群体中的最差青蛙个体做局部搜索并进行更新操作,直至局部搜索结束;
step5:把更新后的子群体进行混合;
step6:判断是否达到最大迭代次数,如果达到,停止优化,输出最优解,否则转至step2;
step7:将优化后的参数值赋给lssvm,构建预测模型进行预测。
5.预测流程
能源消费的预测精确度会受到诸多因素的影响,为了实现对能源消费的准确预测,本文在考虑人口、gdp、产业结构(第二产业增加值占比)、能源消费结构、能源强度、碳排放强度以及进出口总额等能源消费预测影响因素的基础上,提出了eemd-isfla-lssvm能源消费预测模型。该预测模型的具体预测步骤如下:
(1)数据采集与影响因素筛选
采集样本数据,包括历史能源消费、人口、gdp、产业结构、能源消费结构、能源强度、碳排放强度以及进出口总额等数据。然后对数据进行无量纲化处理,并计算各个影响因素与能源消费的灰色关联度,根据灰色关联度的排序来筛选模型的输入因素。
(2)基于eemd的序列降噪
对待预测序列进行集成经验模态分解,得到多个imf分量。
(3)基于isfla-lssvm的能源消费预测
在考虑能源消费预测影响因素的基础上,对通过集成经验模态分解得到的imf分量运用isfla-lssvm模型分别进行预测,并对预测的结果进行重构,得到最终的能源消费预测结果。
本发明中,我们收集了中国1990年-2016年的人口、gdp、产业结构(第二产业增加值占比)、能源消费结构、能源强度、碳排放强度以及进出口总额等能源消费影响因素数据。(数据来源于世界银行数据库以及中国统计年鉴)。
为了确定预测模型的输入,我们采用灰色关联度指标来筛选能源消费影响因素,实现特征降维。各个影响因素与能源消费的灰色关联度计算结果如下:
表1灰色关联度计算结果
根据表1,我们选取灰色关联度大于0.7的五个因素作为能源消费预测模型的输入,分别为人口、gdp、产业结构、能源消费结构以及进出口总额。模型输出为能源消费。
为了实现对能源消费的准确预测,我们首先对原始能源消费序列进行集成经验模态分解,以实现数据降噪,通过集成经验模态分解,得到三个imf分量和一个残余信号,如图1所示:
我们以中国1990-2009年的数据作为训练样本集,以2010-2016年的数据作为测试样本集,运用isfla-lssvm模型对上述得到的imf分量以及残余信号进行分别预测。模型参数设定如下:青蛙种群数量为500,子群数量为50,子群内部搜索次数为10次;最小二乘支持向量机的正则化参数的搜索范围为[0.1,150],径向基核函数参数的搜索范围为[0.01,30],全局最大迭代次数为150。预测结果及残差如图2所示:
对imf分量以及残余信号的预测结果进行重构,得到能源消费的最终预测结果,如图3所示:
各预测点的相对误差如表2所示:
表2各预测点的相对误差
根据图3和表2,运用eemd-isfla-lssvm模型对能源消费进行预测,预测曲线与实际曲线的拟合程度非常好,预测效果显著,且所有预测点的相对误差均不超过5%。
此实施例仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。