本发明涉及电力负荷分析技术,尤其涉及一种基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法和系统。
背景技术:
电力负荷预测是利用当前已知的信息(包括历史信息、现状及未来的发展趋势),对未来的负荷做出判断的过程。负荷预测的精准度决定了相关发电单位的发电成本以及供电可靠性。出现超载预测会使得发电单位的发电成本增加,出现欠载预测会使得供电可靠性受到影响。由于中长期的负荷受到各种不确定因素的影响,而且相关数据的收集较短期,负荷预测更加困难,所以一般中长期负荷预测的预测精度相对较差。传统的负荷预测方法主要有用电单耗法、电力弹性系数法、人均用电量法、时间序列法、负荷密度法、灰色系统法和一些智能算法如:神经网络、支持向量机、深度信念网络等。其中灰色模型由于其处理小样本、贫信息的特点在电力系统中长期负荷预测中得到了广泛的运用。近年来提出了许多新形式的灰色模型,包括采用扩展、优化以及修正的方法,以达到更好的预测效果。但是在传统灰色模型的基础上进行优化不能从本质上解决输入样本的波动较大时,其预测的精度会降低的问题。
技术实现要素:
本发明主要目的在于,提供一种基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法和系统,以解决现有技术在传统灰色模型的基础上进行优化时,当输入样本的波动较大时,其预测精度会降低的问题。
本发明是通过如下技术方案实现的:
一种基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法,包括:
步骤1:初始化算法基本参数,设置分数阶的灰色模型的阶数ri,给定用于计算的灰色预测的原始数据x(0)=(x(0)(1),x(0)(2),lx(0)(n));
步骤2:分别通过阶数ri,计算分数阶灰色模型的预测值,并计算对应的平均相对误差f(ri);
步骤3:计算适应度函数fi;并利用函数fi确定萤火虫的光强ii;
步骤4:计算ri之间的距离mij:
更新ri:
步骤5:计算适应度函数f(ri);
步骤6:通过bfgs算法更新ri,计算当前适应度函数f(ri),并计算出对应的fi*,得出最优值fp*;
步骤7:比较计算出的函数fi*的值,若fi*<fp*,则ri=rp*;
步骤8:若fp*(k)<fp*(k+1),则fp*(k)=fp*(k+1),令rp(k)=rp(k+1);
步骤9:判断是否满足算法收敛准则,若满足则跳转到步骤10,反之跳转到步骤3;
步骤10:通过最佳阶数rp计算分数阶灰色模型的预测值作为输出值输出。
进一步地,所述步骤2包括:
步骤2-1:计算原始数据构成序列x(0)的ri阶累加生成序列
步骤2-2:对
分数阶灰色模型为x(r-1)(k)+az(r)(k)=b,其中,
步骤2-3:计算
步骤2-4:按如下公式求解参数矩阵
步骤2-5:确定
步骤2-6:根据如下公式计算
步骤2-7:根据如下公式还原求出x(0)的模拟值
(k=2,3,l,n),其中,
步骤2-8:根据如下公式计算平均相对误差f(ri):
一种基于bfgs-fa优化分数阶灰色模型的中长期负荷预测系统,包括:
初始化模块,用于初始化算法基本参数,设置分数阶的灰色模型的阶数ri,给定用于计算的灰色预测的原始数据x(0)=(x(0)(1),x(0)(2),lx(0)(n));
分数阶灰色模型预测值计算模块,用于分别通过阶数ri,计算分数阶灰色模型的预测值,并计算对应的平均相对误差f(ri);
萤火虫光强计算模块,用于计算适应度函数fi;并利用函数fi确定萤火虫光强ii;
距离计算模块,用于计算ri之间的距离mij:
以及更新ri:
适应度函数计算模块,用于计算适应度函数f(ri);
最优值计算模块,用于通过bfgs算法更新ri,计算当前适应度函数f(ri),并计算出对应的fi*,得出最优值fp*;
比较模块,用于比较计算出的函数fi*的值,若fi*<fp*,则ri=rp*;
判断模块,用于在fp*(k)<fp*(k+1)时,令fp*(k)=fp*(k+1),rp(k)=rp(k+1);
跳转模块,用于判断是否满足算法收敛准则,若满足则跳转到输出模块,反之跳转到萤火虫光强计算模块;
输出模块,用于通过最佳阶数rp计算分数阶灰色模型的预测值作为输出值输出。
进一步地,所述分数阶灰色模型预测值计算模块包括:
累加生成序列计算模块,用于计算原始数据构成序列x(0)的ri阶累加生成序列
序列生成模块,用于对
分数阶灰色模型为x(r-1)(k)+az(r)(k)=b,其中,
累减生成序列计算模块,用于计算
参数矩阵求解模块,用于按如下公式求解参数矩阵
时间响应式确定模块,用于确定
模拟值计算模块,用于根据如下公式计算
模拟值还原计算模块,用于根据如下公式还原求出x(0)的模拟值
(k=2,3,l,n),其中,
平均相对误差计算模块,用于根据如下公式计算平均相对误差f(ri):
与现有技术相比,本发明提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法和系统,用分数阶灰色模型代替原有的整数阶灰色模型,解决了新信息优先使用的问题,增加了模型的自由度和灵活度。利用分数阶灰色预测模型进行中长期负荷预测,可以拓展灰色预测的应用范围,提高灰色模型的抗干扰能力。本发明利用bfgs-fa算法的全局收敛性和超线性收敛速度的特性寻取分数阶灰色预测模型的最佳阶数,可以提高分数阶灰色预测模型的准确性。通过实例仿真证明,基于bfgs-fa优化的分数阶灰色预测模型可以提高负荷预测精度,达到更好的预测效果。
附图说明
图1是本发明实施例提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法的流程示意图;
图2是本发明实施例提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法中步骤s2的方法流程示意图;
图3是本发明实施例提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测系统的组成示意图;
图4是本发明实施例提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测系统中分数阶灰色模型预测值计算模块的组成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步详细说明。
分数阶灰色模型有着整数阶灰色模型不能代替的优点,在相同情况下,分数阶灰色模型与整数阶灰色模型相比具有信息优先,扰动界小等优点,这些优点使得分数阶灰色模型在负荷预测中克服了整数阶灰色模型的缺点,从而使得预测的结果比整数阶灰色模型的精确度有明显提高。从分数阶灰色预测模型的原理可以看出,分数阶运算主要体现在数据的预处理过程中,阶数的选取会影响分数阶灰色模型的预测准确性,因此寻找最优的阶数十分重要。由于萤火虫算法fa具有全局寻优的能力,相比于其他算法而言,在收敛条件发生变化时可以克服局部最优的问题。但fa在优化的后期收敛慢,收敛精度不高,为克服fa的缺陷,利用数值效果较好的拟牛顿法,即bfgs算法,将该算法使用在fa迭代更新过程中,以增强其局部寻优能力和收敛速度。
分数阶灰色预测模型是在分数阶累加生成与分数阶累减生成的基础上建立的。通过对累加生成算子的阶数进行调整,根据调整的阶数生成目标序列,以提高灰色预测模型的拟合精度。
设原始数据序列为:
x(0)=(x(0)(1),x(0)(2),l,x(0)(n)),r∈r+,x(r)=(x(r)(1),x(r)(2),l,x(r)(n))为原始数列的r阶累加数列。
分数阶灰色模型为x(r-1)(k)+az(r)(k)=b,其中:
模型中的参数向量
其中,y,b分别为
分数阶灰色模型的微分方程
预测值为:
(k=2,3,l,n)
其中
利用分数阶灰色预测模型进行中长期负荷预测,可以拓展灰色预测的应用范围,提高灰色模型的抗干扰能力。而分数阶灰色预测模型的重点在于阶数r值的寻取,r值的不同会导致预测结果有很大的区别。本发明利用bfgs-fa算法的全局收敛性和超线性收敛速度的特性寻取分数阶灰色预测模型的最佳阶数,可以提高分数阶灰色预测模型的准确性。以下为本发明技术方案的具体实施流程:
如图1所示,本发明实施例提供的基于bfgs-fa优化分数阶灰色模型的中长期负荷预测方法,包括:
步骤s1:初始化算法基本参数,设置分数阶的灰色模型的阶数ri,给定用于计算的灰色预测的原始数据x(0)=(x(0)(1),x(0)(2),lx(0)(n));
步骤s2:分别通过阶数ri,计算分数阶灰色模型的预测值,并计算对应的平均相对误差f(ri);
步骤s3:计算适应度函数fi;并利用函数fi确定萤火虫的光强ii;
步骤s4:计算ri之间的距离mij:
更新ri:
步骤s5:计算适应度函数f(ri);
步骤s6:通过bfgs算法更新ri,计算当前适应度函数f(ri),并计算出对应的fi*,得出最优值fp*;
步骤s7:比较计算出的函数fi*的值,若fi*<fp*,则ri=rp*;
步骤s8:若fp*(k)<fp*(k+1),则fp*(k)=fp*(k+1),令rp(k)=rp(k+1);
步骤s9:判断是否满足算法收敛准则,若满足则跳转到步骤s10,反之跳转到步骤s3;
步骤s10:通过最佳阶数rp计算分数阶灰色模型的预测值作为输出值输出。
如图2所示,所述步骤s2包括:
步骤s2-1:计算原始数据构成序列x(0)的ri阶累加生成序列
步骤s2-2:对
分数阶灰色模型为x(r-1)(k)+az(r)(k)=b,其中,
步骤s2-3:计算
步骤s2-4:按如下公式求解参数矩阵
步骤s2-5:确定
步骤s2-6:根据如下公式计算
步骤s2-7:根据如下公式还原求出x(0)的模拟值
(k=2,3,l,n),其中,
步骤s2-8:根据如下公式计算平均相对误差f(ri):
基于上述预测方法,如图3所示,本发明实施例还提供了一种基于bfgs-fa优化分数阶灰色模型的中长期负荷预测系统,包括:
初始化模块1,用于初始化算法基本参数,设置分数阶的灰色模型的阶数ri,给定用于计算的灰色预测的原始数据x(0)=(x(0)(1),x(0)(2),lx(0)(n));
分数阶灰色模型预测值计算模块2,用于分别通过阶数ri,计算分数阶灰色模型的预测值,并计算对应的平均相对误差f(ri);
萤火虫光强计算模块3,用于计算适应度函数fi;并利用函数fi确定萤火虫光强ii;
距离计算模块4,用于计算ri之间的距离mij:
以及更新ri:
适应度函数计算模块5,用于计算适应度函数f(ri);
最优值计算模块6,用于通过bfgs算法更新ri,计算当前适应度函数f(ri),并计算出对应的fi*,得出最优值fp*;
比较模块7,用于比较计算出的函数fi*的值,若fi*<fp*,则ri=rp*;
判断模块8,用于在fp*(k)<fp*(k+1)时,令fp*(k)=fp*(k+1),rp(k)=rp(k+1);
跳转模块9,用于判断是否满足算法收敛准则,若满足则跳转到输出模块10,反之跳转到萤火虫光强计算模块3;
输出模块10,用于通过最佳阶数rp计算分数阶灰色模型的预测值作为输出值输出。
如图4所示,所述分数阶灰色模型预测值计算模块2包括:
累加生成序列计算模块201,用于计算原始数据构成序列x(0)的ri阶累加生成序列
序列生成模块202,用于对
分数阶灰色模型为x(r-1)(k)+az(r)(k)=b,其中,
累减生成序列计算模块203,用于计算
参数矩阵求解模块204,用于按如下公式求解参数矩阵
时间响应式确定模块205,用于确定
模拟值计算模块206,用于根据如下公式计算
模拟值还原计算模块207,用于根据如下公式还原求出x(0)的模拟值
(k=2,3,l,n),其中,
平均相对误差计算模块208,用于根据如下公式计算平均相对误差f(ri):
上述预测系统与上述预测方法对应,上述预测系统中的各模块用于执行上述预测方法中的对应步骤,在此不再赘述。
上述实施例仅为优选实施例,并不用以限制本发明的保护范围,在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。