一种基于支持向量机的光伏发电功率预测方法与流程

文档序号:14519701阅读:308来源:国知局
一种基于支持向量机的光伏发电功率预测方法与流程

本发明涉及一种基于支持向量机的光伏发电功率预测方法。



背景技术:

在光伏发电预测算法中,常用预测算法有灰色预测技术、神经网络预测、组合预测及支持向量机预测几种。灰色预测技术主要应用在短时间、数据变化较平缓的场合,当波动较大时,灰色预测技术不易得到满意的拟合度曲线,影响模型建立,最终影响预测精确度。光伏发电属于波动较大的场合,一天时间内,发电功率可能变化非常大,难以应用灰色预测技术得到较满意的模型。神经网络预测算法是非线性、自适应能力、记忆能力和容错容度强的算法模型,在很多领域得到广泛应用。但神经网络也有很大的缺陷,神经网络学习速度过慢,对于复杂的目标函数,神经网络出现“锯齿形”现象,使得算法失效;神经网络算法为局部搜索的优化方法,算法很可能陷入局部极值,导致训练失败;神经网络的模型建立和使用者的经验有很大的关系,熟练使用者无论建模或是数据预测的精确度都会有很大的提升;由于追求经验风险最小化,神经网络在训练能力和预测能力上不能做到统一。基于以上因素,神经网络算法用于光伏发电功率预测中,不能得到较为满意的模型。而组合预测为综合几种预测算法进行建模,但对使用者来说,模型的建立难度比单一的预测算法呈几何增加。



技术实现要素:

针对上述问题,本发明的首要目的是提供一种基于支持向量机的光伏发电功率预测方法,将基于支持向量机的光伏发电预测方法用在光伏发电系统上,使得光伏发电预测稳定性提高,预测误差更小,克服了传统预测算法追求经验风险最小化带来的误差,提高了预测系统的精确度,可以提高光伏设备利用率和发电效率。进而节约生产成本提高利润空间。

为解决上述技术问题,本发明所采用的技术方案是:

一种基于支持向量机的光伏发电功率预测方法,包括以下步骤:

数据选取:对训练样本和测试样本进行数据选取,训练样本利用支持向量机得到模型,而测试样本对所获模型进行测试;

数据归一化处理:将选取的样本进行归一化处理,降低计算量;

模型建立:利用支持向量机工具,对训练样本建模,得到回归方程;

预测:在matlab环境下使用libsvm进行预测分析,输入测试样本得到测试数据。

优选的,在所述数据选取步骤中,以历史输出功率作为训练样本的特征量。

优选的,在所述数据选取步骤中,以天气状况、温度信息作为训练样本的特征量。

优选的,在所述数据选取步骤中,选取时间为9点到18点每个整点的功率数据作为训练样本以及测试样本,训练样本以及测试样本中的变量包括天气情况、输出功率及时刻点。

优选的,在所述数据归一化处理步骤中,需把训练样本中噪声过大的数据剔除,以免给模型建立造成错误。

本发明的有益效果如下:

(1)使用新技术,预测准确率高。支持向量机应对多因素、高维度场合表现良好。由于核函数的存在,支持向量机把低维复杂计算映射到高维空间,减少了计算量,使得建模容易。

(2)降低能源消耗。基于支持向量机的光伏发电功率预测方法,对光伏发电预测准确率高,可以提前合理分配光伏发电设备。通过用户在不同时段的用电需求,合理进行发送电。

(3)有助于传统生产线的技改升级,在新工程之外创造价值。该方法可以与光伏储能系统很好的结合起来,通过算法对光伏发电进行预测,在电价高峰时段进行卖电,而在电价低谷时对电池进行充电,创造出更大的利润空间与价值。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例支持向量机预测流程示意图;

图2为本发明实施例支持向量机算法流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

结合图1、2所示,一种基于支持向量机的光伏发电功率预测方法,包括数据选取,数据归一化处理,模型建立及预测几部分:

数据选取,对训练样本和测试样本进行数据选取,训练样本利用支持向量机得到模型,而测试样本对所获模型进行测试;

支持向量机建模,支持向量机建模过程中,若按原始数据输入计算,造成计算复杂、误差增大,而数据归一化处理能降低计算量,一般归一化数据到区间[-1,1]或[0,1];

模型建立,经过数据预处理后,利用支持向量机工具,对训练样本建模,在建模过程中,不同的参数对预测精确度有较大影响,因此,需要对模型进行参数择优。在支持向量机中,需对参数c和g择优,c为惩罚系数,表示对误差的接受程度,数值与接受程度成反比;g为选择核函数后自带参数,表示映射到高维空间后的分布;svm训练根据训练样本即可得到svm模型;

预测,即建模完成后,得到回归方程,最后输入测试样本得到测试数据。

样本特征选择

支持向量机通过训练样本进行训练分析,得到输入与输出之间存在的函数关系,再对未知的输入或输出找出对应的输出与输入;建立输入、输出间函数关系时,函数关系与所选择的输入有很大的关系。支持向量机的的经验风险和置信风险与样本输入有很大的关系。光伏输出功率由众多因素影响,是多变量问题,输出功率y为函数输出,影响输出功率因素,如天气、温度、历史发电量、转换效率等为函数输入xi。样本数据中的每个数据即为支持向量机特征量,每个特征量的选择都不同程度影响着支持向量机模型的建立与求解。因此,选取不同变量作为特征量在建立模型时影响极大。通过分析各变量对光伏输出功率的影响大小,来最终确定所选变量。

(a)历史输出功率数据

在支持向量机分类及预测中,利用现有数据建立输入与输出之间的函数关系,利用该函数关系泛化到未知数据,而历史输出功率数据作为最直接、最重要的数据,在建立支持向量机光伏发电预测模型时,起到十分关键的作用。在支持向量机预测时,所基于的数据正是预测时刻之前的历史数据,因此,历史输出功率作为特征量必不可少。

(b)天气情况

在光伏发电众多影响因子中,辐射强度是光伏发电功率的重要影响因子。据研究表明,辐射强度越大,输出功率越大,太阳辐射强度对于输出功率是一个关键性的因素。辐射强度在某个地方往往与天气情况直接相关,阴雨天时太阳辐射强度小于晴天,因此,天气情况作为支持向量机特征量是十分必要的。

(c)温度信息

在光伏发电中,温度对于功率的影响也是极其巨大的,据研究表明,温度每上升1℃,晶体硅太阳能电池的最大输出功率就下降0.04%。把温度作为支持向量机预测模型的特征量理所应当,温度表现在每天的变化当中,理解为每天的时刻点,上午和下午也会有所区别。在本文中,把温度信息转化为每日的时刻点作为支持向量机样本输入的变量。

(d)其他相关影响因素

除了上述列出来的影响因素之外,影响光伏发电的因素还有很多,但本文基于模型简单,对其他影响因子不一一展开讨论,在支持向量机特征量选择中也不予考虑。

样本选取和预处理

在训练样本的选取中,有些数据虽然也是由监控系统获得,但由于系统原因导致存储的数据出现较大的波动,波动较大的数据在支持向量机模型建立过程中,带来困扰,更严重会带来错误,因此,选择将波动较大的数据舍弃。对于波动较小的数据,仅仅只是噪声成分,在支持向量机中,允许有噪声的存在。在训练样本数据预处理中,需把相关数据进行分类处理,把噪声过大(即波动变化大)的数据剔除掉,以免给模型建立造成错误。

在数据的预处理时,将初始数据归一化到某个区间内,一般为[-1,1]或者[0,1],在本文中,选择[-1,1]区间[54]。在libsvm工具箱中,利用函数svm-scale可对数据进行缩放,语法为:svm-scale[options]data_filename,其中options可设置待缩放区间,默认为[-1,1],也可通过svm-scale–l0–u1data_filename,把数据缩放到[0,1]区间。若要得到输出文件,使用语法:svm-scale[options]data_filename>resultfile。所得文件resultfile即为缩放后数据文件。

经过以上处理,所选择的数据即能作为建立模型的训练样本和测试样本。选取9点到18点每个整点的功率数据作为训练样本以及测试样本,样本中的变量包括天气情况、输出功率及时刻点,天气情况根据需要转换为数字,晴天为1,多云为2,阴天为3,雨天为4。把处理后的数据如下表所示:

数据归一化处理结果

matlab实现

在matlab中实现支持向量机的过程可以大体可归纳为以下几点:

a)训练样本选择及数据归一化

一般情况下,需要收集数据,确定训练样本,训练样本数据可能数据较大不便处理,需对样本数据进行归一化处理,归一化处理数据一般将数据映射到[0,1]或者[-1,1]区间内。

b)选择核函数

支持向量机可以处理线性分类和非线性分类。在处理线性分类时,维数较低、数据简单,无需选择核函数映射处理。在光伏发电预测模型中,影响因子众多,维数较高,属于非线性分类,需选取合适的核函数。常用的核函数有多项式核、高斯核、线性核等。

c)支持向量机建模

在matlab支持向量机建模工具中,第三方工具libsvm用途最广,libsvm提供了svm-train函数获得训练样本的模型。

svm-train函数用法为:svm-train[options]training_set_file[model_file]。其中,options可以设置svm类型、核函数等参数。model_file为保存的结果文件,即通过训练样本得到的模型,可供预测时使用。training_set_file为训练样本数据。

d)预测

建模的目的在于对测试样本预测,在libsvm工具中,用函数svm-predict预测。

svm-predict函数用法为:svm-predict[options]test_filemodel_fileoutput_file。其中,options为参数设置,test_file为待预测数据文件,model_file为所获模型文件,output_file为结果输出文件。

光伏发电预测仿真

在matlab中,利用训练样本进行支持向量机建模,matlab中使用libsvm工具,利用libsvm工具箱可根据已有数据建立支持向量机模型,其原理基于支持向量机分类和回归算法,使用基本步骤为:

在matlab中安装libsvm工具箱,并测试安装成功;

安装libsvm工具箱成功后,把训练样本和测试样本格式化为libsvm规定格式。libsvm规定格式为[target属性][第一个属性:第一个值][第二个属性:第二个值]…[第n个属性:第n个值],target属性即待预测值,在此表现为训练样本所得到的值,属性序列号为1,2,…,n;属性值即变量值。在建模过程中,选取的因变量作为变量,即属性个数。训练样本数据格式化完毕,在matlab中即能进行模型建立。

在libsvm工具箱中,使用svm-train函数获得训练样本模型,具体语句为svm-train[options]training_set_file[model_file]。其中,model_file即获得的支持向量机模型,training_set_file训练集样本文件。在matlab中输入上述语句,会得到所建模的模型,其结果为:optimizationfinished,#iter=143,nu=0.492274,obj=-231.946598,rho=0.333316,nsv=139,nbsv=129,totalnsv=139。其中143为循环的次数;nu是在由非线性转换到平面空间时选择的核函数类型,一般默认为径向基函数;obj为支持向量机模型求得的最小值,rho为判决函数的偏置项b,nsv为样本中的支持向量个数,totalnsv为支持向量总个数。

预测。上一步获得模型后即能展开预测,libsvm同样有预测函数,其格式为:svm-predict[options]test_filemodel_fileoutput_file。其中,options为参数设置,test_file为待预测数据文件,model_file为所获模型文件,output_file为结果输出文件。在输出文件output_file中,能得预测值。可以与原始数值进行比对,以查看模型的好坏,若精确度低,则可以进行参数调优。在libsvm中函数利用语句pythongrid.pyfilename进行参数选优。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1