GM(1,n)的R语言代码,有会编的给一个!!

Python019

GM(1,n)的R语言代码,有会编的给一个!!,第1张

#灰色预测模型GM(1,1)

#用法:

#假设数列1 2 3 4 5.5 6 7.5 为已知数据,你要预测后面3项,gm11([1 2 3 4 5.5 6 7.5],10) # 10=7+3

# 序列输入格式为:x<-c(1,2,3,4,5.5,6,7.5)

gm11<-function(x,k)

{

#x为行向量数据

#做一次累加

n<-length(x)

x1<-numeric(n)

for(i in 1:n)

{

x1[i]<-sum(x[1:i])

}

#x1的均值数列

z1<-numeric(n)

m<-n-1

for(j in 1:m)

{

z1[j+1]<-(0.5*x1[j+1]+0.5*x1[j])

}

Yn=t(t(x[2:n]))

B<-matrix(1,nrow=n-1,ncol=2)

B[,1]<-t(t(-z1[2:n]))

#solve(M)求M的逆

#最小二乘法求解参数列

u<-solve(t(B)%*%B)%*%t(B)%*%Yn

a<-u[1]

b<-u[2]

#预测

x2<-numeric(k)

x2[1]<-x[1]

for(i in 1:k-1)

{

x2[1+i]=(x[1]-b/a)*exp(-a*i)+b/a

}

x2=c(0,x2)

#还原数据

y=diff(x2)

y

}

#调用函数

x<-c(1,2,3,4,5.5,6,7.5)

gm11(x,10)

a、建模机理

b、 把原始数据加工成生成数;

c、 对残差(模型计算值与实际值之差)修订后,建立差分微分方程模型;

d、 基于关联度收敛的分析;

e、 gm模型所得数据须经过逆生成还原后才能用。

f、采用“五步建模(系统定性分析、因素分析、初步量化、动态量化、优化)”法,建立一种差分微分方程模型gm(1,1)预测模型。 令 x(0)=(x⑴,x⑵,…,x(n)) 作一次累加生成, k x(k)= ∑x(m) 消除数据的随机性和波动性m=1 有 x=(x⑴,x⑵,…,x(n)) =(x⑴,x⑴+x⑵,…,x(n-1)+x(n)) x可建立白化方程:dx/dt+ax=u 即gm(1,1).

该方程的解为: x(k+1)=(x⑴-u/a)exp()+u/a

其中:α称为发展灰数;μ称为内生控制灰数 1、残差模型:若用原始经济时间序列建立的GM(1,1)模型检验不合格或精度不理想时,要对建立的GM(1,1)模型进行残差修正或提高模型的预测精度。修正的方法是建立GM(1,1)的残差模型。

2、GM(n,h)模型:GM(n,h)模型是微分方程模型,可用于对描述对象作长期、连续、动态的反映。从原则上讲,某一灰色系统无论内部机制如何,只要能将该系统原始表征量表示为时间序列x(0)(t),并有 x(0)(t)>0,即可用GM模型对系统进行描述。

热门频道

首页

博客

研修院

VIP

APP

问答

下载

社区

推荐频道

活动

招聘

专题

打开CSDN APP

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

灰色预测残差修正 matlab

打开APP

人则水州

关注

灰色预测残差修正 matlab,基于残差修正灰色预测模型的长期

本发明属于电力系统负荷预测领域,特别涉及一种长期电力负荷预测技术。

背景技术:

长期电力负荷预测是电网规划的基础,准确的负荷预测对于制定发电厂新建计划,决定装机容量大小,保证电网安全和稳定运行等都有着极为重要的作用。一般来说,长期电力负荷的变化具有逐年增长的趋势,灰色预测模型能够较好地以指数形式拟合长期用电量的情况,因此灰色预测方法是预测长期电力负荷的有效方法;但长期电力负荷的变化也具有一定的随机性和波动性,电量并不是按照绝对的指数规律逐年递增,如果不对灰色预测模型进行修正和改进,则会出现较大的误差。

现如今已有大量的文献对基础灰色预测模型GM(1,1)进行了深入的研究和改进,其中包括对灰色模型迭代初值进行优化、在原始序列中加入缓冲算子,以及对原始序列进行数据变换等。虽然这些方法能够在一定程度上降低模型拟合时的误差、提高预测时的精度,但却无法改变GM(1,1)模型本身的局限性,即利用离散的方法去估计参数,而采用连续时间响应进行预测所造成的跳跃性误差。离散灰色模型DGM(1,1)有效地避免了从离散到连续模型转换所带来的误差,其具有白指数规律重合性、伸缩变换一致性等性质,但也存在模拟值只能为等比序列的问题。

在长期电力负荷预测过程中,灰色预测模型只对电量呈近似指数规律的单调增长序列才有较高的预测精度。但随着负荷变化的波动性增强,灰色模型的拟合和预测效果并不是很好,因而建立新的预测修正模型是十分必要的。

技术实现要素:

针对原有灰色模型抗干扰能力差的问题,本发明提出了一种基于残差修正灰色预测模型的长期电力负荷预测方法,将线性时变参数离散灰色模型TDGM(1,1)应用到长期电力负荷预测中,线性时变参数离散灰色模型TDGM(1,1)除了具有白指数规律重合性、伸缩变换一致性的性质外,还具有线性规律重合性的性质,从而克服了原离散灰色模型DGM(1,1)模拟值增长率恒定的问题。

本发明采用的技术方案为:基于傅里叶级数残差修正TDGM(1,1)模型的长期电力负荷预测方法,包括以下步骤:

S1、获取长期电力负荷观测序列,并将观测序列进行一次累加,得到累加生成序列;

S2、根据累加生成序列建立TDGM(1,1)预测模型,并通过最小二乘法估计TDGM(1,1)预测模型的参数;

S3、对步骤S2得到的TDGM(1,1)预测模型进行修正;

S4、根据修正后的TDGM(1,1)预测模型对长期电力负荷进行预测。

进一步地,步骤S3所述对TDGM(1,1)预测模型进行修正,具体为采用傅里叶级数残差修正方法对TDGM(1,1)预测模型进行改进,包括以下步骤:

A1、根据步骤S2得到的TDGM(1,1)预测模型获取步骤S1所述长期电力负荷观测序列的一次累加表达式和还原的模拟值;

A2、根据步骤S1的观测序列与步骤A1的模拟值获取残差序列,并将该残差序列表达为傅里叶级数的形式;

A3、根据傅里叶级数表达形式的残差去修正步骤S2得到的TDGM(1,1)模型,得到修正后的TDGM(1,1)模型。

进一步地,步骤S2具体为:

S21、根据累加生成序列建立的TDGM(1,1)预测模型为函数表达式形式;

S22、将步骤S21的函数表达式形式的TDGM(1,1)预测模型转化为矩阵-向量形式;

S23、采用最小二乘法对步骤S22所述矩阵-向量形式的参数进行估计;

S24、将步骤S23得到的估计参数带入步骤S21的函数表达式形式的TDGM(1,1)预测模型中,得到TDGM(1,1)预测模型。

进一步地,A3、根据傅里叶级数表达形式的残差去修正步骤S2得到的TDGM(1,1)模型,包括以下步骤:

B1、采用傅里叶级数表示残差序列;

B2、将傅里叶级数表示的残差序列转化为矩阵-向量形式;

B3、用最小二乘法对步骤B2矩阵-向量形式的参数向量进行估计;

B4、根据步骤B3估计的参数向量,得到修正后的残差序列;

B5、根据步骤B4得到的修正后的残差序列,得到修正后的线性离散灰色模型TDGM(1,1)。

更进一步地,步骤B3所述参数向量为傅里叶系数向量。

进一步地,所述修正后的线性离散灰色模型TDGM(1,1)表达式为:

其中,表示修正后的残差序列,k表示第k年,X(0)(1)表示第1年的用电量观测值,表示第k年用电量的模拟值或预测值,表示修正后预测模型第1年用电量的模拟值、表示修正后预测模型第k年用电量的模拟值或预测值。

本发明的有益效果:本发明的方法通过获取前n年电力负荷序列的情况下,利用线性时变参数离散灰色TDGM(1,1)模型去预测第(n+1)年的电力负荷值,再通过傅里叶级数残差修正方法去修正原有的预测模型,最终得到修正后的模拟值和预测值;本发明的方法具备以下优点:

1、将线性时变参数离散灰色模型TDGM(1,1)应用到长期电力负荷预测中,时变参数离散灰色模型TDGM(1,1)除了具有白指数规律重合性、伸缩变换一致性的等性质外,还具有线性规律重合性的性质,克服了原离散灰色模型DGM(1,1)模拟值增长率恒定的问题;

2、利用傅里叶级数残差修正的方法对原有的模型进行改进,使得修正后的模型具有更高的拟合和预测精度,提高了灰色预测模型的适应性和灵活性。

附图说明

图1为本发明方法的流程图。

图2为本发明方法所提出的模型与现有模型的预测效果对比图。

具体实施方式

为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。

本发明提出了一种基于傅里叶级数残差修正的灰色预测模型,将线性时变参数离散灰色模型TDGM(1,1)应用到长期电力负荷预测中,并利用傅里叶级数残差修正的方法对原有的模型进行改进,具体是先利用傅里叶级数法提取相应的周期信息,优化电量变化的指数率,使得修正后的模型具有更高的拟合和预测精度,提高了灰色预测模型的适应性和灵活性。

如图1所示,本发明的基于傅里叶级数残差修正TDGM(1,1)模型的长期电力负荷预测方法,包括以下步骤:

(1)、获取某一地区长期电力负荷观测序列,并将观测序列进行一次累加;

假设某一地区长期电力负荷序列的观测值X(0)为

X(0)={x(0)(1),x(0)(2),...,x(0)(n)} (1)

其中,x(0)(k)为第k年的用电量,1≤k≤n。

将电力负荷序列观测值X(0)进行一次累加,得到累加生成序列X(1):

X(1)={x(1)(1),x(1)(2),...,x(1)(n)} (2)

其中,

(2)、建立TDGM(1,1)预测模型,并通过最小二乘法估计模型的参数;

根据累加生成序列,线性时变参数离散灰色模型TDGM(1,1)可以表示为

X(1)(k+1)=(β0+β1k)X(1)(k)+β2k+β3,1≤k≤(n-1) (3)

其中,β0、β1、β2、β3表示TDGM(1,1)模型参数。

将式(3)转化成矩阵-向量形式,即

y=Bβ (4)

其中:

上标中的T表示转置;

应用最小二乘原理对参数β进行估计,得到

(3)、根据TDGM(1,1)预测模型获取序列的一次累加表达式和还原的模拟值;

取将参数代入到公式(3)中可以得到用电量一次累加序列估计值的递推公式

通过累减还原可以得到原序列的模拟值为

本发明利用线性时变参数离散灰色TDGM(1,1)模型去预测第(n+1)年的电力负荷值,能够克服现有技术中离散灰色模型DGM(1,1)模拟值增长率恒定的问题;为了进一步提高预测模型的拟合和预测精度,本发明还对TDGM(1,1)模型进行修正,采用修正后的TDGM(1,1)模型去预测第(n+1)年的电力负荷值;具体包括以下过程:

(4)、根据原始观测序列和模拟值获取残差序列,并将残差序列表达为傅里叶级数形式,进而通过傅里叶级数对残差进行修正。

原始观测序列与模拟值之间的残差序列可以表示为:

Ea={e(2),...,e(k),...,e(n)} (8)

其中,

利用傅里叶级数来表示上述残差序列,可得

其中,a0、ai和bi(1≤i≤ka)为傅里叶系数,

将公式(9)整理成矩阵-向量形式,可得

Ea≈PaCa (10)

其中,Ea=[E(2) E(3) … E(n)]T,为傅里叶系数向量,矩阵Pa可以表示为

根据最小二乘法,得到系数向量为:

(5)、通过傅里叶级数残差修正方法修正TDGM(1,1)模型,并利用修正后的模型进行负荷预测。

将参数估计值代入到公式(13)中,同时令k=2,3,...,(n+1),即可求得修正后的残差序列为

则修正后的线性离散灰色模型TDGM(1,1)可以表示为

通过式(14)可以对长期电力负荷进行预测。

下面结合实例作进一步说明。以四川省2001-2011年的用电量为例,将2001-2010年的用电量作为原始数据,2011年的用电量作为预测数据,分别利用基础灰色模型GM(1,1),离散灰色模型DGM(1,1),以及本发明提出的基于傅里叶级数残差修正的TDGM(1,1)模型进行建模预测,将模拟值和预测值进行对比,结果如表1所示。

表1三种模型用电量模拟值和预测值对比

结合表1和图2可知,本发明方法所提出的模型无论是在拟合、还是在预测方面都比原有灰色模型精度更高,证明了本发明方法所提出模型的实用性。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

相关资源:残差检验-灰色预测模型_灰色预测模型残差检验-互联网文档类资源...

点击阅读全文

打开CSDN,阅读体验更佳

灰色预测模型_面壁十年忘何图的博客_灰色预测模型的优缺点

残差检验: 其中 如果残差 ,合理! 如果残差 ,灰色预测不适合本题。 9、级比检验 为了确定数据使用GM(1,1)模型的可行性,需要在最开始进行级比检验 计算 。如果 在区间 内,说明模型可用GM(1,1)。

灰色预测案例分析_Classic_Sans的博客_灰色预测案例

后六个数据需要残差修正。 5.残差修正灰色预测 对后六个数据的残差序列作GM(1,1)模型。 >>E0=[1538.7,2400.9,2819.1,851.53,1707,712.3][E1,c1,e1,e2,a,b]=GM11(E0,0) E1 = ...

论文研究-基于动态组合残差修正的预测方法.pdf

论文研究-基于动态组合残差修正的预测方法.pdf, 本文建立了一种基于残差修正的组合预测方法,并基于该方法证明了针对多个单一的预测方法根据其在某个时间段的相对预测误差的大小选择组合选项可以进一步提高预测精度.提出了针对不同时间段可根据各种单项预测模型的相对预测误差的大小动态选取相对预测误差最小的两种模型构成组合残差来修正基本方法的预测误差,以提高预测精度.最后通过实际空调负荷预测对其进行了验证,结果表明这种动态组合残差修正的预测方法相对于基于多个固定单一预测方法的组合预测方法,可以进一步改善预测效果.

基于灰色傅里叶变换残差修正的电力负荷预测模型

提出基于灰色傅里叶变换残差修正的负荷预测模型,首先运用滑动平均法对原始数列进行改进,减弱异常值的影响;然后运用傅里叶变换对一般灰色预测模型进行改进,通过对残差进行修正,消除样本数据中偶然因素的影响。算例分析表明,与一般灰色预测模型和马尔可夫残差修正模型相比,该模型的预测精度有所提高,证明了该模型的有效性和实用性。

热门推荐 建模方法(十)-灰色预测模型GM(1,1)

灰色生成:将原始数据列中的数据,按照某种要求作数据处理称为灰色生成。对原始数据的生成就是企图从杂乱无章的现象中去发现内在规律。常用的生成方式有累加生成,累减生成,均值生成,级比生成等。 这里举个例子说明累加生成: 公式: 我满可以看看生成前和生成后的区别: 这样将非负序列转换为了递增数列。如果我们想把这个累加生成的数列变回去,使用如下方法: 对于生成的数列,我们可以设想用...

继续访问

模型 趋势预测 数学建模 matlab,数学建模+灰色预测模型+MATLAB

?(1)?{X?(1)(1),X?(1)(2),列X?(1)(n)},定义残差为 ,X?(1)(j) e(0)(j)?X(1)(j)?X?若取j=i,i+1,…,n,则与X(1)及X(1)对应的残差序列为e(0)?{e(0)(i),e(0)(i?1),为便于计算上式改写为,e(0)(n)}?e(0)(2?), e(0)...

继续访问

灰色理论 光滑度处理 matlab,基于灰色理论的电子设备寿命预测研究

基于灰色理论的电子设备寿命预测研究基于灰色理论的电子设备寿命预测研究李竞,慕晓冬,尹宗润,李毅,郑帅(第二炮兵工程学院,陕西 西安 710025)摘要:利用灰色GM(1,1)模型预测可以有效缩短电子设备寿命试验时间,传统建模方法常常会有较大误差,主要因为序列光滑度的改进及背景值的构造存在问题。本文提出一种方法,采用正弦处理建模序列,对背景值进行近似构造,最终建立相应的新陈代谢模型。实例表明改进后的...

继续访问

灰色预测改进—三角残差拟合_python