本文涉及电力工程领域,特别是一种基于粒子群优化最小二乘支持向量机的短期负荷预测方法。
背景技术:
短期负荷预测主要是指未来1~7日的电力负荷。在随着我国电力行业体制改革的日益深入,电力相关企业逐步走入市场,其经营方式从垄断经营转变为市场竞争将成为必然。负荷预测是电力行业的重要工作,它不仅是保证电网安全稳定运行的前提,更是发电厂商与售电公司报价的依据。而目前,由于负荷预测在具体实施过程中的不确定性,和量化难度复杂的因素,影响了一些负荷预测的理论基础,增加了负荷预测的难度,造成短期负荷预测结果精度偏低。支持向量机理论已被广泛应用于负荷预测领域,并且成为解决非线性回归问题的一种非常有效的方法,与传统的预测方法相比,它在预测精度以及算法的有效性上有着明显的优势,因此,国内外很多学者对其做了广泛而深入的研究。对于支持向量机模型来说,核函数及其参数的选择直接决定了它的最终性能。为了获得性能优良的核函数,使用多个核函数,并通过模型训练获得其最优组合作为最终的混合核函数,是一种行之有效的方法。相关文献研究表明,采用高斯核函数与多项式核函数按照一定的权重系数进行组合而得到的最终混合核函数具有优良的学习能力与泛化性能。结合相关文献的研究成果,本发明提出了一种基于双种群粒子群优化混合核函数最小二乘支持向量机的负荷预测模型,采用基于双种群粒子群优化算法寻求最小二乘支持向量机模型相关的最优参数组合,然后将训练好的最小二乘支持向量机模型用于负荷预测,从而提高了模型的训练速度和预测精度。
技术实现要素:
有鉴于此,本发明提供一种短期负荷预测方法。以解决现有技术措施中造成短期负荷预测结果精度偏低的问题。
本发明是采用如下技术方案实现的:
一种基于粒子群优化最小二乘支持向量机的短期负荷预测方法,其特征在于,包括以下步骤:
步骤1、获取原始数据,所述的原始数据包括:历史负荷数据、气象数据、节假日数据等;
步骤2、对原始数据进行分析处理,所述原始数据分析处理过程为:首先对原始数据进行归一化处理,然后对原始数据进行完整性分析;
步骤3、利用所述的历史数据建立基于双种群优化混合核函数的最小二乘支持向量机的短期负荷预测模型,模型输出为待预测日的负荷数据,该基于双种群优化混合核函数的最小二乘支持向量机的短期负荷预测模型包括:
输入层:输入变量为若干个与负荷预测相关的历史气象数据、日期数据、负荷数据的一部分,其中输入变量组成向量x,且
x=[x(i)丨i=1,2,…,n]
其中n为所述的输入层的输入变量个数;
模型训练层:采用具有高斯核函数与多项式核函数按照一定的权重系数进行组合的混合核函数最小二乘支持向量机,并采用双种群的粒子群算法对所述模型的参数进行寻优,该训练层使输入样本非线性变换到一个高维的线性特征空间,并在此空间中使用训练样本对所述的混合核函数最小二乘支持向量机的短期负荷预测模型进行训练,经核变换后,决策函数的形式为:
其中,f为决策函数,αi为拉格朗日乘子,x、yi为训练样本,κ(x,xi)为混合核函数,b为阈值;
所述的混合核函数为高斯核函数与多项式核函数按照一定的权重系数进行组合而得到的;
高斯核函数为:
κ(xi,xj)=exp(-||xi-xj||2/2σ2)
其中,σ>0为核函数宽度;
多项式核函数为:
其中,d≥0为多项式次数;
混合核函数的最终形式为:
κ=aκg+(1-a)κp
其中a为高斯核κg的权重系数,1-a为多项式核κp的权重系数;
输出层:输出层采用所述的基于混合核函数最小二乘支持向量机预测模型经训练后回归函数作为输出依据,记为
步骤4、采用基于k-折交叉验证的方法,对训练样本集进行交叉验证,以若干个待预测日的负荷预测数据与待预测日的实际数据的差的平均均方误差作为适应度函数,在所述的若干历史日的若干电力负荷中选取m组数据;
其中,xi为所述的基于混合核函数最小二乘支持向量机预测模型的第i组输入数据,
建立所述的适应度函数;
其中,mse为所述的误差函数的输出,
步骤5、将所述的适应度函数作为目标函数,利用基于双种群的粒子群算法对目标函数进行参数寻优,寻优结束后,即建立起了基于双种群粒子群优化的混合核函数最小二乘支持向量机的短期负荷预测模型;
步骤6、根据所述的负荷预测模型,对待预测日的负荷进行预测。
在上述的一种基于粒子群优化最小二乘支持向量机的短期负荷预测方法,所述步骤5中,在利用双种群的粒子群算法对所述的目标函数进行寻优之前,先要指出所需要确定的所述的基于混合核函数最小二乘支持向量机的短期负荷预测模型的参数;
所述的基于混合核函数最小二乘支持向量机预测模型需要选取的模型参数有4个,即正则化常数c、高斯核函数宽度σ、多项式核函数次数d和混合核函数组合权重系数a;
粒子群优化算法引入群智能算法的思想,兼备进化算法的优点,具有优良的优化及搜索能力;然而,标准粒子群优化算法每次迭代过程中,粒子都依据全局最优值来更新自己,这样就造成了粒子趋于同一化,粒子的多样性迅速消失,从而造成算法的早熟;标准粒子群算法对计算中的信息利用率不足,这样容易造成运算后期收敛比较慢,影响算法的效率;为解决上述标准粒子群算法的缺陷,采用具有全局搜索与局部搜索能力俱佳的双种群粒子群算法,并采用具有动态加速因子的策略,可以有效克服上述缺点,提高算法的运算效果;基于双种群的粒子群优化算法对目标函数进行参数优化寻优,包括以下步骤:
步骤3.1、初始化混合核函数的最小二乘支持向量机模型的参数,设定正则化常数c、高斯核函数宽度σ、多项式核函数次数d和混合核函数组合权重系数a的取值范围;
步骤3.2、初始化个体极值位置pb=(xi1,xi2,…,xid)及其对应的个体极值pbf、全局极值位置gb=(xb1,xb2,…,xbd)及其对应的全局极值gbf;
步骤3.3、每个粒子的适应度pf;
先输出一个粒子,对每一个样本而言,都可以计算出一个模型的输出值,再按照所述的适应度函数计算平均均方误差;同样的方法,计算出所有样本的平均均方误差误差,即为相应粒子的适应度;继续输入其他粒子,直至计算出所有粒子的适应度;
步骤3.4、通过比较得出pb、pbf、gbf、gbf,以求最小值为例:
若pf<pbf,pf=pbf,pb=xi;否则pb、pbf不变;
若pf<gbf,gbf=pf,gb=xi;否则gbf、gb不变;
步骤3.5、更新每个粒子的位置和速度,并考虑更新后的速度和位置是否在限定的范围内;
所述负责局部寻优的子群的进化方程为:
vij(t+1)=ω×vij(t)+c1×r×(pij(t)-xij(t))+c2×r×(pgj(t)-xij(t))
ω(t)=0.3
所述负责全局寻优的子群的进化方程为:
vij(t+1)=ω×vij(t)+c1×r1j(t)×(pij(t)-xij(t))+c2×r2j(t)×(pgj(t)-xij(t))
ω(t)=0.9-0.5t/tmax
其中,其中,ω为权重;c1和c2为加速因子;r为在[0,1]中分布均匀的任意数;
所述的加速因子采用动态调整的策略,所述的c1和c2的取值公式为:
c1(t)=c1start-(c1start-c1end)×(arctan(20×t/tmax-e)+arctane)/l
c2(t)=c2start-(c2start-c2end)×(arctan(20×t/tmax-e)+arctane)/l
其中,c1start和c2start分别是c1和c2的初值;c1end和c2end分别是c1和c2的终值;tmax为算法的最大迭代次数;e为调节系数,控制曲线的衰减,一般取值为0~10;l=arctan(20-e)+arctane;
考虑速度:
若vij(t+1)>vmax,则vij(t+1)=vmax;
若vij(t+1)<-vmax,则vij(t+1)=-vmax;
否则,vij(t+1)不变;
考虑位置:
若xij(t+1)>xmax,则xij(t+1)=xmax;
若xij(t+1)<xmax,则vij(t+1)=vmax;
否则,xij(t+1)不变;
其中,vmax、xmax、xmin分别为最大速度、最大位置、最小位置;
步骤3.6、比较迭代次数是否达到最大迭代次数或预设的精度,若满足预设精度或达到最大迭代次数,算法收敛,计算结束;否则返回步骤3.2,继续迭代,直至达到最大迭代次数或预设的精度后结束计算。
因此,本发明具有如下优点:1、在支持向量机算法的核函数采用了多项式核函数与高斯核函数按照权重系数进行组合的混合核函数,使得该模型可以很好地处理具有多种来源的数据组成或者是异构数据集;2、在支持向量机算法的参数选择上,采用兼具全局性搜索与群智能思想的改进粒子群优化算法——双种群粒子群优化算法。该算法通过对粒子群进行子群划分,使各个子群分工明确,这种群体之间的协作,不仅增加了种群的多样性,而且提高了粒子群的寻优工作效率;并采用动态调整加速因子的方法来提高算法的寻优性能。
附图说明
图1是本发明基于双种群粒子群优化混合核函数最小二乘支持向量机短期负荷预测方法的流程示意图。
具体实施方式
为进一步阐明本发明所采取的技术手段及所取得的效果,下面结合附图及具体实施例,对本发明的技术方案,进行清楚和完整地描述;
请参阅图1,为本发明基于双种群优化混合核函数最小二乘支持向量机的短期负荷预测方法的流程示意图,本发明基于双种群优化混合核函数最小二乘支持向量机的短期负荷预测方法,包括以下步骤:
s101获取短期负荷预测相关的历史数据,包括:气象数据、节假日数据、负荷数据等;
首先,获取短期负荷预测相关的历史数据,包括:气象数据、节假日数据、负荷数据等;
s102利用所述的短期负荷预测相关的历史数据,建立基于双种群优化混合核函数最小二乘支持向量机的短期负荷预测模型,模型输出为待预测日的负荷预测数据;
作为其中的一个实施例,所述的基于双种群优化混合核函数最小二乘支持向量机的短期负荷预测模型是一种三层结构;
所述的基于双种群优化混合核函数最小二乘支持向量机的短期负荷预测模型结构的第一层是输入层,输入变量为所述的若干历史日的短期负荷相关数据;
记所述的输入层的输入变量组成向量x;
x=[x(i)丨i=1,2,…,n]
其中n为所述的输入层的输入变量个数;
所述的基于混合核函数最小二乘支持向量机的短期负荷预测模型的结构的第二层是训练层,所述的训练层是利用核函数的相关方法,使输入样本非线性变换到一个高维的线性特征空间,并在此空间中使用训练样本对所述的混合核函数最小二乘支持向量机的短期负荷预测模型进行训练;
所述的最小二乘支持向量机,经核变换后,决策函数的形式为:
其中,f为决策函数,αi为拉格朗日乘子,x、yi为训练样本,κ(x,xi)为核函数,b为阈值;
所述的混合核函数为高斯核函数与多项式核函数按照一定的权重系数进行组合而得到的;
所述的高斯核函数为:
κ(xi,xj)=exp(-||xi-xj||2/2σ2)
其中,σ>0为核函数宽度;
所述的多项式核函数为:
其中,d≥0为多项式次数;
所述的混合核函数的最终形式为:
κ=aκg+(1-a)κp
其中a为高斯核κg的权重系数,1-a为多项式核κp的权重系数;
所述的基于混合核函数最小二乘支持向量机的短期负荷预测模型的结构的第三层为输出层,所述的输出层采用所述的基于混合核函数最小二乘支持向量机预测模型经训练后回归函数作为输出依据,记为
s103以若干个所述的待预测日的负荷预测数据与待预测日的实际数据的差的平均均方值作为误差方程;
作为其中一个实施例,在所述的若干历史日的若干电力负荷中选取m组数据;
其中,xi为所述的基于混合核函数最小二乘支持向量机预测模型的第i组输入数据,
建立所述的适应度函数;
其中,mse为所述的误差函数的输出,
s104将所述的适应度函数作为目标函数,利用所述的基于双种群的粒子群算法对所述的目标函数进行参数寻优,寻优结束后即建立起了基于双种群粒子群优化混合核函数的最小二乘支持向量机的短期负荷预测模型;
作为其中的一个实施例,在利用双种群的粒子群算法对所述的目标函数进行寻优之前,先要指出所需要确定的所述的基于混合核函数最小二乘支持向量机的短期负荷预测模型的参数;
所述的基于混合核函数最小二乘支持向量机预测模型需要选取的模型参数有4个,即正则化常数c、高斯核函数宽度σ、多项式核函数次数d和混合核函数组合权重系数a;
粒子群优化算法引入群智能算法的思想,兼备进化算法的优点,具有优良的优化及搜索能力。然而,标准粒子群优化算法每次迭代过程中,粒子都依据全局最优值来更新自己,这样就造成了粒子趋于同一化,粒子的多样性迅速消失,从而造成算法的早熟。标准粒子群算法对计算中的信息利用率不足,这样容易造成运算后期收敛比较慢,影响算法的效率。为解决上述标准粒子群算法的缺陷,采用具有全局搜索与局部搜索能力俱佳的双种群粒子群算法,并采用具有动态加速因子的策略,可以有效克服上述缺点,提高算法的运算效果。利用所述的双种群的粒子群算法进行参数寻优包括以下步骤:
首先进行初始化;
所述的初始化包括以下步骤:
1)首先初始化混合核函数的最小二乘支持向量机模型的参数,设定正则化常数c、高斯核函数宽度σ、多项式核函数次数d和混合核函数组合权重系数a的取值范围;
2)初始化个体极值位置pb=(xi1,xi2,…,xid)及其对应的个体极值pbf、全局极值位置gb=(xb1,xb2,…,xbd)及其对应的全局极值gbf;
3)每个粒子的适应度pf;
先输出一个粒子,对每一个样本而言,都可以计算出一个模型的输出值,再按照所述的适应度函数计算平均均方误差;同样的方法,计算出所有样本的平均均方误差误差,即为相应粒子的适应度;继续输入其他粒子,直至计算出所有粒子的适应度;
4)通过比较得出pb、pbf、gbf、gbf,以求最小值为例:
若pf<pbf,pf=pbf,pb=xi;否则pb、pbf不变;
若pf<gbf,gbf=pf,gb=xi;否则gbf、gb不变;
5)更新每个粒子的位置和速度,并考虑更新后的速度和位置是否在限定的范围内;
所述负责局部寻优的子群的进化方程为:
vij(t+1)=ω×vij(t)+c1×r×(pij(t)-xij(t))+c2×r×(pgj(t)-xij(t))
ω(t)=0.3
所述负责全局寻优的子群的进化方程为:
vij(t+1)=ω×vij(t)+c1×r1j(t)×(pij(t)-xij(t))+c2×r2j(t)×(pgj(t)-xij(t))
ω(t)=0.9-0.5t/tmax
其中,其中,ω为权重;c1和c2为加速因子;r为在[0,1]中分布均匀的任意数;
所述的加速因子采用动态调整的策略,所述的c1和c2的取值公式为:
c1(t)=c1start-(c1start-c1end)×(arctan(20×t/tmax-e)+arctane)/l
c2(t)=c2start-(c2start-c2end)×(arctan(20×t/tmax-e)+arctane)/l
其中,c1start和c2start分别是c1和c2的初值;c1end和c2end分别是c1和c2的终值;tmax为算法的最大迭代次数;e为调节系数,控制曲线的衰减,一般取值为0~10;l=arctan(20-e)+arctane;
考虑速度:
若vij(t+1)>vmax,则vij(t+1)=vmax;
若vij(t+1)<-vmax,则vij(t+1)=-vmax;
否则,vij(t+1)不变;
考虑位置:
若xij(t+1)>xmax,则xij(t+1)=xmax;
若xij(t+1)<xmax,则vij(t+1)=vmax;
否则,xij(t+1)不变;
其中,vmax、xmax、xmin分别为最大速度、最大位置、最小位置;
6)比较迭代次数是否达到最大迭代次数或预设的精度,若满足预设精度,算法收敛;否则返回2),继续迭代;
s105根据所述的基于双种群粒子群优化的最小二乘支持向量机短期负荷预测模型对待预测日的负荷进行预测;
将若干历史日的历史数据输入建立起来的所述的基于双种群粒子群优化的最小二乘支持向量机短期负荷预测模型,输出即为待预测日的负荷预测值;
与一般技术相比,本发明基于双种群粒子群优化的混合核函数最小二乘支持向量机短期负荷预测模型,在短期电力负荷预测中,考虑了对气象、节假日等对负荷有较大影响的因素,算法理论基础完备,模型参数选择快速,运行效率高,提高了短期负荷预测的精度,能够为电网调度、安全运行提供坚实保障,为电厂及售电公司报价提供相关依据;
以上所述实施例,仅表明了本发明的实施方式,其描述较为具体和详细,但不能因此而理解为对本发明专利范围的限制,应当指出的是,对于本领域和普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围,因此,本发明专利的保护范围应以所附权利要求为准。