资源描述
分 数: ___________
任课教师签字:___________
华北电力大学研究生结课作业
学 年 学 期: 2012-2013学年
课 程 名 称: 电力负荷预测
学 生 姓 名:
学 号:
提 交 时 间: 2013-4-16
基于MGM(1,1)模型的电力负荷预测
摘要:灰色预测具有需要历史样本数据少、运算快、算法简单、易于检验等优点,适合用于点力度和预测。但是灰色模型本身具有一定的局限,数据离散程度愈大,灰度也愈大,则会降低预测精度。本文采用滑动平均法对灰色预测的原始数列进行了改进,这样既增加了当年数据的权重,同时避免了数值的过度波动,能够有效的提高负荷预测的精度。
关键字:灰色预测; 负荷预测;滑动平均法; 预测精度
0 引言
在电力系统中,各种各样的数据构成了一个庞大的信息体系,其中蕴含了各种各样的信息。但是怎样从错综复杂的数据中提炼出有用的信息是电力行业管理者和决策者需要解决和研究的问题。电力负荷预测是通过前一段时间已知的数据预测未来一段时间内的数据。电力负荷预测系统是一种典型的灰色系统,而GM(1,1)模型是属于比较常用的灰色模型。GM(1,1)模型具有算法简单、速度快、易于检验等优点,而且它的灰色方程是一阶微分方程,其模型只需要负荷的原始数据就能达到预测的目的,而且在原始数据较少的情况下,对总体趋势呈增长或者下降趋势这种类型的数据,它的预测结果能够达到比较高的的精确度。但是,灰色模型本身具有一定的局限,当原始数据列光滑度较低时,其预测精度较低,对时间太长的预测效果并不理想。考虑以上缺陷,本文采用滑动平均法对灰色预测的原始数列进行了改进,这样既增加了当年数据的权重,同时避免了数值的过度波动,在电力预测的建模中能提高模型的拟合和预测效果。
1 灰色系统预测模型
灰色系统是通过部分已知信息、部分未知信息组成的系统。灰色系统理论是企业界中实用的一种预测方法。灰色系统理论把一切随机过程看作是在一定范围内变化的,与时间有关的灰色过程,将离乱的原始数据整理成规律性强的生成数列再作研究。即通过某种生成,弱化其随机性,显示其规律性。对灰色过程建立的模型称为灰色模型。灰色系统理论具有所需样本数据少,不需要计算统计特征量等优点。
灰色预测解决了连续微分方程的建模问题。它通过原始数据的整理来寻找数的规律。在建模时,首先对原始数据进行累加或累减生成,形成新的序列,对新序列建立微分方程模型和解析分析,达到预测原始序列的目的。
2 建立GM(1,1)模型
灰色系统理论是由邓聚龙教授首先在国际上提出来的,灰色理论在分析少数据的特征、了解少数据的行为表现、探讨少数据的潜在机制、综合少数据的现象基础上,揭示少数据、少信息背景下事物的变化规律。GM(1,1)模型是最常用的一种灰色模型,它是由一个只包含单变量的一阶微分方程构建成的模型,是作为电力负荷预测的一种有效的模型,是GM(1,n)模型的特例。建立GM(1,1)模型只需要一个数列。
设有原始数据序列为:,运用1-AGO生成一阶累加生成序列。其中,。由于具有指数增长规律,而一阶微分方程的解恰是指数增长形式的解,因此认为序列满足一阶线性微分方程模型:,且可改写成下式:
,由此式可以推导出以下等式:
,简记为:。
式中:,,
利用求导公式,可得:
,将求得的、带回原微分方程,解得:
(k=0,1,2,......)
3 基于滑动平均法改进的GM(1,1)模型
通过原始平均法的应用,可以削弱数据中的异常值的影响,尽可能将原始数据改造成递增变化的序列。
记原始序列为:,t=1,2,......,n。且滑动平均值计算公式如下:
=
通过上式计算,既增加了当年数据的权重,又避免了数据过度波动。对于两端点的计算可采用下式进行计算:
通过以上步骤对原始数据进行改进,其余步骤同原始GM(1,1)模型计算步骤。
4 算例分析
通过建立上述模型,本文主要采用基于滑动平均法改进的GM(1,1)模型进行电力负荷预测,并且通过Matlab软件来实现具体的负荷预测过程。本文选取了河北保定2003到2011年每月大负荷之和,通过前6组数据建立模型,并对未来三年进行负荷预测,然后与实际值进行比较,检验本模型的实际应用情况。
某地区连续9年的用电量如下表所示(单位:万千瓦)
年份
2003
2004
2005
2006
2007
2008
序号
1
2
3
4
5
6
实际值
1788.4
2027.8
2430.8
2758.8
3013.2
3243.4
利用Matlab软件进行编程,运用GM(1,1)模型和原始数据进行进行计算,计算结果如下(编程见附录1):
年份
2003
2004
2005
2006
2007
2008
2009
2010
2011
序号
1
2
3
4
5
6
7
8
9
实际值
1788.4
2027.8
2430.8
2758.8
3013.2
3243.4
3542.1
4039.3
4639.95
预测值
1915.3
2137.2
2384.9
2661.3
2969.7
3313.8
3697.8
4126.3
4604.5
绝对误差
126.9000
109.4000
-45.9000
-97.5000
-43.5000
70.4000
155.7000
87.0000
-35.4500
相对误差
6.63%
5.12%
1.92%
3.66%
1.46%
2.12%
4.21%
2.11%
0.77%
前六年样本总体预测误差值
3.5884
后三年预测值总体预测
2.4381
利用Matlab软件进行编程,运用基于滑动平均法改进的GM(1,1)模型和原始数据进行进行计算,计算结果如下(编程见附录2):
年份
2003
2004
2005
2006
2007
2008
2009
2010
2011
序号
1
2
3
4
5
6
7
8
9
实际值
1848.25
2068.7
2412.05
2740.4
3007.15
3260.525
3591.725
4065.0875
4489.7875
预测值
1.9446
2.1567
2.3920
2.6529
2.9423
3.2633
3.6192
4.0140
4.4519
绝对误差
96.3500
88.0000
-20.0500
-87.5000
-64.8500
2.7750
27.4750
-51.0875
-37.8875
相对误差
4.95%
4.08%
0.84%
3.30%
2.20%
0.09%
0.76%
1.27%
0.85%
前六年样本总体预测精度
2.6222
预测的后三年负荷值总体预测精度
0.9555
5 结论
本文通过河北保定前六年的负荷历史数据建立数学模型,并对未来三年的负荷数值进行预测,进而检验这种方法的改进。通过以上传统模型的计算结果与改进的GM(1,1)计算结果的比较可以看出,改进后的模型对未来三年的预测结果精确度更高,传统模型前六年样本的总体预测精度和预测的后三年负荷值总体预测精度分别为3.5884和2.4381,而改进后的预测精度分别为2.6222和0.9555,改进后的模型预测精度较之传统模型有了明显的提高。改进的GM(1,1)模型准确预测了最大负荷量,与实际值的绝对误差更加小,因此可以印证了MGM(1,1)模型对电力负荷预测的有效性。
参考文献:
[1] 牛东晓, 曹树华. 电力负荷预测技术及其应用 [M]. 北京: 中国电力出版社, 1998.
[2] 肖国泉,王春,张福伟.电力负荷预测 [M]. 北京: 中国电力出版社, 2001.
[3] 刘鹄,吉培荣.GM(1,1)模型的优化及其在电力系统负荷预测中的应用 [J].自动化技术与应用,2007,26(5)
[4] 牛东晓,贾建荣.改进GM(1,1)模型在电力负荷预测中的应用 [J].电力科学与工程,2008,24(4)
附录1(改进前)
>> x0 =[1788.4 2027.8 2430.8 2758.8 3013.2 3243.4]
x0 =
1.0e+003 *
1.7884 2.0278 2.4308 2.7588 3.0132 3.2434
>> x1=cumsum(x0)
x1 =
1.0e+004 *
0.1788 0.3816 0.6247 0.9006 1.2019 1.5262
>> b=[-0.5*[x1(1:5)'+x1(2:6)'] ones(5,1)]
b =
1.0e+004 *
-0.2802 0.0001
-0.5032 0.0001
-0.7626 0.0001
-1.0512 0.0001
-1.3641 0.0001
>> y=x0(2:6)'
y =
1.0e+003 *
2.0278
2.4308
2.7588
3.0132
3.2434
>> a=(b'*b)^(-1)*b'*y
a =
1.0e+003 *
-0.0001
1.8261
>> k=0:8;
>> x(k+1)=(1-exp(a(1)))*(x0(1)-a(2)/a(1))*exp(-a(1)*k)
x =
1.0e+003 *
1.9153 2.1372 2.3849 2.6613 2.9697 3.3138 3.6978 4.1263 4.6045
>> y1=[1788.4
2027.8
2430.8
2758.8
3013.2
3243.4
3542.1
4039.3
4639.95
]';
>> mape=(abs(x-y1)./y1)*100
mape =
7.0951 5.3967 1.8882 3.5353 1.4449 2.1703 4.3956 2.1540 0.7647
>> sum(mape(1:6))/6
ans =
3.5884
>> sum(mape(7:9))/3
ans =
2.4381
计算相对误差:
>> x=[ 1915.3 2137.2 2384.9 2661.3 2969.7 3313.8 3697.8 4126.3 4604.5]
x =
1.0e+003 *
1.9153 2.1372 2.3849 2.6613 2.9697 3.3138 3.6978 4.1263 4.6045
>> y1=[1788.4
2027.8
2430.8
2758.8
3013.2
3243.4
3542.1
4039.3
4639.95
]';
>> s=x-y1
s =
126.9000 109.4000 -45.9000 -97.5000 -43.5000 70.4000 155.7000 87.0000 -35.4500
>> Delta0=abs(x-y1)
Delta0 =
126.9000 109.4000 45.9000 97.5000 43.5000 70.4000 155.7000 87.0000 35.4500
>> Phi=Delta0./x
Phi =
0.0663 0.0512 0.0192 0.0366 0.0146 0.0212 0.0421 0.0211 0.0077
附录2(改进后)
>> x0 =[1848.25 2068.7 2412.05 2740.4 3007.15 3185.85]
x0 =
1.0e+003 *
1.8482 2.0687 2.4121 2.7404 3.0072 3.1858
>> x1=cumsum(x0)
x1 =
1.0e+004 *
0.1848 0.3917 0.6329 0.9069 1.2077 1.5262
>> b=[-0.5*[x1(1:5)'+x1(2:6)'] ones(5,1)]
b =
1.0e+004 *
-0.2883 0.0001
-0.5123 0.0001
-0.7699 0.0001
-1.0573 0.0001
-1.3669 0.0001
>> y=x0(2:6)'
y =
1.0e+003 *
2.0687
2.4121
2.7404
3.0072
3.1858
>> a=(b'*b)^(-1)*b'*y
a =
1.0e+003 *
-0.0001
1.8557
>> k=0:8; x(k+1)=(1-exp(a(1)))*(x0(1)-a(2)/a(1))*exp(-a(1)*k)
x =
1.0e+003 *
1.9446 2.1567 2.3920 2.6529 2.9423 3.2633 3.6192 4.0140 4.4519
>> y1=[1848.25
2068.7
2412.05
2740.4
3007.15
3260.525
3591.725
4065.0875
4489.7875
]';
>> mape=(abs(x-y1)./y1)*100
mape =
5.2139 4.2557 0.8313 3.1922 2.1563 0.0838 0.7655 1.2565 0.8446
>> sum(mape(1:6))/6
ans =
2.6222
>> sum(mape(7:9))/3
ans =
0.9555
计算相对误差:
x=[ 1944.6 2156.7 2392.0 2652.9 2942.3 3263.3 3619.2 4014.0 4451.9]
x =
1.0e+003 *
1.9446 2.1567 2.3920 2.6529 2.9423 3.2633 3.6192 4.0140 4.4519
>> y1=[1848.25
2068.7
2412.05
2740.4
3007.15
3260.525
3591.725
4065.0875
4489.7875
]';
>> s=x-y1
s =
96.3500 88.0000 -20.0500 -87.5000 -64.8500 2.7750 27.4750 -51.0875 -37.8875
>> Delta0=abs(x-y1)
Delta0 =
96.3500 88.0000 20.0500 87.5000 64.8500 2.7750 27.4750 51.0875 37.8875
>> Phi=Delta0./x
Phi =
0.0495 0.0408 0.0084 0.0330 0.0220 0.0009 0.0076 0.0127 0.0085
展开阅读全文