发明内容
本发明针对上述缺陷公开了用于风电场功率预测模型的正弦归一化方法。本发明针对现有的归一化方法进行改进,弱化归一化后的功率值对原有功率分布特点的继承。考虑在归一化的过程中,适当放大较小功率之间的差异,同时缩小归一化后功率之间的差异,输出变量值经过归一化显得分布更均匀,增强了神经网络风电场功率预测模型的记忆能力,提高了BP神经网络功率预测模型的精度,尤其是增强了对较小功率波动的跟踪。
本发明的组成部分主要有两个:第一是BP神经网络功率预测模型,第二个是期望输出数据的正弦归一化处理方法。在训练神经网络功率预测模型时,需要对期望输出,即功率值进行正弦归一化处理,在进行预测时,为了得到功率的预测值,需要对神经网络风电场功率预测模型的输出值进行反归一化处理。
用于风电场功率预测模型的正弦归一化方法包括以下步骤:
1)获取风电场的n组数值天气预报数据和风电场输出功率数据;数据采样间隔为15分钟;
2)初始化BP神经网络,该BP神经网络具有两个隐藏层;
3)分别对风速、风向正弦、风向余弦、气温、气压和湿度进行线性归一化处理,线性归一化的公式如下:
其中y’为归一化后的变量,y为待归一化变量(风速、风向正弦、风向余弦、气温、气压或湿度),ymin为待归一化变量中的最小值,ymax为待归一化变量中的最大值;
对于风电场输出功率数据,进行正弦归一化处理,具体说明如下:
首先按以下公式进行线性归一化处理:
xnew线性归一化后的风电场输出功率数据,x为待归一化的风电场输出功率数据,xmin为待归一化的风电场输出功率数据中的最小值,xmax为待归一化的风电场输出功率数据中的最大值;
然后再按照以下公式进行正弦归一化处理:
x′new为正弦归一化后的风电场输出功率数据;
将y′和x′new作用于神经网络模型,依据BP误差反向传播算法,经过学习,最终建立BP神经网络;
4)将x′new作为BP神经网络的输入值进行预测,并将得到的预测结果进行反归一化;首先按照以下公式进行正弦反归一化:
其中x′new为上一步得到的预测结果,该值为0到1之间的值,x’为正弦反归一化后的结果;而后再按照以下公式进行线性反归一化:
p=x'(Xmax-Xmin)+Xmin
P为风电场输出功率预测值。
500≤n≤2000。
本发明的有益效果为:
第一,本发明利用了风电场的功率分布特性,有较强的普适性。第二,数据预处理方法对神经网络模型影响比较大,本发明正是一种改进的预处理方法,能够较为显著地提高神经网络功率预测模型的预测精度。第三,本发明简单易行,不需要对原神经网络功率预测模型进行修改就能够实施。
具体实施方式
下面将结合附图对本发明作进一步说明。
用于风电场功率预测模型的正弦归一化方法,其特征在于,包括以下步骤:
1)获取风电场的n组数值天气预报数据和风电场输出功率数据;数据采样间隔为15分钟;500≤n≤2000。
2)初始化BP神经网络,该BP神经网络具有两个隐藏层;
BP神经网络是最为经典的一种神经网络,一般BP神经网络模型结构可以分为输入层、隐藏层与输出层三个层。其中输入层和输出层分别对应输入变量和输出变量,即原始数据。隐藏层是BP神经网络的关键部位,其层数在很大程度上决定了神经网络模型的泛化能力,但是隐藏层数的没有确切的理论指导。具有单个隐藏层的神经网络模型表述简单,训练方便,具有多个隐藏层的神经网络模型,往往能够精确地完成一个更为复杂的映射。由于单个隐藏层的BP网络计算简单快捷,大多数的预测采用的是单隐藏层的BP神经网络。现有研究成果表明,三层BP神经网络能够解决复杂的非线性问题。增加层数可能在一些特殊情况下进一步降低预测误差,但同时也增加了网络结构的复杂程度,降低了预测模型运行的效率。
隐藏层节点数:通常,神经元数目过少,网络学习效果差,训练次数较多,时间较长,预测精度较低;反之,神经元数目过多,有可能出现“过拟合”现象,网络预测误差同样较大。
学习率:正比于反向传播的误差信号,从而决定了神经网络学习的快慢。
3)分别对风速、风向正弦、风向余弦、气温、气压和湿度进行线性归一化处理,线性归一化的公式如下:
其中y’为归一化后的变量,y为待归一化变量(风速、风向正弦、风向余弦、气温、气压或湿度),ymin为待归一化变量中的最小值,ymax为待归一化变量中的最大值;
对于风电场输出功率数据,进行正弦归一化处理,具体说明如下:
首先按以下公式进行线性归一化处理:
xnew线性归一化后的风电场输出功率数据,x为待归一化的风电场输出功率数据,xmin为待归一化的风电场输出功率数据中的最小值,xmax为待归一化的风电场输出功率数据中的最大值;
然后再按照以下公式进行正弦归一化处理:
x′new为正弦归一化后的风电场输出功率数据;
将y′和x′new作用于神经网络模型,依据BP误差反向传播算法,经过学习,最终建立BP神经网络;
4)将x′new作为BP神经网络的输入值进行预测,并将得到的预测结果进行反归一化;首先按照以下公式进行正弦反归一化:
其中x′new为上一步得到的预测结果,该值为0到1之间的值,x’为正弦反归一化后的结果;而后再按照以下公式进行线性反归一化:
p=x'(Xmax-Xmin)+Xmin
P为风电场输出功率预测值。
以下是本发明的一个具体实施例:
第一步,获取训练数据:
获取国内某风电场2010年全年的数据,包括数值天气预报数据和风电场输出功率数据,数据采样间隔为15分钟,经筛选共28726组数据。这些数据将用于建立神经网络风电场功率预测模型。
第二步,建立神经网络功率预测模型:
神经网络功率预测模型具有两个隐藏层,具体参数为:第一个隐藏层节点数为15,第二个隐藏层节点数为10,学习率为0.6,学习次数为500次。网络具体结构见附图2。
第三步,对数据进行归一化处理并进行训练
对风速、风向正弦、风向余弦、气温、气压和湿度进行线性归一化处理,线性归一化的公式如下:
其中y’为归一化后的变量,y为待归一化变量(风速、风向正弦、风向余弦、气温、气压或湿度),ymin为待归一化变量中的最小值,ymax为待归一化变量中的最大值;
对输出数据采用发明提出的正弦归一化方法:
首先线性归一化:
xnew线性归一化后的输出功率值,x为待归一化的输出功率值,xmin为待归一化输出功率值中最小值,xmax为待归一化输出功率值中的最大值。
对于风电场输出功率数据,进行正弦归一化处理,具体说明如下:
首先按以下公式进行线性归一化处理:
xnew线性归一化后的风电场输出功率数据,x为待归一化的风电场输出功率数据,xmin为待归一化的风电场输出功率数据中的最小值,xmax为待归一化的风电场输出功率数据中的最大值;线性归一化后数据分布直方图如图3所示。
然后再按照以下公式进行正弦归一化处理:
x′new为正弦归一化后的风电场输出功率数据;正弦归一化后数据分布直方图如图4所示。
将y′和x′new作用于神经网络模型,依据BP误差反向传播算法,经过学习,最终建立BP神经网络;
第四步,将归一化的变量作为输入,获得预测值:
将x′new作为BP神经网络的输入值进行预测,并将得到的预测结果进行反归一化;首先按照以下公式进行正弦反归一化:
其中x′new为上一步得到的预测结果,该值为0到1之间的值,x’为正弦反归一化后的结果;而后再按照以下公式进行线性反归一化:
p=x'(Xmax-Xmin)+Xmin
P为风电场输出功率预测值。。
第五步,将预测值与真实值相比较,评价预测效果:
主要有这样几个评价标准:
均方根误差:
其中RMSE代表均方根误差,cap为风电场的开机容量,n为数据的组数,Preal为实际功率值,P为预测功率值。
平均绝对误差:
其中MAE代表平均绝对误差;
相关性:
其中r代表相关性,代表真实功率的平均值。得到的预测结果如下:
预测结果如图5所示。