基于遗传算法优化参数的支持向量机短期负荷预测方法
吴景龙1, 2,杨淑霞1,刘承水3
(华北电力大学 工商管理学院,北京,102206;
2. 北方联合电力有限责任公司,内蒙古 呼和浩特,010020;
3. 北京城市学院 城市信息应用研究所,北京,100083)
摘 要:通过研究参数选择和支持向量机预测能力的影响,建立利用遗传算法优化参数的支持向量机负荷预测系统。通过遗传算法对支持向量机(SVM)预测模型的各项参数进行寻优预处理,找到最优的参数取值,然后,代入支持向量机SVM预测模型中,得基于遗传算法的支持向量机(GA-SVM)模型,利用此模型对短期电力负荷进行预测研究。通过实例验证,选择河北某地区2005-03-02至2007-05-22每天各个时点的数据进行分析,并且选择SVM模型与BP(Back propagation)神经网络进行对比。研究结果表明:用GA-SVM算法得到的均方根相对误差仅为2.25%,比用SVM模型和BP神经网络所得的均方根相对误差比分别低0.58%和1.93%。所提出的测试方法克服了传统参数选择方法存在的缺点(如研究者往往凭经验和有限的实验给定一组参数,而不讨论参数制定的合理性),提高了支持向量机的预测精度。
关键词:遗传算法;支持向量机;参数优化;负荷预测
中图分类号:TP18 文献标识码:A 文章编号:1672-7207(2009)01-0180-05
Parameter selection for support vectormachines based on genetic algorithms to short-term power load forecasting
WU Jing-long1, 2, YANG Shu-xia1, LIU Cheng-shui3
(School of Business Administration, North China Electric Power University, Beijing 102206, China;
2. North United Power Corporation, Hohhot 010020, China;
3. City Information-tech Application Graduate School, Beijing City University, Beijing 100083, China)
Abstract: The impact of different parameters of support vector machine (SVM) model on the power load forecasting was studied, and a short-term power load forecasting system was studied with SVM model whose parameters were optimized by genetic algorithms. The parameters for SVM model were pretreated through genetic algorithms to get the optimum parameter values, and these parameter values were used in the SVM model and genetic algorithm-support vector machine (GA-SVM) model was obtained, which was used to make short power load forecasting. Every hour’s load from 2005-03-02 to 2007-05-22 of an area in Heibei province was taken as the sample data to be analysed. The results show that the root-mean-square relative error of GA-SVM model is only 2.25%, which is less than those of SVM and back propagation (BP) model by 0.58% and 1.93%, respectively. The new model overcomes the shortcomings of parameter selection with traditional methods, for example, researchers often give a set of parameters by virtue of experience or a limited experiments, and don’t discuss the rationality, and the new model improves the forecasting accuracy.
Key words: genetic algorithm; support vector machine (SVM); parameter selection; power load forecasting
随着我国经济的快速发展,电力能源紧缺成为阻碍经济发展的主要瓶颈。由于人口增长、工业发展等,城市用电量也呈现上升趋势。为了有效分配电力能源,需要对瞬间的电力负荷进行预测。目前,人们对于短期电力负荷预测的方法有很多,主要包括灰色系统理论[1]、时间序列[2]、BP(Back propagation)神经网络[3]等。王成山等[1]利用灰色系统理论对当地的用电量进行了预测;曾思能等[2]使用时间序列中的多元回归分析对用电量进行了预测;雷绍兰等[3]则利用BP神经网络的方法进行了预测。这3种方法各有优点,均已用于电力负荷预测并取得了良好效果。传统的时间序列预报方法有AR(p)模型、MA(q)模型、ARMA(p, q)模型等,这些模型可用于线性预测,不适于非线性时间序列的建模和预报[4]。神经网络技术为非线性时间序列预报提供了有力的工具,但是,常规的神经网络存在局部最小、过学习以及隐层网络节点数选取缺乏理论指导等缺陷,削弱了它们的预测能力。
支持向量机(Support vector machine, SVM)是基于Vapnik提出的小样本统计学习理论建立的[4],着重研究在小样本条件下的统计学习规律。其基本思想是:基于最小化VC维的上界控制用于拟合函数的样本容量,即支持向量的个数。与神经网络相比[5-6],支持向量机具有严格的理论基础和数学基础,不存在局部最小问题,小样本学习也具有很强的泛化能力,对样本数量的依赖性弱。支持向量机预测的性能对于参数的选择比较敏感,目前,人们对于支持向量机参数优化的方法和研究较少,实际应用中大多凭经验确定参数或采用试算法,导致由于参数选择不准确而使最后的预测精度低于目标精度。在此,本文作者建立遗传算法优化参数的支持向量机预测模型,通过遗传优化对参数进行自动搜索和确定,用于某地区的短期电力负荷预测,以便检验本文所提出的预测方法的有效性。
1 支持向量机回归理论
对于训练样本集(xi, yi) (其中,i=1, 2, …, n; xi∈Rn,为输入变量;yi∈R,为对应的输出值),支持向量机回归理论的基本思想[7-8]是寻找一个输入空间到输出空间的非线性映射,通过这个非线性映射,将数据x映射到一个高维特征空间F,并在特征空间中用下列估计函数进行线性回归[9]:
其中:b为阈值。函数逼近问题等价于如下函数:
其中:Rreg[f]为目标函数;s为样本数量;λ为调整常数;C为错误惩罚因子;||ω||2反映f在高维空间平坦的复杂性。考虑到线性ε不敏感损失函数具有较好的稀疏性,可以得到以下损失函数:
根据统计学理论,支持向量机通过对以下目标函数极小化确定回归函数:
其中:C为用于平衡模型复杂项和训练误差项的权重参数;与为松弛因子;ε为不敏感损失函数。该问题可转化为以下对偶问题:
求解上述问题,可得到支持向量机回归函数:
2 基于遗传算法的支持向量机参数选择
统计学习理论是支持向量机的理论基础。支持向量机作为统计学习理论的一项核心内容,其应用仍较少,其原因是:人们对支持向量机算法的研究有待深入;此外,支持向量机的核函数和参数C的选择对其应用结果有较大影响。在此,本文作者将遗传算法和支持向量机进行结合,提出一种支持向量机参数自动选择的方法[10-11]。通过各个参数得出不同选择与预测精度的关系,从而找出预测精度与参数之间的关系,以降低计算的复杂性[12-13]。
2.1 错误惩罚因子
误差随错误惩罚因子C的变化关系[12, 14]如图1所示。从图1可以看出,当C较小时,误差较大,且随着C的增大而减小,为欠学习现象;当C逐步增大时,误差在一定阶段处于平稳,但当C过大时,误差随C的增大而增大,为过学习现象。
图1 误差随错误惩罚因子C的变化曲线
Fig.1 Relationship between error and penalty factor C
2.2 核参数
图2所示为误差随核参数σ的变化关系。可见,当σ较小时,训练误差小而测试误差大,为过学习现象;当σ较大时,训练误差和测试误差都很大,为欠学习现象。
图2 误差随核参数σ的变化曲线
Fig.2 Relationship between error and nuclear parameter σ
2.3 进化代数
误差与进化代数间的关系如图3所示。可见,当遗传因子进化到一定阶段时,训练误差处于持续稳定状态。所以,当选择进化代数过大时,并不会提高预测精度,反而增大运算时间。
图3 误差与进化代数变化曲线
Fig.3 Relationship between error and evolution algebra
3 基于遗传算法的支持向量机电力负荷预测
用遗传算法选择支持向量机参数的具体步骤见图4。
图4 GA-SVM运算流程图
Fig.4 Operating flow diagram of GA-SVM
a. 随机产生一组支持向量机参数,采用某编码方案对每个支持向量机参数进行编码,进而构造初始 群体。
b. 计算它的误差函数,从而确定其适应度。若误差越大,则适应度越小。
c. 选择若干适应度大的个体,直接遗传给下 一代。
d. 利用交叉、变异等遗传操作算子对当前一代群体进行处理,产生下一代群体。
e. 重复步骤b,使初始确定的一组支持向量机参数不断进化,直到训练目标满足条件为止。
4 实证分析
4.1 样本选择
利用河北省某地区电网自2005-03-02至2007-05-22每天0点至12点负荷数据库作为训练样本,2007-05-23至2007-06-01每天13点至24点的负荷数据作为测试样本。并且对该市2007-06-07至2007-06-18连续12个工作日10?00的负荷进行预测,结果见表1。
表1 预测误差分析表
Table 1 Analysis results of forecasting error
遗传算法的各控制参数设置如下:群体规模为100,最大进化代数为150,C的编码长度为9,ε的编码长度为8,σ的编码长度为13,杂交率为0.8,变异率为0.1。各参数的优化区间设为:1≤C≤10 000,0.000 1≤ε≤0.1,0.01≤σ≤500。
4.2 预测结果分析
用相对误差Er和均方根相对误差RMSRE作为最终评价指标:
BP神经网络、SVM预测模型和GA-SVM预测模型的预测误差分析比较结果见图5。根据文献[5]报道,相对误差的绝对值不大于3%,说明该模型精度较高。以预测结果相对误差不大于3%衡量,从图5可以看出,GA-SVM预测模型15个点中有12个点的相对误差的绝对值小于3%,其中最小的为0.96%,这12个点的预测误差大部分接近于0,而对于其他3个点,其相对误差中1个为3.82%,另外2个均接近3%;对于SVM预测模型,其有5个点的相对误差在3%以上,而其他10个点的相对误差除1个点低于2%之外,其他9个点的相对误差都在2%~3%之间;而传统的BP预测模型的预测结果中,只有3个点的预测相对误差绝对值在3%以内,并且这3个点的预测相对误差绝对值绝大部分接近于3%,其中最小相对误差绝对值达1.75%。由均方根相对误差可知,由GA-SVM算法得到的均方根相对误差仅为2.25%,与由SVM模型和BP神经网络所得的相比分别低0.58%和1.93%。所以,无论从预测点的预测误差相比较,还是从负荷预测精度要求的点数相比较,本文新提出的GA-SVM预测模型的预测精度均高于单纯的SVM模型和传统的BP神经网络模型的预测精度。
图5 不同模型的预测误差分析比较
Fig.5 Errors analysis with different models
5 结 论
a. 在利用支持向量机进行预测的过程中,参数的选取起关键性作用,若参数选取不合理,则往往会造成计算的欠学习和过学习现象,从而直接影响预测精度和运行时间。
b. 随着预测时间延长,基于遗传算法优化的支持向量机仍具有较高预测精度,预测精度的稳定性较高。
c. 本文提出的利用遗传算法对支持向量机关键参数进行寻优,以找到以SVM模型计算相匹配的预测精度最高的参数,在此基础上进行预测,该方法通过实证检验,获得了良好的改进效果,说明了所提出的改进方法在短期负荷预测中的有效性。为了进一步对短期预测问题进行优化和改进,需在预测方向和对预测问题的表达方法2个方面进行进一步探讨。
参考文献:
[1] 王成山, 杨 军, 张崇见. 灰色系统理论在城市年用电量预测中的应用—不同预测方法的比较[J]. 电网技术, 1999, 23(2): 15-18.
WANG Cheng-shan, YANG Jun, ZHANG Chong-jian. Application of grey system theory in city electricity demand forecasting[J]. Power System Technology, 1999, 23(2): 15-18.
[2] 曾思勇, 杨文君. 回归分析法在用电量预测中的应用[J]. 内蒙古电力技术, 2002, 17(6): 46-47.
CENG Si-yong, YANG Wen-jun. The application of the regression analysis in the forecasting of the electricity metering[J]. Inner Mongolia Electric Power, 2002, 17(6): 46-47.
[3] 雷绍兰, 孙才新, 张晓星, 等. 基于径向基神经网络和自适应神经模糊系统的电力短期负荷预测力法[J]. 中国电机工程学报, 2005, 25(22): 78-82.
LEI Shao-lan, SUN Cai-xin, ZHAXG Xiao-xing, et al. Short-term load forecasting method based on RBF neural network and ANFIS system[J]. Proceedings of the CSEE, 2005, 25(22): 78-82.
[4] Vapnik W N. 统计学习理论的本质[M]. 张学工, 译. 北京: 清华大学出版社, 2000.
Vapnik W N. The nature of statistical learning theory[M]. ZHANG Xue-gong, trans. Beijing: Tsinghua University Press, 2000.
[5] 祝海龙, 屈梁生, 张海军. 基于小波变换和支持向量机的人脸检测系统[J]. 西安交通大学学报, 2002, 36(9): 947-950.
ZHU Hai-long, QU Liang-sheng, ZHANG Hai-jun. Face detection based on wavelet transform and support vector machine[J]. Journal of Xi’an Jiaotong University, 2002, 36(9): 947-950.
[6] 冯 瑞, 宋春林. 基于支持向量机与RBF神经网络的软测量模型比较研究[J]. 上海交通大学学报, 2003, 37(11): 122-125.
FENG Rui, SONG Chun-lin. Comparative study of soft sensor models based on support vector machines and RBF neural networks[J]. Journal of Shanghai Jiaotong University, 2003, 37(11): 122-125.
[7] 邓乃扬, 田英杰. 数据挖掘中德新方法—支持向量机[M]. 北京: 科学出版社, 2004.
DENG Nai-yang, TIAN Ying-jie. A new method of data mining and Germany: Support vector machines[M]. Beijing: Science Press, 2004.
[8] Thissen U, Van Brakel R, de Weijer A P, et al. Using support vector machines for time series prediction[J]. Chemometrics and Intelligent Laboratory Systems, 2003, 69(2): 35-49.
[9] Kim K J. Financial time series forecasting using support vector machines[J]. Neurocomputing, 2003, 55(1/2): 307-319.
[10] 赵洪波. 基于遗传算法的进化支持向量机研究[J]. 绍兴文理学院学报, 2004, 24(9): 25-28.
ZHAO Hong-bo. A study on evolutionary support vector machine based on genetic algorithm[J]. Journal of Shaoxing College of Arts and Sciences, 2004, 24(9): 25-28.
[11] 张颖璐. 基于遗传算法优化支持向量机的网络流量预测[J]. 北京: 计算机科学, 2008, 35(5): 177-179.
ZHANG Ying-lu. Internet traffic forecasting based on support vector machine optimized by genetic algorithm[J]. Beijing: Computer Science, 2008, 35(5): 177-179.
[12] 李良敏, 温广瑞, 王生昌. 基于遗传算法的回归型支持向量机参数选择法[J]. 计算机工程与应用, 2008, 44(7): 23-26.
LI Liang-min, WEN Guang-rui, WANG Sheng-chang. Parameters selection of support vector regression based on genetic algorithm[J]. Computer Engineering and Applications, 2008, 44(7): 23-26.
[13] 刘 勇, 康立山, 陈毓屏. 非数值并行算法. 第2册: 遗传算法[M]. 北京: 科学出版社, 1997.
LIU Yong, KANG Li-shan, CHEN Yu-ping. Non-numerical parallel algorithms. Volume Ⅱ: Genetic algorithm[M]. Beijing: Science Press, 1997.
[14] Chapelle O, Vapnik V, Bousquet O, et al. Choosing kernel parameters for support vector machines[J]. Machine Learning, 2001, 46(1): 131-160.
收稿日期:2008-10-15;修回日期:2008-12-21
基金项目:国家自然科学基金资助项目(70671040)
通信作者:杨淑霞(1962-),女,黑龙江七台河人,教授,硕士生导师,从事电力企业管理理论、经济技术评价与决策优化研究;电话:010-82902901;E-mail: bjysx@126.com