技术领域
本发明涉及一种光伏发电领域,更具体地,涉及一种基于Kmeans和 CEEMD-PE-LSTM的短期光伏发电功率预测方法。
背景技术
通过精确预测光伏发电功率,可以降低光伏并网对电网有可能造成的损害,对电网的稳定运行有重要的意义。目前,光伏发电功率的预测方法大多都是结合天气影响因素和光伏输出功率进行分析预测。有文献中提出EMD-LSTM的光伏发电预测方法,运用EMD将原始序列分别为多个模态,结合LSTM预测的光伏发电功率精度有所提高,但是EMD存在模态混叠的问题。还有文献提出基于 Kmeans-SVM的短期光伏发电功率预测模型,利用Kmeans算法对训练样本进行聚类分析找出预测日的相似日,结合SVM算法预测光伏发电功率。另外相关文献还提出一种将相似日和小波神经网络结合起来的光伏功率预测方法,先用灰色关联度算法选取相似日,结合小波神经网络预测光伏发电功率。
以上研究有考虑采用Kmeans算法选取相似日或者使用经验模态分解算法降低时间序列的复杂度,但没有将之结合起来建立预测模型,在预测精度和预测时间上有一点的缺陷,没有能达到理想中的预测效果。
发明内容
本发明针对现有技术中现有技术中光伏发电功率预测精度有待提高,预测时间过长的问题。提供一种基于Kmeans和CEEMD-PE-LSTM的短期光伏发电功率预测方法。
为实现上述目的,本发明采用以下技术方案:
一种基于Kmeans和CEEMD-PE-LSTM的短期光伏发电功率预测方法,包括以下步骤:
S1、建立光伏发电功率预测模型;
S2、对历史功率数据和影响因素数据进行数据预处理;对处理后的数据进行分析,选出待预测日的相似日;
S3、对相似日和预测日的影响因素以及发电功率进行分解,分别得到n个固有模态分量以及一个残差量Res;
S4、对S3得到的固有模态分量进行计算,将固有模态分量重构成高频分量和低频分量;
S5、分别对高频、低频和残差量序列建立长短期记忆神经网络预测模型,预测各子序列功率;
S6、将三种子序列预测结果叠加起来,得到光伏功率预测结果。
进一步地,在步骤S1中建立的光伏发电预测模型包括Kmeans算法、CEEMD 算法、PE算法、LSTM算法。
进一步地,在步骤S2采用Kmeans算法对数据进行预处理。
进一步的,在步骤S3中运用CEEMD算法对相似日和预测日的影响因素以及发电功率进行分解。
进一步的,在步骤S4中使用PE算法将固有模态分量重构成高频分量和低频分量。
进一步的,在步骤S5和S6中采用LSTM算法预测各子序列功率并且将子序列预测结果叠加起来,得到光伏功率预测结果。
进一步的,相似日和预测日的影响因素包括辐射强度、温度、湿度、风速。
进一步的,用仿真实验来验证本方法的有效性和精确度;仿真实验中采集的数据间隔为15-30分钟。
进一步的,在仿真实验中选取晴天和雨天的历史数据作为初始样本。
本发明的有益效果为:相比于单一算法的预测结果,本发明建立多种算法结合的光伏发电预测模型,降低了时间序列的复杂度,又使得子序列具有一定规律和趋势,提高了功率预测模型的准确性和精度,减少了预测所需的时间,同时在不同的天气类型下,具有良好的稳定性和适应性。
附图说明
图1为光伏发电功率预测流程图;
图2为光伏发电功率CEEMD分解图;
图3为重构后的时间序列图;
图4为晴天预测结果图;
图5为雨天预测结果图。
具体实施方式
下面结合具体实施方式对本发明作进一步的说明。
一种基于Kmeans和CEEMD-PE-LSTM的短期光伏发电功率预测方法,包括以下步骤:
S1、建立光伏发电功率预测模型;
在步骤S1中建立的光伏发电预测模型包括Kmeans算法、CEEMD算法、 PE算法、LSTM算法。
S2、对历史功率数据和影响因素数据进行数据预处理;对处理后的数据进行分析,选出待预测日的相似日;
在步骤S2采用Kmeans算法对数据进行预处理,Kmeans算法原理为:
光伏发电受太阳辐射强度和环境温度等因素的影响波动性大,所以在预测光伏发电功率时选取相似日可以提高预测精度。Kmeans是一种常见的基于距离聚类的算法,该算法要确定并不断更新聚类中心以及计算每个点与聚类中心的欧式距离,直到满足条件或者达到收敛,最终达到对数据进行分类的目的[7]。本文利用Kmeans算法对历史数据进行分类,从而达到选取预测日的相似日的目的。具体Kmeans算法步骤如下:
(1)从待聚类样本数据中随机选择k个样本数据作为初始聚类中心{μ
(2)计算每个样本到各个初始聚类中心的欧氏距离,选择距离最近的聚类中心形成k簇,并且根据距离公式更新k簇,距离计算公式为:
其中,μ
对新的k簇重新计算新的聚类中心。聚类中心计算公式为:
重复步骤(2)和(3)直到满足终止条件|μ
S3、对相似日和预测日的影响因素以及发电功率进行分解,分别得到n个固有模态分量以及一个残差量Res;在步骤S3中运用CEEMD算法对相似日和预测日的影响因素以及发电功率进行分解。
CEEMD算法原理为:光伏发电功率本身具有随机性和间歇性的特点,所以其时间序列复杂度很大,需要对原始时间序列进行分解,降低其时间序列的复杂度。CEEMD算法是对EEMD算法的进一步改进,EEMD算法虽然有效抑制了 EMD算法中存在的模态混淆问题,但是也增加了由于加入白噪声而产生的重构误差,而CEEMD是向原始信号中加入两个大小相等、符号相反的白噪声,然后分别进行EMD分解,最后对分解的分量信号进行集合平均,CEEMD算法大大减少了由于白噪声产生的重构误差[8]。CEEMD算法的步骤如下:
(1)向原始信号x(t)中分别加入1组符号相反的白噪声信号N
(2)对加入白噪声产生的信号序列进行EMD分解,得到一组m-1个IMF 分量和1个残差量:
其中,c
(3)对步骤(1)和(2)重复n次,得到n组IMF分量和残差量的集合。
(4)计算每组信号集合IMF分量和残差量的集合平均值,就得到CEEMD 的分解结果,包括IMF分量和趋势项R(t)。
其中,c
S4、对S3得到的固有模态分量进行计算,将固有模态分量重构成高频分量和低频分量;在步骤S4中使用PE算法将固有模态分量重构成高频分量和低频分量。
PE算法原理为:
由于分解后的光伏发电功率子序列较多,会给模型带来多重随机误差,使预测结果产生较大误差。要对子序列进行复杂度分析,然后进行重构,使得光伏功率具有一定的规律性,对预测精度有一定提高。PE(排列熵)算法可以很好地检测时间序列的随机性和突变性,具有计算简单、抗干扰能力强的特点。PE算法计算方法如下:
(1)对于长度为n的时间序列x(i)进行相空间重构,得到一组时间序列:
其中,λ为延迟时间,m为嵌入维度。
(2)将X(i)中的元素按升序进行排列,得到一组新的时间序列:
若其中有大小相等的元素,则按照j值的大小排列。
(3)对任一向量X(i)都可以得到一组序列:
S(g)={j
其中,g=1,2,…,l,l≤m!。m维序列产生m!种S(g)排序,
(4)计算每种S(g)序列不同排序结果的概率P
对排列熵进行归一化可表示为:
H
其中,H
S5、分别对高频、低频和残差量序列建立长短期记忆神经网络预测模型,预测各子序列功率;
S6、将三种子序列预测结果叠加起来,得到光伏功率预测结果。在步骤S5 和S6中采用LSTM算法预测各子序列功率并且将子序列预测结果叠加起来,得到光伏功率预测结果
算例分析:
选取某小型光伏发电站的真实数据为例,采用2016年7月到2016年9月的数据作为样本,由于夜晚光伏发电基本为零,所以只考虑每天8:00到18:00 的数据,采集间隔为15min的时间序列。将辐射强度、温度、湿度和风速等影响因素作为自变量,光伏发电功率作为因变量。选择晴天9月30日以及雨天9月 28日作为预测日,在其余样本中选择晴天和雨天的历史数据分别作为两种天气下的初始训练样本。先采用Kmeans聚类找相似日,再进行CEEMD分解以及PE 重构,最后送入LSTM预测模型中进行预测。
首先分别对两种类型天气的样本进行Kmeans聚类分析,将辐射强度、温度、湿度和风速作为输入来进行聚类分析。Kmeans聚类分析后,将与两种类型天气预测日同一类的数据分别作为各自的相似日样本,也就是训练样本,分类结果如下表所示。
得到训练集和预测集的数据后,对晴天和雨天的相似日和预测日数据中的自变量影响因素和因变量发电功率的时间序列进行CEEMD分解。以发电功率为例进行CEEMD分解。发电功率经过CEEMD分解得到7个IMF和1个Ref分量,发电功率分解结果如图3所示。按照频率从高到低排列,从频率最高的IMF1排到频率最低的IMF7,最后是残余项Ref。其他影响因素的分解结果也比较相似,
对分解后的时间序列进行PE计算,以计算出的排列熵值对发电功率子序列进行重构。分别计算出各子序列的排列熵值,并且进行归一化,如下表所示:
将子序列进行重构,PE值大于0.6,表明时间序列比较随机,PE值小于0.6,时间序列比较规则。所以,将IMF1到IMF2重构为高频序列,将IMF3到IMF7 重构为低频信号。重构后的时间序列如图4所示。
将所有影响因素和发电功率的时间序列进行分解重构后,对高频、低频和残余量序列分别建立LSTM预测模型进行功率预测并且进行叠加,得到光伏功率预测结果。
为了验证本文模型对光伏发电功率预测的有效性,还另外建立了单独的 LSTM模型和EMD-PE-LSTM模型,将预测结果来进行比较。采用三种模型分别预测9月30日(晴天)以及9月28日(雨天),预测结果分别如图4、图5 所示。
可以看出,晴天天气下,发电功率从始而终都很平滑,三种模型的预测结果都与实际值很接近,预测精度都很高。雨天天气下,发电功率波动较大,三种模型的预测精度明显低于晴天的预测精度,预测值与实际值有较大误差,但 CMEED-PE-LSTM模型在三种模型的预测结果中效果最好。
分别计算晴天和雨天MAPE和RMSE,得到误差指标如下表所示。
晴天预测精度整体比雨天预测精度高,这是因为,晴天的光伏发电功率比较平滑,没有大的波动,预测效果很好;雨天的光伏发电功率较大波动,预测难度较高,随机性大,在有波动的地方,预测不准,从而影响整体预测精度。在两种天气条件下,本文模型的MAPE和RMSE值均最小。晴天条件下, CEEMD-PE-LSTM模型的MAPE比LSTM模型的预测精度高2%左右,比 EMD-PE-LSTM模型的预测精度也所提高,RMSE为2.23kW,在三种模型中也是最小的;雨天CEEMD-PE-LSTM模型的MAPE为5.10%,比LSTM、 EMD-PE-LSTM分别低1.35%和4.98%,RMSE为5.56kW,比其他两种模型的都低。综合看本文模型可以很好预测光伏发电功率,不管是光伏发电功率平稳时还是有较大波动时,预测精度都有了明显提高。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。
机译: 基于数值天气预测的光伏发电功率预测方法和装置
机译: 光伏发电功率控制系统,光伏发电功率控制方法和程序
机译: 发电功率预测装置,服务器,计算机程序以及发电功率预测方法